Crates / Compare / serde vs serde_json
Rust crates side by side · data Oct 24, 2026
serde vs serde_json
Short answerNot alternatives: add both. serde defines how types serialize; serde_json writes and reads JSON with it. By steady daily use, serde is bigger: 4,327,945 real downloads a day against 4,294,696 for serde_json (1.0x). 133,588 crates depend on serde and 113,141 on serde_json. serde last shipped 3 months ago, serde_json 13 days ago.
serde
FoundationalFoundational and steady.
133,588 crates depend on it; no release in the last 90 days, so its count is all steady use.
A generic serialization/deserialization framework
serde_json
FoundationalFoundational and steady.
113,141 crates depend on it; downloads don't spike on releases.
A JSON serialization file format
serdeserde_json · 100% = that crate's normal quiet day, so a spike to 300% is triple its usual traffic
How they relate
- serde_json is built on serde: its latest version lists serde as a dependency, so every serde_json build also downloads serde. Part of serde's count is serde_json's.
- Often used together: 7 tracked crates depend on both (reqwest, icu_provider, schemars, siphasher, tracing-subscriber, wasm-bindgen). They are not always either/or.
Every number, side by side
| Same window, same method | serde | serde_json |
|---|---|---|
| Real downloads a day | 4,327,945 | 4,294,696 |
| Crates that depend on it | 133,588 | 113,141 |
| Last release | 1.0.229, 3 months ago | 1.0.154, 13 days ago |
| Trend vs the field | -5% | -5% |
| Release-window share | 0.0% | 3.4% |
| Downloads in the window | 381,040,518 | 381,172,075 |
| All-time downloads | 1,580,389,068 | 1,484,483,384 |
| Versions published | 316 | 186 |
| License | MIT OR Apache-2.0 | MIT OR Apache-2.0 |
| MSRV | 1.56 | 1.71 |
| First published | Dec 5, 2014 | Aug 7, 2015 |
Which to pick
- Pick serde if you need the traits and
#[derive(Serialize, Deserialize)]: every format crate builds on it. - Pick serde_json if you need JSON specifically: it is the JSON format for serde.
- Bottom line: Not alternatives: add both. serde defines how types serialize; serde_json writes and reads JSON with it. (checked against each project's docs, Oct 24, 2026)
- Downloads tell you what is common, not what fits. Each crate's own description above says what it is for; when the jobs differ, pick by the job.
- When both fit, prefer the one more crates depend on (serde, 133,588 dependents): more eyes, more answered questions, and you may already have it in your tree.
- Check the release dates against your own pace: serde 3 months ago, serde_json 13 days ago.
Also in this space
Method
Real downloads = the median day with no release that day or the day before, from the crates.io API (Jul 27, 2026 to Oct 23, 2026). Raw crates.io counts include CI and bots and run high (why); the method is from our 90-day study. People search for this pair: Google suggests "serde vs serde_json".