git404hub

what is yyjson fr?

ibireme/yyjson — explained in plain English

Analysis updated 2026-07-03

3,738CAudience · developerComplexity · 3/5Setup · easy

tl;dr

A blazing-fast C JSON library that reads and writes gigabytes per second, distributed as a single header and one source file with zero dependencies and support for JSON Pointer, Patch, and JSON5.

vibe map

mindmap
  root((repo))
    What it does
      Parses JSON fast
      Writes JSON fast
      No dependencies
    Tech Stack
      C language
      ANSI C89 standard
    Features
      JSON Pointer
      JSON Patch
      Merge Patch
      JSON5 support
    Limitations
      Immutable by default
      Slow index access

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Parse large JSON API responses in a C program with minimal CPU overhead by dropping in a single header and source file

VIBE 2

Serialize C data structures to JSON at high throughput for a performance-sensitive server or embedded application

VIBE 3

Query nested JSON fields by path using JSON Pointer without writing recursive traversal code

VIBE 4

Apply incremental JSON edits using JSON Patch or Merge Patch without building a custom diff-and-merge system

what's the stack?

C

how it stacks up fr

ibireme/yyjsontimescale/pg_textsearchdekunukem/nintendo_switch_reverse_engineering
Stars3,7383,7363,734
LanguageCCC
Setup difficultyeasymoderatehard
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 30min

Single header plus source file, no build system or external dependencies, but requires a C compiler and basic knowledge of C memory management.

in plain english

yyjson is a JSON library written in C, built for speed. JSON is the data format that almost every web API and configuration file uses: text structured as keys and values. Programs that process lots of JSON (parsing incoming requests, reading config files, building API responses) need a library to convert between JSON text and in-memory data structures. yyjson is one option for C programs that care about doing this quickly. The library claims to read and write gigabytes of JSON per second on modern hardware. The README includes benchmark tables comparing it against other well-known C JSON libraries: simdjson, rapidjson, cjson, and jansson. Across tested hardware (AWS servers and Apple A14 phones), yyjson consistently shows the highest throughput for both parsing and writing. A practical reason to choose yyjson over alternatives is the integration story: the entire library is a single header file and a single C source file. There is nothing to build separately and no dependencies. The code follows the ANSI C89 standard, meaning it compiles on a wide range of platforms and compilers without special flags. Beyond basic reading and writing, yyjson supports querying and modifying JSON documents using standard specifications: JSON Pointer (addressing a specific value by path), JSON Patch (applying a set of changes), and JSON Merge Patch (merging two objects). It handles large integers and floating point numbers accurately and supports optional JSON5 features like comments and trailing commas. One noted limitation: accessing elements by index in an array or object is slower than iterating, because the internal structure is a linked list rather than an array. The parsed document is also immutable by default, modifications require creating a mutable copy first.

prompts (copy fr)

prompt 1
Show me how to parse a JSON file with yyjson in C and extract a nested string value using JSON Pointer syntax.
prompt 2
How do I create a mutable copy of a parsed yyjson document so I can modify a field and serialize it back to a string?
prompt 3
Write a C program that reads a 10MB JSON file with yyjson and measures parse time, then does the same write to compare throughput.
prompt 4
How do I apply a JSON Patch array of operations to a JSON document using the yyjson C API?
prompt 5
What is the performance difference between iterating over a yyjson array versus accessing elements by index, and why does it matter?

Frequently asked questions

what is yyjson fr?

A blazing-fast C JSON library that reads and writes gigabytes per second, distributed as a single header and one source file with zero dependencies and support for JSON Pointer, Patch, and JSON5.

What language is yyjson written in?

Mainly C. The stack also includes C.

How hard is yyjson to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is yyjson for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.