Open-source serialization software
1984 open-source libraries, tools and applications tagged serialization, ranked by how closely serialization is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1984 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| myclabs/DeepCopy A PHP library that creates deep copies (clones) of objects, recursively copying all referenced objects while handling cycles in the associa… | 87 | 8885 | stable |
| SanderMertens/flecs Flecs is a fast, lightweight Entity Component System (ECS) framework for C99 and C++17 that enables building games and simulations with mil… | 90 | 8755 | stable |
| kellyjonbrazil/jc A CLI tool and Python library that converts the output of popular command-line tools, file types, and common strings into JSON, YAML, or Py… | 92 | 8694 | active |
| dropwizard/dropwizard Dropwizard is a Java framework that bundles stable libraries (Jetty, Jersey, Jackson, Logback, Metrics, JDBI/Hibernate, Liquibase) into an … | 93 | 8583 | stable |
| mongodb/mongo-go-driver The official MongoDB driver for Go, providing a mongo client, BSON serialization, and CRUD/aggregation APIs for MongoDB 4.4+. It is activel… | 96 | 8538 | stable |
| mrousavy/react-native-mmkv A React Native library providing fast, synchronous key/value storage backed by Tencent's MMKV C++ framework via JSI and Nitro Modules. It s… | 93 | 8519 | stable |
| CoderMJLee/MJExtension MJExtension is a lightweight Objective-C framework for converting between JSON/dictionaries and model objects without requiring models to i… | 23 | 8484 | stable |
| ijl/orjson orjson is a fast, correct JSON serialization/deserialization library for Python, implemented in Rust via PyO3. It natively serializes datac… | 94 | 8256 | stable |
| google/diff-match-patch A multi-language library (C++, C#, Dart, Java, JavaScript, Lua, Objective-C, Python) implementing robust algorithms for diffing, fuzzy matc… | 10 | 8133 | stable |
| google/leveldb LevelDB is a fast embedded key-value storage library from Google providing an ordered mapping from string keys to string values. It is a C+… | 67 | 39491 | maintenance |
| Serilog Serilog is a diagnostic logging library for .NET applications with first-class support for structured event data. It captures named propert… | 84 | 8043 | stable |
| ggwave ggwave is a tiny C++ library that transmits small amounts of data over sound using an FSK-based protocol with error correction, playable an… | 64 | 7897 | active |
| arktypeio/arktype ArkType is a TypeScript runtime validation library whose syntax mirrors TypeScript's own type system, providing 1:1 static-to-runtime type … | 94 | 7871 | active |
| Symfony Polyfill A Symfony component that provides a native PHP implementation of the Mbstring extension's functions for environments where the extension is… | 91 | 7815 | stable |
| panva/jose A zero-dependency JavaScript/TypeScript library implementing JSON Object Signing and Encryption standards (JWA, JWS, JWE, JWT, JWK, JWKS). … | 96 | 7808 | stable |
| pyca/cryptography pyca/cryptography is a Python package providing cryptographic recipes and primitives, aiming to be Python's 'cryptographic standard library… | 75 | 7785 | stable |
| MapStruct MapStruct is a Java annotation processor that generates type-safe, high-performance bean mapping code at compile time, supporting beans, re… | 68 | 7698 | stable |
| google/latexify_py A Python library that compiles Python source code or AST fragments into corresponding LaTeX math expressions. It includes IPython integrati… | 10 | 7613 | active |
| Jsonnet Jsonnet is a data templating configuration language that extends JSON with functions, variables, object-orientation, and imports to elimina… | 63 | 7581 | stable |
| swagger-api/swagger-core Swagger Core is a Java library that implements the OpenAPI Specification, generating OpenAPI 3.x definitions from JAX-RS (javax and jakarta… | 96 | 7529 | stable |
| phoboslab/qoi QOI is the 'Quite OK Image Format', a fast, lossless image compression format with a single-file MIT-licensed C/C++ reference implementatio… | 66 | 7529 | stable |
| msgpack/msgpack MessagePack is an efficient binary object serialization format, like JSON but faster and more compact. This repository hosts the format spe… | 32 | 7510 | stable |
| shopspring/decimal A Go library providing arbitrary-precision fixed-point decimal numbers to avoid floating-point rounding errors. It supports arithmetic oper… | 63 | 7484 | stable |
| lcobucci/jwt A PHP library for creating, parsing, and validating JSON Web Tokens (JWT) and JSON Web Signatures (JWS) per RFC 7519. It is installed via C… | 95 | 7480 | stable |
| phar-io/manifest A PHP library for reading and serializing phar.io manifest information from PHP Archive (PHAR) files. It parses manifest.xml data such as a… | 57 | 7473 | active |
| phar-io/version A PHP library for parsing, comparing, and checking semantic version numbers and version constraints such as caret and tilde ranges. It supp… | 57 | 7462 | stable |
| typestack/class-transformer class-transformer is a TypeScript/JavaScript library that transforms plain objects into class instances and back using decorators. It suppo… | 57 | 7338 | stable |
| AlaSQL/alasql AlaSQL is a lightweight in-memory SQL database written in pure JavaScript that runs in the browser, Node.js, and mobile apps. It queries bo… | 100 | 7291 | active |
| MikeMcl/decimal.js decimal.js is an arbitrary-precision Decimal type for JavaScript, supporting integers and floats with configurable significant-digit precis… | 74 | 7258 | stable |
| marshmallow-code/marshmallow marshmallow is a lightweight, framework-agnostic Python library for converting complex objects to and from native Python datatypes using de… | 75 | 7238 | stable |
| Mediabunny Mediabunny is a pure TypeScript, zero-dependency library for reading, writing, and converting video and audio files (MP4, WebM, MP3, WAV, O… | 84 | 7226 | active |
| bblanchon/ArduinoJson ArduinoJson is a C++ JSON library designed for Arduino and embedded/IoT platforms, providing efficient JSON and MessagePack serialization a… | 87 | 7221 | stable |
| retorquere/zotero-better-bibtex Better BibTeX (BBT) is a Zotero plugin that improves bibliographic data management for LaTeX and Markdown-based writing workflows. It gener… | 95 | 7212 | active |
| trentm/node-bunyan Bunyan is a simple and fast JSON logging library for Node.js services, producing one-line JSON log records with standard fields, serializer… | 32 | 7206 | stable |
| Lance Lance is an open lakehouse data format (file format, table format, and catalog spec) for multimodal AI, implemented in Rust with Python and… | 95 | 7182 | active |
| JSON5 JSON5 is a JavaScript library implementing the JSON5 data format, a superset of JSON that adds ES5.1 features like comments, unquoted keys,… | 68 | 7174 | stable |
| ianstormtaylor/superstruct Superstruct is a JavaScript and TypeScript library for defining data schemas (structs) and validating arbitrary data against them at runtim… | 23 | 7130 | stable |
| louthy/language-ext A C# library that provides a pure functional programming framework, using and abusing C# language features to make code more declarative an… | 86 | 7083 | active |
| mobxjs/mobx-state-tree mobx-state-tree (MST) is a state container library built on MobX that adds structure, models, snapshots, and tooling to reactive state mana… | 94 | 7053 | stable |
| MikeMcl/bignumber.js A JavaScript library for arbitrary-precision decimal and non-decimal (base 2-36) arithmetic. It provides a full-featured BigNumber API with… | 76 | 7009 | stable |
| sinclairzx81/typebox TypeBox is a TypeScript library for building JSON Schema objects that also infer as static TypeScript types. It provides a unified runtime … | 77 | 6993 | stable |
| sindresorhus/query-string A JavaScript library for parsing and stringifying URL query strings, with support for arrays, nested objects, and various encoding formats.… | 94 | 6909 | stable |
| gcanti/io-ts io-ts is a TypeScript library providing a runtime type system for decoding and encoding data at IO boundaries. Codecs combine static types … | 23 | 6815 | stable |
| dinerojs/dinero.js Dinero.js is a JavaScript and TypeScript library for creating, calculating, converting, comparing, and formatting monetary values safely. I… | 88 | 6802 | stable |
| MessagePack-CSharp/MessagePack-CSharp An extremely fast MessagePack binary serializer for C# targeting .NET, .NET Core, Unity, and Xamarin. It includes built-in LZ4 compression … | 96 | 6783 | stable |
| Automerge Automerge is a JSON-like CRDT (conflict-free replicated data type) library that lets multiple users modify application state concurrently, … | 97 | 6649 | active |
| nodeca/js-yaml js-yaml is a fast YAML 1.2 (and 1.1) parser and serializer for JavaScript, passing the full YAML test suite. It converts YAML text into Jav… | 75 | 6635 | stable |
| Arrow Arrow is a Kotlin library for typed functional programming, providing data types like Option and Either, typed error handling with the Rais… | 88 | 6581 | active |
| EsotericSoftware/kryo Kryo is a fast and efficient binary object graph serialization framework for Java with an easy-to-use API. It also supports automatic deep … | 99 | 6543 | stable |
| cimbar libcimbar is an optimized C++ implementation of the cimbar (color icon matrix) high-density 2D barcode format for air-gapped data transfer … | 92 | 6491 | active |
| BLAKE3 The official Rust and C implementations of the BLAKE3 cryptographic hash function, which is faster than MD5, SHA-2, and BLAKE2 while remain… | 96 | 6468 | stable |
| ws A tiny, fast WebSocket library for Go implementing RFC 6455 with a zero-copy, low-level API plus higher-level helpers in the wsutil package… | 49 | 6468 | stable |
| joelittlejohn/jsonschema2pojo jsonschema2pojo generates Java types (POJOs) from JSON Schema or example JSON documents, annotating them for data-binding with Jackson 2.x/… | 74 | 6380 | active |
| lightbend/config Lightbend Config (formerly Typesafe Config) is a dependency-free Java library for loading application configuration in JVM languages. It su… | 88 | 6317 | stable |
| Nokogiri Nokogiri is a Ruby library for parsing, querying, modifying, and generating XML and HTML documents, built on native parsers like libxml2, l… | 92 | 6283 | stable |
| gitbrent/PptxGenJS PptxGenJS is a JavaScript/TypeScript library for programmatically generating PowerPoint (.pptx) presentations with text, tables, shapes, im… | 50 | 6272 | active |
| apache/fesod Apache Fesod (Incubating) is a high-performance, memory-efficient Java library for reading and writing spreadsheet files such as xlsx, xls,… | 81 | 6254 | active |
| auth0/java-jwt A Java library for creating and verifying JSON Web Tokens (JWT) per RFC 7519, supporting HMAC, RSA, and ECDSA signing algorithms. It is mai… | 92 | 6237 | active |
| loro-dev/loro Loro is a high-performance CRDT (Conflict-free Replicated Data Type) library that makes JSON-like application state collaborative, version-… | 95 | 6232 | active |
| Neargye/magic_enum A header-only C++17 library providing static reflection for enums, enabling conversion between enum values and strings, iteration over enum… | 78 | 6208 | stable |
| asaskevich/govalidator govalidator is a Go package providing validators and sanitizers for strings, numerics, slices, and structs, inspired by validator.js. It su… | 66 | 6202 | stable |
| nissl-lab/npoi NPOI is a .NET library, a port of Apache POI, that reads and writes Office file formats (xls, xlsx, docx) without requiring Microsoft Offic… | 89 | 6195 | active |
| vavr-io/vavr Vavr (formerly Javaslang) is an object-functional library for Java 8+ providing persistent immutable collections, pattern matching, and fun… | 78 | 6178 | stable |
| jinzhu/copier A Go library that copies values between structs, slices, and maps using reflection and matching field names. It supports struct tags to enf… | 61 | 6171 | stable |
| jbeder/yaml-cpp yaml-cpp is a C++ library for parsing and emitting YAML, conforming to the YAML 1.2 spec. It builds cross-platform via CMake as a static or… | 75 | 6152 | stable |
| google/uuid A Go package for generating and inspecting UUIDs based on RFC 9562 (formerly RFC 4122) and DCE 1.1. It represents UUIDs as 16-byte arrays a… | 23 | 6148 | stable |
| OpenAtomFoundation/pikiwidb PikiwiDB (Pika) is a Redis-compatible, persistent key-value database built on RocksDB, developed by Qihoo's infrastructure team. It speaks … | 87 | 6130 | active |
| nodeca/pako Pako is a fast JavaScript port of the zlib compression library, providing deflate, inflate, and gzip compression with binary-equivalent out… | 75 | 6117 | stable |
| cockroachdb/pebble Pebble is a LevelDB/RocksDB-inspired embedded key-value storage engine written in Go, using LSM-tree based block-based tables and RocksDB-c… | 97 | 6056 | stable |
| bitcoinjs/bitcoinjs-lib bitcoinjs-lib is a JavaScript/TypeScript Bitcoin library for Node.js and browsers, supporting transaction building, PSBTs, and address/scri… | 59 | 6001 | stable |
| graphql-rust/juniper Juniper is a GraphQL server library for Rust that enables building type-safe, fast GraphQL servers. It provides schema declaration and reso… | 85 | 5968 | active |
| JSQLParser/JSqlParser JSqlParser is a Java library that parses SQL statements into a traversable hierarchy of Java classes (an AST) that can be navigated via the… | 90 | 5966 | active |
| openpgpjs/openpgpjs OpenPGP.js is a pure JavaScript implementation of the OpenPGP protocol (RFC 9580), maintained by Proton Mail. It lets applications encrypt,… | 87 | 5966 | stable |
| lostisland/faraday Faraday is a Ruby HTTP client library that provides a common interface over multiple HTTP backends such as Net::HTTP, Typhoeus, and Patron.… | 100 | 5951 | stable |
| Kotlin/kotlinx.serialization Kotlin multiplatform serialization library consisting of a compiler plugin and runtime that generates serialization code for @Serializable … | 96 | 5951 | stable |
| samchon/typia Typia is a TypeScript transformer library that compiles pure TypeScript types into super-fast runtime validators, JSON serializers/parsers,… | 93 | 5921 | active |
| image-rs/image A Rust library providing encoding and decoding for many common image formats (PNG, JPEG, GIF, WebP, AVIF, TIFF, and more) plus basic image … | 75 | 5893 | stable |
| python-attrs/attrs attrs is a Python library that generates boilerplate dunder methods like __init__, __eq__, and __repr__ for your classes, letting you defin… | 81 | 5846 | stable |
| hashicorp/hcl HCL (HashiCorp Configuration Language) is a Go toolkit for building structured, human- and machine-friendly configuration languages, used b… | 87 | 5823 | stable |
| leethomason/tinyxml2 TinyXML-2 is a small, efficient C++ XML parser that builds a DOM from XML documents which can be read, modified, and saved. It consists of … | 68 | 5810 | stable |
| edenhill/kcat kcat (formerly kafkacat) is a lightweight, non-JVM command-line tool for producing to and consuming from Apache Kafka topics, akin to netca… | 23 | 5785 | stable |
| martinblech/xmltodict xmltodict is a Python library that converts XML documents into Python dictionaries and back, making XML manipulation feel like working with… | 83 | 5755 | stable |
| jpadilla/pyjwt PyJWT is a Python library implementing JSON Web Tokens (JWT) per RFC 7519, supporting encoding and decoding of signed tokens. It is the de … | 98 | 5719 | stable |
| dcastil/tailwind-merge A TypeScript utility function that merges Tailwind CSS class strings while resolving style conflicts, keeping the last conflicting class. I… | 93 | 5695 | stable |
| klauspost/compress A collection of optimized pure-Go compression packages including zstandard, S2 (a Snappy replacement), and drop-in replacements for gzip, z… | 100 | 5680 | active |
| buger/jsonparser A fast, zero-allocation JSON parser for Go that lets you extract fields by path without defining structs or schemas. It is significantly fa… | 95 | 5659 | active |
| serde-rs/json serde_json is the standard JSON serialization and deserialization library for Rust, built on the Serde framework. It converts between JSON … | 90 | 5638 | stable |
| sirupsen/logrus Logrus is a structured, pluggable logging library for Go, fully API-compatible with the standard library logger. It supports JSON, logfmt, … | 93 | 25756 | maintenance |
| antirez/sds SDS (Simple Dynamic Strings) is a C string library that augments libc string handling with heap-allocated, binary-safe dynamic strings usin… | 36 | 5577 | stable |
| dtolnay/thiserror A Rust library providing a convenient derive macro for implementing the standard library's std::error::Error trait on structs and enums. It… | 98 | 5573 | stable |
| nanopb/nanopb Nanopb is a small code-size Protocol Buffers implementation in plain ANSI C, designed for microcontrollers and other memory-constrained sys… | 83 | 5568 | stable |
| vercel/ms A tiny TypeScript utility for converting human-readable time strings like '2 days' to milliseconds and back. It supports many unit aliases,… | 57 | 5556 | stable |
| coder/websocket A minimal and idiomatic WebSocket library for Go, originally by nhooyr and now maintained by Coder. It offers zero-dependency, context-firs… | 73 | 5501 | active |
| fzyzcjy/flutter_rust_bridge A binding generator that seamlessly connects Flutter/Dart and Rust, generating all glue code so Rust functions can be called from Dart (and… | 98 | 5451 | stable |
| swiftlang/swift-corelibs-foundation The Swift Foundation project providing core utility classes, data structures, internationalization, and OS-independent APIs for the Swift l… | 88 | 5439 | active |
| unjs/ofetch ofetch is an improved fetch API client library for JavaScript/TypeScript that works across Node, browsers, and workers. It adds smart JSON … | 80 | 5363 | active |
| benjamine/jsondiffpatch A TypeScript library for deep diffing and patching JavaScript objects, with smart array diffing via LCS, text diffing for long strings, and… | 56 | 5347 | stable |
| google/gson Gson is a Java library for converting Java objects to JSON and back, working with arbitrary objects via reflection without requiring annota… | 86 | 24240 | maintenance |
| leizongmin/js-xss A JavaScript library for sanitizing untrusted HTML to prevent XSS attacks using a configurable whitelist of allowed tags and attributes. It… | 65 | 5308 | stable |
| fonttools/fonttools fontTools is a Python library for manipulating font files, supporting TrueType, OpenType, AFM, and partially Type 1 and Mac-specific format… | 98 | 5292 | stable |