Best of / Rust crates / serialization formats
Best of · ranked by real use · data Oct 24, 2026
Best Rust crates for serialization formats
Short answerBy real use, the top Rust crates for serialization formats are serde_json (4.3M a day), toml (3M a day), prost (1.9M a day). serde_json is our default pick: 4,294,696 real downloads a day and 113,141 dependents. Gaining fastest against the field: postcard (+11%). 6 of these 12 shipped in the last 90 days; serde_yaml, ciborium have not released in 2+ years.
Our picks
- Default pick: serde_json. The most used that still ships releases, so the most answered questions and the likeliest to already be in your tree.
- Rising: postcard. +11% on quiet days against the field over 90 days.
- Most recently released: toml (15 days ago).
The ranking
| # | Crate | Real downloads a day | Dependents | Trend vs field | Last release | What it is (its own description) |
|---|---|---|---|---|---|---|
| 1 | serde_json Foundational | 4,294,696 | 113,141 | -6% | 13d | A JSON serialization file format |
| 2 | toml Foundational | 2,960,881 | 20,777 | +0% | 15d | A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the... |
| 3 | prost Widely used | 1,867,529 | 5,082 | -10% | 5mo | A Protocol Buffers implementation for the Rust Language |
| 4 | quick-xml Widely used | 1,525,182 | 2,687 | +8% | 2mo | High performance xml reader and writer |
| 5 | serde_yaml Widely used quiet 2+ years | 1,238,004 | 7,766 | -19% | 2.6y | YAML data format for Serde |
| 6 | bincode Widely used | 828,247 | 5,913 | -5% | 10mo | A binary serialization / deserialization strategy for transforming structs into bytes and vice versa! |
| 7 | ciborium Established quiet 2+ years | 775,492 | 902 | +7% | 2.7y | serde implementation of CBOR using ciborium-basic |
| 8 | borsh Widely used | 674,146 | 1,483 | -1% | 59d | Binary Object Representation Serializer for Hashing |
| 9 | rkyv Established | 513,452 | 797 | -15% | 3mo | Zero-copy deserialization framework for Rust |
| 10 | protobuf Established | 370,395 | 602 | -16% | 37d | Protocol Buffers - Google's data interchange format |
| 11 | postcard Widely used | 353,300 | 1,569 | +11% | 15mo | A no_std + serde compatible message library for Rust |
| 12 | rmp-serde Widely used | 345,933 | 1,717 | -4% | 10mo | Serde support for MessagePack |
Rules
Candidates: crates whose own README says they do this job, picked by hand (serde_json, bincode, postcard, rkyv, prost, rmp-serde, ciborium, toml, serde_yaml, quick-xml, borsh, serde_cbor, bson, protobuf, capnp); one appears when we have 80+ days of crates.io data for it. Ranked by real downloads a day (quiet-day median, release-day spikes removed), crates.io data Oct 24, 2026. The default pick is the top crate that shipped a release in the last 2 years. Downloads measure use, not quality, and crates that other libraries pull in rank above tools you add yourself: read each description for fit.
Up next
Another best-of list: Same rules, same data.Best Rust crates for error handlingRead it next →