# Serde

22 Hacker News commenters recommended Serde and 16 criticized it, November 2025 to November 2026. It was recommended in 10 of 13 months.

**Verdict:** Rust's default library for converting data to and from formats like JSON, praised for pleasant parsing. Critics mainly cite slow compile times from heavy code generation.

## Why people recommend it

- Derive macros make serialization convenient (6 comments): "#[derive(Serialize, Deserialize)] to have a highly performant JSON parser & serializer" ([source](https://news.ycombinator.com/item?id=46628733)) "Rust has macros that make serde very convenient, which Gleam doesn't have." ([source](https://news.ycombinator.com/item?id=46258187)) "Serde also comes with a bunch of attributes and features to make it easy" ([source](https://news.ycombinator.com/item?id=47502570))
- Pleasant, top-notch JSON parsing (3 comments): "Serde-annotated structs are the best serialization/deserialization story anywhere." ([source](https://news.ycombinator.com/item?id=49645352)) "Serde makes parsing, especially JSON, extremely pleasant." ([source](https://news.ycombinator.com/item?id=48106949)) "Serialisation with serde is top-notch imo." ([source](https://news.ycombinator.com/item?id=49902338))
- Easy switching between formats (2 comments): "thanks to serde it's easy to switch between different serialization formats" ([source](https://news.ycombinator.com/item?id=46413677)) "serde works with JSON (among other formats)" ([source](https://news.ycombinator.com/item?id=47282321))
- Rust's de facto default (2 comments): "I'm working on a project now that uses YAML for configuration and am parsing it using Rust's serde crate" ([source](https://news.ycombinator.com/item?id=49476282)) "Rust's defacto default is serde" ([source](https://news.ycombinator.com/item?id=48123252))

## What people warn about

- Slow compile times from code generation (6 comments): "the Rust ecosystem makes use of intense amounts of code generation features, like serdes, which generates a huge amount of invisible code" ([source](https://news.ycombinator.com/item?id=48292465)) "bloated libraries like serde that insist on generating code which massively slows down compilation" ([source](https://news.ycombinator.com/item?id=47959681)) "I love Serde to death, but the compile times are getting absolutely absurd." ([source](https://news.ycombinator.com/item?id=46035005))
- Heavy dependency tree and bloat (5 comments): "It's mind boggling when a simple Rust app pulls in Serde and with it half a black hole worth of packages" ([source](https://news.ycombinator.com/item?id=47584091)) "No need to include tokio, serde and hundred other cargos which constantly break things." ([source](https://news.ycombinator.com/item?id=47898649)) "is near-universal but has some very vocal opponents because it's such a heavy library" ([source](https://news.ycombinator.com/item?id=46033804))
- Verbose, slow visitor-based design (3 comments): "Deserializers use a ridiculously verbose visitor pattern that's completely unnecessary in a language with move semantics" ([source](https://news.ycombinator.com/item?id=46996839)) "presents a large serialization overhead due to its visitor pattern" ([source](https://news.ycombinator.com/item?id=46912818)) "noticed the approach used by serde wasn't great for performance" ([source](https://news.ycombinator.com/item?id=47461919))
- Pre-compiled binary blobs shipped (2 comments): "I remember the outrage, when serde (i think it was) wanted to ship parts as pre-compiled binaries for build performance reasons" ([source](https://news.ycombinator.com/item?id=48059193)) "the old story of the serde maintainer shipping a binary blob just because" ([source](https://news.ycombinator.com/item?id=49730778))

## Alternatives hackers recommend

- [Protocol Buffers (protobuf)](https://hackerapproved.com/p/protocol-buffers.md): 77 recommend
- [Cap'n Proto](https://hackerapproved.com/p/cap-n-proto.md): 20 recommend
- [Protobuf](https://hackerapproved.com/p/protobuf.md): 19 recommend
- [FlatBuffers](https://hackerapproved.com/p/flatbuffers.md): 16 recommend
- [Lite³](https://hackerapproved.com/p/lite.md): 14 recommend

## Cite as

Hacker Approved, "Serde", https://hackerapproved.com/p/serde/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
