Topics / #serialization

Serialization projects on GitHub

Serialization formats and libraries for encoding structured data across services and languages.

As of , the most-starred Serialization projects on GitHub are protobuf (72.1K stars), json (50.8K stars) and flatbuffers (26.6K stars). GitHub.Locker tracks 23 Serialization repositories with 427K stars combined. The fastest-growing on October 16 was rrweb, with +7 stars in a day.

23Projects
427KStars in total
+33Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

23 projects · by stars

  1. #1 · protocolbuffers/protobuf

    protobuf

    Protocol Buffers (protobuf) is Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data, similar to XML but smaller, faster, and simpler.

    72.1K
  2. #2 · nlohmann/json

    json

    A JSON library for Modern C++ (nlohmann/json) that lets you read, create, and manipulate JSON values with intuitive, STL-like syntax directly in C++ code.

    50.8K
  3. #3 · google/flatbuffers

    flatbuffers

    FlatBuffers is a cross-platform serialization library built for maximum memory efficiency: you read serialized data directly without a parsing/unpacking step, and it keeps forwards/backwards compatibility.

    26.6K
  1. 4

    fastjson

    25.6Kalibaba/fastjson · Java

    Fastjson is a Java library that converts Java objects to JSON and parses JSON strings back into Java objects. It works with arbitrary Java objects, including ones you have no source code for.

  2. 5

    toon

    25.5Ktoon-format/toon · TypeScript

    TOON (Token-Oriented Object Notation) is a compact, human-readable way to serialize JSON data so it spends fewer tokens in LLM prompts. The repo ships a TypeScript SDK, a CLI, and benchmarks.

  3. 6

    gson

    24.2Kgoogle/gson · Java

    Gson is a Java library that serializes Java objects to JSON and deserializes JSON back into Java objects, working with arbitrary classes — even ones you don't have the source code for.

  4. 7

    grpc-go

    23.1Kgrpc/grpc-go · Go

    The Go implementation of gRPC: a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. You use it to build gRPC clients and servers in Go.

  5. 8

    SwiftyJSON

    22.9KSwiftyJSON/SwiftyJSON · Swift

    SwiftyJSON is a Swift library for dealing with JSON data: it lets you pull values out of JSON without the verbose optional-wrapping and type-checking that plain Swift requires.

  6. 9

    rrweb

    20.3Krrweb-io/rrweb · TypeScript

    rrweb ('record and replay the web') is an open-source tool for recording and replaying users' interactions on a website — DOM-level session replay you embed in your own app, in the spirit of Fullstory or LogRocket.

  7. 10

    arrow

    17.2Kapache/arrow · C++

    Apache Arrow is a universal columnar format plus a multi-language toolbox for fast data interchange and in-memory analytics — technologies that let data systems store, process, and move tabular data efficiently.

  8. 11

    store.js

    14Kmarcuswestin/store.js · JavaScript

    Store.js is a JavaScript library for key/value storage in the browser that works across all browsers. It has been around since 2010 and is used in production on tens of thousands of websites like cnn.com and dailymotion.com.

  9. 12

    go

    13.9Kjson-iterator/go · Go

    A high-performance JSON library for Go, positioned as a 100% compatible drop-in replacement for the standard encoding/json package: you swap the import and keep your code.

  10. 13

    capnproto

    13.2Kcapnproto/capnproto · C++

    Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary — or think Protocol Buffers, except faster.

  11. 14

    cJSON

    13KDaveGamble/cJSON · C

    An ultralightweight JSON parser written in plain ANSI C. The whole thing is one C file and one header, with the stated goal of being the dumbest parser that still gets your job done.

  12. 15

    Mantle

    11.2KMantle/Mantle · Objective-C

    Mantle is a model framework for Cocoa and Cocoa Touch that lets you write model objects without the usual boilerplate for equality, hashing, description, and JSON conversion.

  13. 16

    thrift

    11Kapache/thrift · C++

    Apache Thrift is a lightweight, language-independent software stack for building RPC clients and servers. It generates code from a single interface definition file so programs written in different languages can call each other's procedures and share data.

  14. 17

    serde

    10.9Kserde-rs/serde · Rust

    Serde is a Rust framework for serializing and deserializing data structures efficiently and generically.

  15. 18

    protobuf.js

    10.6Kprotobufjs/protobuf.js · JavaScript

    protobuf.js is a very fast, spec-compliant JavaScript implementation of Protocol Buffers for Node.js and browsers. It works with .proto schemas without protoc, offering runtime reflection and ahead-of-time code generation with TypeScript declarations.

  16. 19

    moshi

    10.2Ksquare/moshi · Kotlin

    Moshi is a modern JSON library for Android, Java and Kotlin that parses JSON into Java and Kotlin classes and serializes objects back to JSON.

  17. 20

    protobuf

    10.1Kgolang/protobuf · Go

    Go bindings for Google's protocol buffers: the github.com/golang/protobuf module for serializing protobuf messages in Go, plus a protoc plugin that generates Go code from .proto files.

  18. 21

    libfyaml

    346pantoniou/libfyaml · C

    libfyaml is a high-performance YAML 1.2 and JSON parser/emitter for C, built for zero-copy operation with full document-tree and event-streaming APIs, and it passes the full YAML testsuite.

  19. 22

    rataflow

    186furkankly/rataflow · Rust

    rataflow is a Rust library for building node-based, interactive diagram editors directly inside a terminal, ranging from a static diagram to a fully interactive node editor.

  20. 23

    ultrastorage

    164yangshun/ultrastorage · TypeScript

    A TypeScript library that supercharges localStorage: it serializes rich data types and adds key expiration, namespacing, subscriptions, and schema validation on top of the browser's default storage.

Often tagged together