Hacker ApprovedDepartments

Serde

Ranked 2 of 9 serialization formats by recommenders

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.

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.

38 people gave an opinion

recommend it
22
criticize it
16
approval share
58%
Each figure is one person. RecommendsCriticizes

Recommended in 10 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: not recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 22 people recommend itNeeds 10 or more, met.
  • 1.3 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 10 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Derive macros make serialization convenient

    “#[derive(Serialize, Deserialize)] to have a highly performant JSON parser & serializer”

    Comment from 15 Jan 2026 in “Is Rust faster than C?”

    “Rust has macros that make serde very convenient, which Gleam doesn't have.”

    Comment from 13 Dec 2025 in “I tried Gleam for Advent of Code”

    “Serde also comes with a bunch of attributes and features to make it easy”

    Comment from 24 Mar 2026 in “An Incoherent Rust”
  • Pleasant, top-notch JSON parsing

    “Serde-annotated structs are the best serialization/deserialization story anywhere.”

    Comment from 10 Sep 2026 in “Rust is tier-1 language at Microsoft”

    “Serde makes parsing, especially JSON, extremely pleasant.”

    Comment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

    “Serialisation with serde is top-notch imo.”

    Comment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”
  • Easy switching between formats

    “thanks to serde it's easy to switch between different serialization formats”

    Comment from 28 Dec 2025 in “Benefits of Fullstack Rust”

    “serde works with JSON (among other formats)”

    Comment from 6 Mar 2026 in “Nobody ever got fired for using a struct”
  • Rust's de facto default

    “I'm working on a project now that uses YAML for configuration and am parsing it using Rust's serde crate”

    Comment from 28 Aug 2026 in “That's a Lot of YAML”

    “Rust's defacto default is serde”

    Comment from 13 May 2026 in “Cost of enum-to-string: C++26 reflection vs. the old ways”

What people warn about

Each mark is one comment

  • Slow compile times from code generation

    “the Rust ecosystem makes use of intense amounts of code generation features, like serdes, which generates a huge amount of invisible code”

    Comment from 27 May 2026 in “Performance of Rust Language [pdf]”

    “bloated libraries like serde that insist on generating code which massively slows down compilation”

    Comment from 30 Apr 2026 in “Functional Programmers need to take a look at Zig”

    “I love Serde to death, but the compile times are getting absolutely absurd.”

    Comment from 24 Nov 2025 in “The Rust Performance Book (2020)”
  • Heavy dependency tree and bloat

    “It's mind boggling when a simple Rust app pulls in Serde and with it half a black hole worth of packages”

    Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

    “No need to include tokio, serde and hundred other cargos which constantly break things.”

    Comment from 25 Apr 2026 in “Bitwarden CLI Compromised in Ongoing Checkmarx Supply Chain”

    “is near-universal but has some very vocal opponents because it's such a heavy library”

    Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”
  • Verbose, slow visitor-based design

    “Deserializers use a ridiculously verbose visitor pattern that's completely unnecessary in a language with move semantics”

    Comment from 12 Feb 2026 in “D Programming Language”

    “presents a large serialization overhead due to its visitor pattern”

    Comment from 6 Feb 2026 in “Rust's Serde Large Overhead”

    “noticed the approach used by serde wasn't great for performance”

    Comment from 20 Mar 2026 in “We rewrote our Rust WASM Parser in TypeScript – and it got 3x Faster”
  • Pre-compiled binary blobs shipped

    “I remember the outrage, when serde (i think it was) wanted to ship parts as pre-compiled binaries for build performance reasons”

    Comment from 8 May 2026 in “GNU IFUNC is the real culprit behind CVE-2024-3094”

    “the old story of the serde maintainer shipping a binary blob just because”

    Comment from 16 Sep 2026 in “Ubuntu 26.10 completes transition to Rust-based coreutils”

Other serialization formats people recommend

The four most recommended other serialization formats, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Serde compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Protocol Buffers (protobuf)776654%1010 yrs3 owners—
SerdeThis page221658%10——
Cap'n Proto20580%7—Approved
Protobuf192543%8——
FlatBuffers16480%5—Approved
See all 9 serialization formats, ranked

What people said

40 of the 49 comments that mention it, newest first. Each links to the original comment.

“I should just use reqwest and serde to do everything with Stripe's API manually”

RecommendsComment from 21 Oct 2026 in “2026 is an exciting year for the Rust compiler (and me)”

“Serialisation with serde is top-notch imo.”

RecommendsComment from 29 Sep 2026 in “Rust for C# and .NET developers guide by Microsoft”

“Derive macros and Serde are great.”

RecommendsComment from 24 Sep 2026 in “Rails World 2026 Opening Keynote [video]”

“the old story of the serde maintainer shipping a binary blob just because”

CriticizesComment from 16 Sep 2026 in “Ubuntu 26.10 completes transition to Rust-based coreutils”

“Serde-annotated structs are the best serialization/deserialization story anywhere.”

RecommendsComment from 10 Sep 2026 in “Rust is tier-1 language at Microsoft”

“Serde, proc macros, it's all so slow.”

CriticizesComment from 5 Sep 2026 in “The Rust React Compiler is now native in Vite”

