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 |
|---|---|---|---|
| toml A native Rust encoder and decoder for TOML-formatted files and streams, providing serde Serialize/Deserialize support. The repository also … | 76 | 1082 | stable |
| UAsset UAssetGUI is a desktop tool for low-level inspection and hand-editing of Unreal Engine game asset files (.uasset). It also supports command… | 79 | 1080 | active |
| jarektkaczyk/eloquence A PHP package providing extensions for Laravel's Eloquent ORM, including searchable fulltext queries across related models, self-validating… | 29 | 1080 | active |
| d99kris/rapidcsv Rapidcsv is an easy-to-use, header-only C++11 CSV parser library for reading and writing CSV files. It supports column/row headers, typed c… | 87 | 1079 | stable |
| rpgp/rpgp rPGP is a pure Rust implementation of OpenPGP (RFC9580, RFC4880, RFC6637) with a flexible low-level API, published as the `pgp` crate. It s… | 87 | 1078 | active |
| luben/zstd-jni JNI bindings for the Zstandard (Zstd) lossless compression library, usable from Java and all JVM languages including Android. It exposes st… | 77 | 1078 | stable |
| ngs-doo/dsl-json DSL-JSON is a high-performance JSON serialization library for the JVM (Java, Kotlin, Scala, Android) with compile-time databinding via anno… | 65 | 1073 | active |
| patx/pickledb pickleDB is a lightweight in-memory key-value store for Python that persists data to JSON files via or, with an optional SQLite backend for… | 65 | 1072 | active |
| Graphiti Graphiti is a Ruby framework for building JSON:API-compliant APIs on top of your models (typically ActiveRecord). It replaces hand-written … | 99 | 1070 | active |
| Lokathor/bytemuck A Rust library for safely bit-casting (transmuting) between plain data types and byte slices, with traits like Pod, NoUninit, and AnyBitPat… | 75 | 1070 | stable |
| lukeed/tinydate tinydate is a tiny (349B) JavaScript date formatting library that compiles a template pattern into a reusable render function. It supports … | 66 | 1068 | stable |
| yangfuhai/ASimpleCache ASimpleCache is a lightweight open-source caching framework for Android and Java that fits in a single Java file. It caches strings, JSON o… | 32 | 3654 | maintenance |
| salesforce/tough-cookie Tough Cookie is a Node.js library implementing RFC6265 (and RFC6265bis features like SameSite and cookie prefixes) for parsing, storing, an… | 84 | 1064 | active |
| miyuchina/mistletoe mistletoe is a fast, spec-compliant Markdown parser written in pure Python that produces an abstract syntax tree. It supports pluggable ren… | 84 | 1063 | stable |
| RGeo RGeo is a geospatial data library for Ruby implementing the OGC Simple Features Specification. It represents geometric objects like points,… | 64 | 1060 | active |
| supabase-community/copycat Copycat is a TypeScript library for generating deterministic fake values, where the same input always maps to the same fake output. It uses… | 23 | 1059 | active |
| nholthaus/units A compile-time, header-only C++23 dimensional-analysis and unit-conversion library with no dependencies. It represents physical quantities … | 94 | 1058 | active |
| AWS IoT Device SDK for Embedded C AWS's official C SDK for connecting embedded devices to AWS IoT, composed of modular libraries like coreMQTT, coreHTTP, coreJSON, and coreP… | 54 | 1058 | active |
| libxmljs/libxmljs libxmljs provides Node.js bindings to the libxml2 C library, written in TypeScript with native C++ code built via node-gyp. It enables pars… | 64 | 1057 | active |
| mathiasbynens/he A robust JavaScript library for encoding and decoding HTML entities, supporting all standardized named character references per the HTML sp… | 76 | 3611 | maintenance |
| DigDes/SoapCore SoapCore is a SOAP protocol middleware library for ASP.NET Core that lets you host SOAP endpoints in modern .NET applications. It supports … | 95 | 1056 | active |
| segmentio/encoding A Go library providing high-performance encoders and decoders for data formats, most notably a drop-in replacement for the standard library… | 80 | 1056 | active |
| securisec/chepy Chepy is a Python library and CLI tool that mirrors many capabilities of CyberChef, allowing data transformations like encoding, decoding, … | 69 | 1056 | active |
| eCAL eCAL is a high-performance, brokerless middleware for interprocess communication on a single machine or across a network, offering publish-… | 95 | 1055 | active |
| lasp-lang/partisan Partisan is a scalable, TCP-based membership system and distribution layer for the BEAM that replaces Distributed Erlang with pluggable ove… | 67 | 1055 | active |
| sclevine/yj yj is a command-line tool written in Go that converts between YAML, TOML, JSON, and HCL data formats while preserving map key order. It is … | 56 | 1055 | stable |
| python-attrs/cattrs cattrs is a Python library for converting unstructured data like dictionaries into attrs classes and dataclasses and back, with validation.… | 91 | 1054 | active |
| ThatOpen/engine_web-ifc web-ifc is a JavaScript/TypeScript library backed by a C++ WASM module for reading and writing IFC (BIM) files at native speeds. It is part… | 97 | 1053 | active |
| Audio MODEM A Python library and CLI tool that transmits files between computers by modulating data into audio signals (OFDM) played through a speaker … | 52 | 1051 | active |
| better-auth/better-fetch Better Fetch is an advanced TypeScript fetch wrapper with standard schema validation support (zod, valibot, arktype), pre-defined routes, c… | 88 | 1049 | active |
| symfony/serializer-pack A Composer metapackage (Symfony Pack) that bundles the Symfony Serializer component together with its commonly used supporting dependencies… | 51 | 1046 | stable |
| sksamuel/hoplite Hoplite is a boilerplate-free Kotlin library for loading configuration files into typesafe data classes. It supports multiple formats (YAML… | 93 | 1045 | active |
| cknow/laravel-money A Laravel package that wraps MoneyPHP to provide money and currency value objects with arithmetic, comparison, and locale-aware formatting.… | 71 | 1045 | active |
| blang/semver A Semantic Versioning (semver) library for Go that fully implements the semver 2.0.0 spec. It provides parsing, validation, comparison, ran… | 23 | 1045 | stable |
| mobilityhouse/ocpp A Python package implementing the JSON version of the Open Charge Point Protocol (OCPP), supporting OCPP 1.6, 2.0.1, and Edition 3. It prov… | 82 | 1043 | active |
| rust-cli/confy confy is a Rust library providing zero-boilerplate configuration management, loading and saving app config structs to platform-appropriate … | 59 | 1042 | stable |
| willdurand/Hateoas A PHP library for building HATEOAS REST web service representations by adding hypermedia links and embedded resources to API responses. It … | 64 | 1041 | stable |
| thephpleague/fractal A PHP library providing a presentation and transformation layer for complex data output in RESTful APIs, acting as a view layer for JSON. I… | 50 | 3545 | maintenance |
| axnsan12/drf-yasg drf-yasg is a Python library that automatically generates real Swagger/OpenAPI 2.0 specifications from Django REST Framework code. It bundl… | 94 | 3544 | maintenance |
| Contentlayer Contentlayer is a content SDK that validates and transforms Markdown, MDX, and CMS content into type-safe JSON data you can import directly… | 23 | 3539 | maintenance |
| bitwig/dawproject DAWproject is an open, vendor-agnostic file format and reference implementation for exchanging project data (audio, notes, automation, plug… | 43 | 1037 | active |
| ReneNyffenegger/cpp-base64 A small C++ library for base64 encoding and decoding. It provides simple functions to convert data to and from base64 representation. | 23 | 1037 | stable |
| Jeffail/gabs Gabs is a small Go library for parsing, creating, and editing dynamic or unknown JSON structures. It wraps map[string]interface{} hierarchi… | 32 | 3529 | maintenance |
| kawanet/msgpack-lite A fast, pure JavaScript MessagePack encoder and decoder library for Node.js and browsers, with support for streaming encode/decode and a CL… | 97 | 1035 | stable |
| jszwec/csvutil csvutil is a Go library providing fast, idiomatic, dependency-free mapping between CSV data and Go struct values via struct tags. It wraps … | 24 | 1034 | stable |
| MengRao/fmtlog fmtlog is a high-performance C++ logging library built on the fmt library, offering nanosecond-level runtime latency and asynchronous multi… | 23 | 1034 | active |
| mapbox/geobuf Geobuf is a JavaScript library that encodes GeoJSON geographic data into a compact binary format based on protocol buffers, achieving 6-8x … | 71 | 1033 | stable |
| parnurzeal/gorequest GoRequest is a simplified HTTP client library for Go, inspired by Node.js SuperAgent, offering a fluent chainable API for making requests. … | 48 | 3515 | maintenance |
| jfilter/clean-text A Python package for cleaning and normalizing messy text, especially user-generated content from the web and social media. It fixes unicode… | 74 | 1031 | active |
| rickyah/ini-parser A C# library for reading and writing INI configuration files, compatible with .NET, Mono, and Unity3d. It stores INI data in nested diction… | 23 | 1031 | stable |
| go-playground/webhooks A Go library for receiving and parsing webhook payloads from GitHub, Bitbucket, GitLab, Docker Hub, Gogs, and Azure DevOps. It parses the e… | 23 | 1031 | stable |
| CyberZHG/toolbox A web-based collection of encoding and parsing tools, including Base64/URL encoding, diff viewing, and compiler-theory utilities that conve… | 57 | 1030 | active |
| ledermann/rails-settings A Ruby gem for Rails that manages per-record settings for ActiveRecord models, storing them as serialized hashes in a dedicated database ta… | 40 | 1028 | active |
| google-deepmind/tree tree (dm-tree) is a Python library for working with nested data structures, generalizing the builtin map function to apply functions to lea… | 73 | 1026 | stable |
| causaly/zod-validation-error A TypeScript library that wraps Zod validation errors in user-friendly, readable messages while preserving original error details. It suppo… | 81 | 1025 | active |
| jose (JOSE/JWT library) A zero-dependency .NET library implementing the full JOSE suite: JWT generation/decoding, JWE encryption, JWS signatures, and JWK key handl… | 65 | 1022 | active |
| aklomp/base64 A fast Base64 stream encoder/decoder library written in C99 with SIMD acceleration (AVX2, AVX512, NEON, SSE) and optional OpenMP support. I… | 61 | 1022 | active |
| thoughtbot/Argo Argo is a functional JSON parsing library for Swift that extracts type-safe models from JSON with explicit failure states. It was inspired … | 23 | 3468 | maintenance |
| lacuna/bifurcan Bifurcan is a Java library providing high-performance mutable and immutable (functional) data structures such as lists, maps, and sets with… | 77 | 1021 | active |
| djkoloski/rust_serialization_benchmark A benchmark suite comparing Rust serialization frameworks on serialize, deserialize, borrow, size, and compression metrics, including zero-… | 76 | 1020 | active |
| keybase/saltpack Saltpack is a modern crypto messaging format built on the NaCl library, encoding encrypted, signed, and signcrypted messages as MessagePack… | 77 | 1018 | stable |
| topling/toplingdb ToplingDB is a cloud-native persistent LSM key-value store forked from RocksDB, written in C++, featuring searchable compression algorithms… | 76 | 1016 | active |
| wolkykim/qlibc qLibc is a general-purpose C/C++ library providing a consistent set of container APIs including hash tables, tree tables, linked lists, vec… | 74 | 1015 | stable |
| couchbase/moss Moss (memory-oriented sorted segments) is a pure-Go library providing a fast, ordered, persistable key-value collection. It uses a simplifi… | 70 | 1015 | active |
| Nette Framework Nette Schema is a PHP library for validating and normalizing data structures against a defined schema using a fluent Expect API. It process… | 85 | 1013 | stable |
| eyalz800/zpp_bits A lightweight, header-only C++20 binary serialization library with built-in RPC support, designed for seamless and fast serialization of ar… | 87 | 1011 | active |
| syntax-tree/unist unist is a specification for universal syntax trees that can represent abstract and concrete syntax trees for code, markup, and natural lan… | 57 | 1011 | stable |
| yuzhengyang/Fork Fork is a C# utility library (published as Azylee.Core on NuGet) that bundles common helper methods for data processing, file handling, enc… | 39 | 1011 | active |
| kennethreitz/maya Maya is a Python library that provides a human-friendly API for working with datetimes, wrapping Python's datetime with simpler parsing, fo… | 23 | 3409 | maintenance |
| stripe/stripe-java The official Stripe Java client library for accessing the Stripe API, published on Maven Central. It provides typed models, request paramet… | 98 | 1006 | stable |
| lukas-krecan/JsonUnit JsonUnit is a Java library that simplifies JSON comparison in unit tests. It provides integrations with AssertJ, Hamcrest, Kotest, and Spri… | 77 | 1006 | active |
| theapache64/retrosheet A Kotlin Multiplatform library that turns Google Spreadsheets into JSON REST endpoints, letting apps read and write data through Google She… | 76 | 1006 | active |
| nartc/mapper AutoMapper TypeScript is an object-to-object mapping library for TypeScript, inspired by .NET's AutoMapper. It maps objects by convention w… | 92 | 1005 | active |
| Tonejs/Midi A JavaScript/TypeScript library for reading and writing MIDI files, converting them into a friendly JSON format. It is designed to work sea… | 32 | 1005 | stable |
| MangoAutomation/modbus4j modbus4j is a high-performance, easy-to-use Java implementation of the Modbus protocol supporting ASCII, RTU, TCP, and UDP transports in bo… | 58 | 1003 | stable |
| pointfreeco/swift-parsing A Swift library for turning nebulous, unstructured data into well-structured data using composable parser combinators. It emphasizes compos… | 90 | 1000 | active |
| Loofah Loofah is a Ruby library built on Nokogiri for manipulating and transforming HTML/XML documents and fragments, including a framework for wr… | 87 | 1000 | stable |
| swannodette/mori Mori is a bridge library exposing ClojureScript's persistent data structures (vectors, maps, sets, lists) and supporting functional API to … | 60 | 3370 | maintenance |
| ullmark/hashids.net A small .NET (C#) library that encodes integers into short, YouTube-like reversible string IDs (e.g. 347 -> yr8) and decodes them back, wit… | 32 | 3354 | maintenance |
| pyeve/cerberus Cerberus is a lightweight, extensible data validation library for Python that validates dictionaries against user-defined schemas. It provi… | 75 | 3280 | maintenance |
| YousefED/typescript-json-schema A TypeScript library and CLI tool that compiles TypeScript sources and generates JSON Schema definitions from their types. It handles requi… | 70 | 3267 | maintenance |
| Tinder/Scarlet Scarlet is a Retrofit-inspired declarative WebSocket client library for Kotlin, Java, and Android. It lets you define WebSocket services vi… | 43 | 3256 | maintenance |
| TXQR TXQR is a Go protocol and library for transferring data via animated QR codes, using fountain codes for error correction. It includes tools… | 32 | 3253 | maintenance |
| parallel-js/parallel.js Parallel.js is a JavaScript library that simplifies parallel computing by running functions on worker threads in the browser (via Web Worke… | 66 | 3245 | maintenance |
| zerorpc zerorpc is a flexible RPC implementation for Python built on ZeroMQ and MessagePack, usable both programmatically and from the command line… | 32 | 3235 | maintenance |
| greg7mdp/parallel-hashmap A family of header-only C++ hash map/set and btree containers that serve as fast, memory-friendly drop-in replacements for std::unordered_m… | 72 | 3220 | maintenance |
| bluelinelabs/LoganSquare LoganSquare is a fast JSON parsing and serialization library for Android, built on Jackson's streaming API with compile-time annotation pro… | 32 | 3176 | maintenance |
| Baobab Baobab is a JavaScript and TypeScript persistent, optionally immutable data tree with cursor-based navigation and event-driven updates. It … | 23 | 3153 | maintenance |
| twitter/twitter-text A collection of official Twitter libraries and conformance tests for parsing and tokenizing Tweet text. It determines character counts and … | 23 | 3136 | maintenance |
| zzz40500/GsonFormat GsonFormat is a JetBrains IDE plugin (Android Studio / IntelliJ IDEA) that generates Java entity classes from a JSON string, following Gson… | 23 | 3129 | maintenance |
| saoudrizwan/Disk Disk is a Swift library for iOS that simplifies persisting Codable structs, images, and data to disk with minimal code. It handles encoding… | 32 | 3113 | maintenance |
| gon Gon is a Ruby gem for Rails that lets you pass server-side variables from controllers directly into your JavaScript with a single layout ta… | 90 | 3105 | maintenance |
| bincode-org/bincode Bincode is a compact binary serialization library for Rust that transforms structs into bytes and back. It is one of the most widely used b… | 10 | 3063 | maintenance |
| mpaland/printf A tiny, dependency-free, thread-safe printf/sprintf/(v)snprintf implementation in a single C file, designed for embedded systems where libc… | 23 | 3062 | maintenance |
| pquerna/ffjson ffjson is a Go code generator that emits static MarshalJSON and UnmarshalJSON functions for your struct types, removing the runtime reflect… | 32 | 2991 | maintenance |
| stepancheg/rust-protobuf A pure-Rust implementation of Google Protocol Buffers, including a code generator and runtime library supporting proto2 and proto3. Version… | 48 | 2969 | maintenance |
| keleshev/schema A lightweight Python library for validating data structures like dicts and lists obtained from configs, forms, JSON/YAML, or CLI parsing. I… | 59 | 2943 | maintenance |
| gwendall/way.js way.js is a lightweight, framework-agnostic JavaScript library for two-way data binding between HTML elements and in-memory data, driven by… | 32 | 2865 | maintenance |
| Hjson Hjson is a syntax extension to JSON that makes configuration files easier for humans to read and edit, adding comments, optional commas, qu… | 64 | 2859 | maintenance |
| scikit-learn-contrib/sklearn-pandas A Python library that bridges pandas DataFrames and scikit-learn by mapping DataFrame columns to sklearn transformations. Its DataFrameMapp… | 23 | 2840 | maintenance |