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 |
|---|---|---|---|
| simplejson/simplejson simple is a simple, fast, complete and extensible JSON encoder/decoder for Python 3.8+ with legacy Python 2.7 support. It is pure Python wi… | 94 | 1710 | stable |
| ekalinin/sitemap.js sitemap.js is a Node.js library and CLI for generating, parsing, validating, and updating sitemap XML files. It uses streaming to efficient… | 87 | 1710 | stable |
| avoidwork/filesize.js filesize.js is a lightweight, zero-dependency JavaScript library that converts byte counts into human-readable strings. It supports SI, IEC… | 76 | 1710 | stable |
| clue/stream-filter A lightweight PHP library providing a simple, modern API for PHP's native stream filtering system. It lets developers attach callback-based… | 60 | 1704 | stable |
| optics-dev/Monocle Monocle is a Scala optics library providing a simple yet powerful API to access and transform immutable data using lenses, prisms, traversa… | 66 | 1699 | active |
| qifi-dev/qrs Qrs is a TypeScript tool that streams arbitrary data through a series of QR codes, enabling file transfer without a network connection. It … | 66 | 1697 | active |
| eemeli/yaml A comprehensive YAML parser and stringifier library for JavaScript and TypeScript, supporting YAML 1.1 and 1.2 with full comment and blank-… | 92 | 1693 | stable |
| mathiasbynens/punycode.js Punycode.js is a robust JavaScript library for converting between Punycode (ASCII) and Unicode strings, fully compliant with RFC 3492 and R… | 23 | 1691 | stable |
| Eventsourcing A Python library for implementing the event sourcing pattern, storing all application state changes as a sequence of immutable events. It p… | 73 | 1686 | active |
| uriyyo/fastapi-pagination A Python library that adds pagination support to FastAPI applications. It provides utility functions and data models (like Page) to paginat… | 97 | 1682 | active |
| explosion/sense2vec A Python library implementing sense2vec, contextually-keyed word vectors that learn embeddings for multi-word phrases and part-of-speech-di… | 52 | 1681 | stable |
| looplab/eventhorizon Event Horizon is a CQRS and Event Sourcing toolkit for Go, providing command handling, event stores, event buses, and read model support. I… | 79 | 1680 | active |
| michalmuskala/jason Jason is a fast, standards-compliant JSON parser and generator written in pure Elixir. It is the default JSON codec for many Elixir ecosyst… | 55 | 1679 | stable |
| medialize/URI.js URI.js is a JavaScript library for parsing, manipulating, and normalizing URLs with a fluent, jQuery-style chaining API. It supports query … | 23 | 6223 | maintenance |
| bazaarvoice/jolt Jolt is a Java library for JSON-to-JSON transformation where the transform specification is itself a JSON document. It provides chained sto… | 66 | 1673 | stable |
| bufbuild/protobuf-es Protobuf-ES is a Protocol Buffers runtime and protoc plugin for JavaScript and TypeScript, generating idiomatic plain-object messages with … | 98 | 1670 | active |
| beevik/etree A lightweight, pure Go library that represents XML documents as element trees, inspired by Python's ElementTree. It supports parsing, creat… | 93 | 1670 | stable |
| KhronosGroup/glTF-Blender-IO The official Khronos Group glTF 2.0 importer and exporter addon for Blender, written in Python. It enables round-trip conversion of 3D scen… | 68 | 1664 | active |
| KilledByAPixel/JSONCrush A tiny JavaScript library (under 2KB, zero dependencies) that compresses JSON strings into URL-friendly strings using the JSCrush algorithm… | 49 | 1663 | stable |
| js-joda/js-joda js-joda is an immutable date and time library for JavaScript, ported from the Java threeten-backport (JSR-310 / java.time). It provides a d… | 67 | 1662 | stable |
| sanity-io/litter Litter is a Go library that pretty-prints data structures as syntactically valid Go literals for debugging and testing. It produces consist… | 65 | 1653 | stable |
| message-db/message-db Message DB is a fully-featured event store and message store implemented in PostgreSQL, supporting Pub/Sub, event sourcing, streams, catego… | 23 | 1653 | active |
| mido/mido Mido is a Python library for working with MIDI messages, ports, and files. It provides convenient message objects, a reusable MIDI stream p… | 66 | 1651 | stable |
| funkia/list List is a TypeScript library providing a fast immutable list data structure implemented with relaxed radix balanced trees. It offers a comp… | 23 | 1649 | stable |
| dengyin2000/dynamic_widget A Flutter library for backend-driven UI that builds widget trees from JSON strings closely mirroring Flutter widget code. It lets apps upda… | 32 | 1648 | active |
| Cysharp/Ulid A fast C# implementation of ULID (Universally Unique Lexicographically Sortable Identifier) for .NET and Unity. It generates sortable rando… | 78 | 1647 | active |
| liaochong/myexcel MyExcel is a Java toolkit for importing, exporting, and encrypting Excel files (.xls, .xlsx, .csv) built on top of Apache POI. It uses HTML… | 23 | 1647 | active |
| voxpupuli/json-schema A Ruby library for validating JSON data against JSON Schema documents, supporting Draft 6 with legacy support for Drafts 1-4. It provides s… | 76 | 1645 | active |
| storj/drpc drpc is a lightweight, drop-in replacement for gRPC written in Go, with a small dependency footprint and a fast custom wire format. It is t… | 76 | 1632 | active |
| crdoconnor/strictyaml StrictYAML is a type-safe YAML parser and validator for Python that parses a restricted, safer subset of the YAML spec, avoiding pitfalls l… | 39 | 1632 | stable |
| LibreDWG/libredwg LibreDWG is a free GNU C library for reading and writing AutoCAD DWG files, with a decoder supporting all DWG versions and a writer for mos… | 85 | 1631 | active |
| neitanod/forceutf8 A PHP library providing static Encoding class methods (toUTF8, fixUTF8, toLatin1) that convert strings of unknown or mixed encoding—Latin1,… | 23 | 1631 | active |
| asteasolutions/zod-to-openapi A TypeScript library that generates OpenAPI (Swagger) documentation directly from Zod schemas, eliminating duplication between validation c… | 94 | 1629 | active |
| Tonbo Tonbo is an embedded database library written in Rust for serverless and edge runtimes, storing data as Parquet files on S3 with coordinati… | 60 | 1624 | active |
| Firmata Firmata is a serial communication protocol for controlling microcontrollers from software on a host computer, and this repository is the Fi… | 23 | 1621 | stable |
| google/json_serializable.dart A Dart package that generates JSON serialization and deserialization code for Dart classes via annotations like @JsonSerializable and @Json… | 95 | 1619 | active |
| dtao/lazy.js Lazy.js is a functional utility library for JavaScript, similar to Underscore and Lodash, but built on a lazy evaluation engine that avoids… | 32 | 5963 | maintenance |
| NEventStore/NEventStore NEventStore is a persistence-agnostic event store library for .NET that abstracts different storage implementations behind a common API. It… | 87 | 1615 | active |
| microsoft/OpenAPI.NET OpenAPI.NET is a .NET SDK providing an object model for OpenAPI documents, with readers and writers for OpenAPI JSON and YAML in V2 and V3 … | 96 | 1611 | active |
| sporkmonger/addressable Addressable is a Ruby library providing an alternative, more flexible URI implementation than Ruby's standard library, with heuristic parsi… | 69 | 1608 | stable |
| gigobyte/purify Purify is a functional programming library for TypeScript providing algebraic data types like Maybe, Either, and Result, plus runtime type … | 57 | 1608 | active |
| fabiocaccamo/python-benedict python-benedict is a Python dict subclass that adds keylist/keypath/keyattr access and normalized I/O for many formats (, yaml, toml, xml, … | 95 | 1606 | stable |
| mongomapper/mongomapper MongoMapper is a Ruby object-document mapper (ODM) for MongoDB, providing Document and EmbeddedDocument models with keys, associations, val… | 55 | 1598 | active |
| robbiehanson/XMPPFramework XMPPFramework is an Objective-C framework implementing the XMPP standard (RFC-3920) for Mac and iOS, with support for popular XEP extension… | 23 | 5873 | maintenance |
| jab/bidict bidict is a Python library providing efficient, type-hinted bidirectional mapping data structures where both keys and values can be looked … | 96 | 1587 | stable |
| bodil/im-rs im-rs is a Rust library providing fast immutable (persistent) collection datatypes such as vectors, hash maps, and hash sets with structura… | 10 | 1585 | stable |
| RicoSuter/NJsonSchema NJsonSchema is a .NET library for reading, generating, and validating JSON Schema draft v4+ documents. It can generate schemas from .NET cl… | 83 | 1582 | stable |
| Protovalidate Protovalidate is a semantic validation library for Protocol Buffers that lets developers define validation rules (standard constraints plus… | 91 | 1576 | active |
| javers/javers JaVers is a lightweight Java library for auditing changes in domain objects, providing an object diff engine and an audit log with commit m… | 67 | 1576 | stable |
| servo/rust-url rust-url is the standard URL parsing and manipulation library for Rust, implementing the WHATWG URL Standard. It provides the `Url` type wi… | 73 | 1575 | stable |
| quixio/quix-streams Quix Streams is a pure Python framework for building real-time data pipelines and event-driven applications on Apache Kafka using a Streami… | 96 | 1574 | active |
| cweiske/jsonmapper A PHP library that maps nested JSON structures onto PHP model classes using type declarations and docblock annotations. It converts JSON AP… | 69 | 1574 | stable |
| tafia/quick-xml quick-xml is a high-performance XML pull reader and writer library for Rust, featuring near zero-copy parsing with Cow types and buffer reu… | 89 | 1570 | stable |
| boombuler/barcode A Go library for generating many barcode formats including QR Code, Code 128, EAN, DataMatrix, Aztec, and PDF 417. It encodes data into bar… | 68 | 1563 | stable |
| Substrait Substrait is a cross-language specification and tooling for describing data compute operations as standardized relational algebra query pla… | 97 | 1562 | active |
| dakrone/cheshire Cheshire is a fast Clojure JSON encoding/decoding library built on Jackson, supporting extended types like Date, UUID, Set, and Symbol, plu… | 71 | 1557 | stable |
| msgpack/msgpack-javascript A TypeScript/JavaScript implementation of MessagePack, a compact binary serialization format, serving as the reference implementation for J… | 77 | 1556 | stable |
| Rails Event Store Rails Event Store (RES) is a Ruby library for publishing, consuming, storing, and retrieving domain events, built on Active Record. It serv… | 95 | 1555 | stable |
| vishnubob/python-midi A Python library for reading, writing, and manipulating MIDI files and event streams. It provides high-level object-oriented abstractions f… | 61 | 1554 | active |
| dtolnay/typetag A Rust crate providing macros to make Serde trait objects serializable and deserializable. It lets you serialize &dyn Trait and round-trip … | 81 | 1553 | stable |
| tilo/smarter_csv SmarterCSV is a Ruby gem for fast, robust CSV parsing and generation, with optional C acceleration and auto-detection of messy real-world C… | 75 | 1552 | active |
| java-diff-utils/java-diff-utils An open-source Java library for performing diff operations between texts or data: computing diffs, applying patches, generating and parsing… | 91 | 1549 | active |
| LaravelDaily/laravel-invoices A Laravel PHP package for generating PDF invoice files from customizable parameters like items, taxes, discounts, and shipping. Invoices ca… | 61 | 1549 | active |
| rxi/sj.h sj.h is a tiny ~150-line C99 JSON parsing library distributed as a single header. It performs zero-allocation, streaming-style parsing and … | 34 | 1549 | stable |
| django-phonenumber-field/django-phonenumber-field A Django library providing model and form fields for storing, validating, and formatting international phone numbers, built on top of pytho… | 86 | 1547 | stable |
| google/tensorstore TensorStore is a C++ and Python library for reading and writing large multi-dimensional arrays with a uniform API across formats like zarr,… | 77 | 1547 | active |
| combust/mleap MLeap is a serialization format (Bundle.ML) and portable execution engine for machine learning pipelines, implemented in Scala with Python … | 98 | 1546 | active |
| kikito/inspect.lua A single-file Lua library that transforms any Lua value into a human-readable string representation, with special support for rendering tab… | 56 | 1544 | stable |
| rust-crdt/rust-crdt A Rust library providing a family of well-tested, serializable CRDTs (Conflict-free Replicated Data Types) supporting both state-based (CvR… | 23 | 1544 | active |
| nfephp-org/sped-nfe A PHP library for generating, signing, and transmitting Brazilian electronic fiscal documents (NF-e model 55 and NFC-e model 65) to SEFAZ a… | 65 | 1542 | active |
| colin-kiegel/rust-derive-builder A Rust crate providing a derive macro that automatically generates builder-pattern code for structs. It creates fluent setter methods and a… | 46 | 1542 | active |
| jamesmunns/postcard Postcard is a no_std-focused serializer and deserializer for Serde in Rust, designed for embedded and other constrained environments. It pr… | 77 | 1541 | stable |
| AccessKit/accesskit AccessKit is a Rust-based accessibility infrastructure library that provides a cross-platform, cross-language abstraction over platform acc… | 94 | 1540 | active |
| pureconfig/pureconfig PureConfig is a Scala library that loads configuration files (HOCON, Java .properties, or JSON via Typesafe Config) into native Scala class… | 77 | 1540 | stable |
| fosslife/devtools-x DevTools-X is a cross-platform, offline-first desktop application bundling 41+ developer utilities (JSON formatting, Base64, JWT decoding, … | 68 | 1538 | active |
| EsotericSoftware/reflectasm ReflectASM is a small Java library providing high-performance reflection through bytecode code generation. It generates accessor classes fo… | 30 | 1538 | stable |
| jshttp/cookie A small Node.js library for parsing and serializing HTTP Cookie and Set-Cookie headers. It provides functions to convert cookie header stri… | 78 | 1536 | stable |
| Valinor Valinor is a dependency-free PHP library that maps raw inputs like JSON or arrays into strongly-typed PHP objects, validating values and pr… | 94 | 1531 | active |
| rbren/rss-parser rss-parser is a lightweight JavaScript library that converts RSS and Atom XML feeds into JavaScript objects. It works in both Node.js and t… | 73 | 1528 | active |
| tidymodels/broom broom is an R package that converts statistical model objects from 100+ modeling packages into tidy tibbles. It provides three verbs—tidy()… | 76 | 1524 | active |
| antfu/drauu Drauu is a headless, SVG-based drawing board library for the browser, built for Slidev presentations. It supports stylus/touch pressure, mu… | 53 | 1523 | stable |
| georgysavva/scany scany is a Go library that scans rows from a database into Go structs, maps, and primitive types with a single function call, eliminating m… | 36 | 1521 | stable |
| mike-engel/jwt-cli jwt-cli is a fast command-line tool written in Rust for decoding and encoding JSON Web Tokens (JWTs). It supports custom headers, arbitrary… | 68 | 1520 | active |
| eulerto/wal2json wal2json is a PostgreSQL logical decoding output plugin written in C that converts write-ahead log changes (INSERT, UPDATE, DELETE) into JS… | 87 | 1517 | stable |
| cnwhy/nzh A JavaScript library for converting between Arabic numerals and Chinese numerals, including uppercase/lowercase forms and RMB-style monetar… | 32 | 1517 | stable |
| mongodb/mongo-rust-driver The officially supported MongoDB driver for Rust, providing a fully async API built on tokio plus an optional sync API for interacting with… | 91 | 1516 | stable |
| OpenDDS/OpenDDS OpenDDS is an open-source C++ implementation of the OMG Data Distribution Service (DDS) specification for real-time publish-subscribe data … | 81 | 1515 | active |
| gorilla/schema gorilla/schema is a Go library that converts structs to and from HTTP form values, with support for struct tags, custom types, and default … | 23 | 1515 | stable |
| bits-and-blooms/bitset A Go library implementing bitsets, providing an efficient mapping between non-negative integers and boolean values. It supports individual … | 98 | 1513 | stable |
| qicosmos/ormpp ormpp is a modern C++17 header-only ORM library that provides a unified API for MySQL, PostgreSQL, and SQLite. It uses compile-time reflect… | 81 | 1513 | active |
| anvaka/ngraph ngraph is a collection of JavaScript modules for graph data structures, algorithms, and rendering. It includes pathfinding, community detec… | 68 | 1510 | active |
| spatie/schema-org A PHP library providing a fluent builder for all Schema.org types and their properties, generating JSON-LD (ld+json) structured data markup… | 91 | 1509 | active |
| Tessil/robin-map robin-map is a header-only C++ library providing fast hash map and hash set containers (tsl::robin_map, tsl::robin_set, plus prime-growth v… | 61 | 1508 | stable |
| softwaremill/sttp sttp is a popular open-source HTTP client library for Scala with a clean, type-safe request description API. It supports synchronous, Futur… | 100 | 1507 | active |
| cryptii/cryptii Cryptii is a web app and framework for modular conversion, encoding, and encryption, performed entirely in the browser with no server inter… | 23 | 1505 | active |
| NateTheGreatt/bitECS bitECS is a flexible, minimal, data-oriented Entity Component System (ECS) library for JavaScript and TypeScript, focused on high performan… | 73 | 1504 | active |
| eloqdata/eloqkv EloqKV is a high-performance distributed key-value database with a Redis/ValKey-compatible API, built in C++ on a transactional data substr… | 85 | 1503 | active |
| mafintosh/csv-parser A fast streaming CSV parser for Node.js that converts CSV into JSON objects, compatible with the csv-spectrum acid test suite. It can also … | 56 | 1502 | stable |
| GEOSwift/GEOSwift A type-safe Swift library wrapping the OSGeo GEOS library for handling geometric objects (points, linestrings, polygons) and topological op… | 83 | 1501 | active |
| wemake-services/django-modern-rest django-modern-rest is a modern REST API framework for Django with full typing and async support. It provides a typed, async-first alternati… | 83 | 1495 | active |