“I'm working on a project now that uses YAML for configuration and am parsing it using Rust's serde crate”

RecommendsComment from 28 Aug 2026 in “That's a Lot of YAML”

“uses a clever technique with traits to allow compile time specialisation and optimisation”

RecommendsComment from 20 Aug 2026 in “Malicious Rust Crate Arrayref Runs a Build-Time Payload”

“in Rust you derive serde and in Elixir it's just a function call away”

RecommendsComment from 3 Jun 2026 in “Elixir v1.20 released: now a gradually typed language”

“its derive macros are heavy and add some seconds of hickup”

CriticizesComment from 27 May 2026 in “Performance of Rust Language [pdf]”

“the Rust ecosystem makes use of intense amounts of code generation features, like serdes, which generates a huge amount of invisible code”

CriticizesComment from 27 May 2026 in “Performance of Rust Language [pdf]”

“Rust's defacto default is serde”

RecommendsComment from 13 May 2026 in “Cost of enum-to-string: C++26 reflection vs. the old ways”

“Serde makes parsing, especially JSON, extremely pleasant.”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“I remember the outrage, when serde (i think it was) wanted to ship parts as pre-compiled binaries for build performance reasons”

CriticizesComment from 8 May 2026 in “GNU IFUNC is the real culprit behind CVE-2024-3094”

“bloated libraries like serde that insist on generating code which massively slows down compilation”

CriticizesComment from 30 Apr 2026 in “Functional Programmers need to take a look at Zig”

“No need to include tokio, serde and hundred other cargos which constantly break things.”

CriticizesComment from 25 Apr 2026 in “Bitwarden CLI Compromised in Ongoing Checkmarx Supply Chain”

“Rust is especially vulnerable witb Serde included in everything and maintained by 1 perso”

CriticizesComment from 4 Apr 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“It's mind boggling when a simple Rust app pulls in Serde and with it half a black hole worth of packages”

CriticizesComment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“serde is not perfect but pretty decent, but IMHO the proc macros it provides need some love/a v2 rewrite”

MixedComment from 24 Mar 2026 in “An Incoherent Rust”

“Serde also comes with a bunch of attributes and features to make it easy”

RecommendsComment from 24 Mar 2026 in “An Incoherent Rust”

“I am effectively locked in to using crates that implement serde traits”

CriticizesComment from 24 Mar 2026 in “An Incoherent Rust”

“noticed the approach used by serde wasn't great for performance”

CriticizesComment from 20 Mar 2026 in “We rewrote our Rust WASM Parser in TypeScript – and it got 3x Faster”

“serde works with JSON (among other formats)”

RecommendsComment from 6 Mar 2026 in “Nobody ever got fired for using a struct”

“I usually use it with JSON.”

RecommendsComment from 6 Mar 2026 in “Nobody ever got fired for using a struct”

“The Rust ecosystem makes this almost painless with serde + custom deserializers.”

RecommendsComment from 22 Feb 2026 in “Parse, Don't Validate and Type-Driven Design in Rust”

“Deserializers use a ridiculously verbose visitor pattern that's completely unnecessary in a language with move semantics”

CriticizesComment from 12 Feb 2026 in “D Programming Language”

“serde vs crossing your fingers and hoping user input is well-formed”

RecommendsComment from 10 Feb 2026 in “Parse, Don't Validate (2019)”

“presents a large serialization overhead due to its visitor pattern”

CriticizesComment from 6 Feb 2026 in “Rust's Serde Large Overhead”

“pulling in 42M of dependencies”

CriticizesComment from 20 Jan 2026 in “Profession by Isaac Asimov”

“#[derive(Serialize, Deserialize)] to have a highly performant JSON parser & serializer”

RecommendsComment from 15 Jan 2026 in “Is Rust faster than C?”

“thanks to serde it's easy to switch between different serialization formats”

RecommendsComment from 28 Dec 2025 in “Benefits of Fullstack Rust”

“It really saves a lot of time if you don't have to use swagger or similar tools.”

RecommendsComment from 22 Dec 2025 in “Build Android apps using Rust and Iced”

“Rust has macros that make serde very convenient, which Gleam doesn't have.”

RecommendsComment from 13 Dec 2025 in “I tried Gleam for Advent of Code”

“something similar to serde in Rust, where you simply tag your type”

RecommendsComment from 13 Dec 2025 in “I tried Gleam for Advent of Code”

“allow you to validate nullability constraints at parse-time”

RecommendsComment from 1 Dec 2025 in “Why I stopped using JSON for my APIs”

“My biggest gripe with Rust is compile times with Serde and proc macros.”

CriticizesComment from 25 Nov 2025 in “APT Rust requirement raises questions”

“I love Serde to death, but the compile times are getting absolutely absurd.”

MixedComment from 24 Nov 2025 in “The Rust Performance Book (2020)”

“is near-universal but has some very vocal opponents because it's such a heavy library”

MixedComment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”

“five versions of serde in one build”

CriticizesComment from 24 Nov 2025 in “Several core problems with Rust”

“In rust, any published crate automatically has a docs.rs/cratename link.”

RecommendsComment from 14 Nov 2025 in “Rust in Android: move fast and fix things”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.