Protobuf
Ranked 4 of 9 serialization formats by recommenders
Schema-based binary format with good tooling and forward and backward compatibility across many languages. Critics most often flag its silent default values.
Schema-based binary format with good tooling and forward and backward compatibility across many languages. Critics most often flag its silent default values.
44 people gave an opinion
- recommend it
- 19
- criticize it
- 25
- approval share
- 43%
Recommended in 8 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: not recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 19 people recommend itNeeds 10 or more, met.
- 0.7 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 8 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
Compact, fast binary encoding
“CBOR or Protobuf or any dozen other binary serializations that would be far more efficient.”
Comment from 19 Mar 2026 in “RX – a new random-access JSON alternative” “protobuf and its ilk are more space efficient and very widely supported”
Comment from 2 Mar 2026 in “Why does C have the best file API” “protobuf is faster at both encoding and decoding than json”
Comment from 16 Aug 2026 in “Protobuf has LSP support. You're welcome” - Comment from 9 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction”
- Comment from 23 Jan 2026 in “Replacing Protobuf with Rust to go 5 times faster”
Schema evolution and compatibility
“Protobuf's unknown field support is useful if you want to forward a message in its entirety”
Comment from 15 Feb 2026 in “gRPC: From service definition to wire format” “Protobuf in conjunction with gRPC can play wisely with the backwards compatibility feature”
Comment from 1 Dec 2025 in “Why I stopped using JSON for my APIs” “protobuf solved serialization with schema evolution back/forward compatibility.”
Comment from 9 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” Better tooling and battle-tested
“Protobuf ultimately gets the nod because it has better tooling”
Comment from 23 Jan 2026 in “Replacing Protobuf with Rust to go 5 times faster” “battle hardened tooling that comes with it”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction”
What people warn about
Each mark is one comment
Silent defaults and no required fields
“Protobuf's deliberate lack of support for required fields means that either you kick that down to every callsite”
Comment from 1 Dec 2025 in “Why I stopped using JSON for my APIs” “Protobuf's "silently default everything" model has caused mass production incidents at real companies.”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “Defensive is error-prone, and verbose, harder to reason about, and still not guaranteed.”
Comment from 2 Dec 2025 in “Why I stopped using JSON for my APIs” Poor fit outside strict-schema use cases
“is missing support for a tons of use cases where JSON thrives due to the strict schema requirement”
Comment from 1 Dec 2025 in “Why I stopped using JSON for my APIs” “why should I use protobuf, when I just need to share structs and arrays in memory”
Comment from 23 Jan 2026 in “Replacing Protobuf with Rust to go 5 times faster” Language design limitations, need redesign
“some language designs (around enum/oneof, the fact that adding fields forces you to update all constructor code sites)”
Comment from 8 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction” “has many limitations which I think can be overcome by redesigning the language from scratch”
Comment from 9 Mar 2026 in “Show HN: Skir – A schema language I built after 15 years of Protobuf friction”
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.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Protocol Buffers (protobuf) | 77 | 66 | 54% | 10 | 10 yrs3 owners | — |
| Serde | 22 | 16 | 58% | 10 | — | — |
| Cap'n Proto | 20 | 5 | 80% | 7 | — | Approved |
| ProtobufThis page | 19 | 25 | 43% | 8 | — | — |
| FlatBuffers | 16 | 4 | 80% | 5 | — | Approved |
What people said
40 of the 51 comments that mention it, newest first. Each links to the original comment.
“protobuf starts having a bunch of weird limitations”
“The promise of Protobuf/gRPC for seamless communication across tech stacks just wasn't delivered.”
“protobuf is faster at both encoding and decoding than json”
“the C# library was missing a couple of fairly cheap optimisations that were present in the C++ version”
“If you go with protobuf, you're picking 2 out of 3: simplicity, fast, idiomatic.”
“Protobuf does it very well.”
“I know protobuf code is extremely high quality, but I really can't stand the c-style naming conventions.”
“CBOR or Protobuf or any dozen other binary serializations that would be far more efficient.”
“In Protobuf I can write a code generator that loads the compiled PB descriptions and then generates whatever it needs.”
“horrible Protobuf-to-Python bidding, it was a big frustration”
“Protobuf bindings for Python were made probably after taking a lot of hallucinogenic drugs”
“has many limitations which I think can be overcome by redesigning the language from scratch”
“a compact tag-based binary format with varint encoding”
“protobuf solved serialization with schema evolution back/forward compatibility.”
“I have seen bugs with protobufs misinterpreted since there is no connection handshake”
“some language designs (around enum/oneof, the fact that adding fields forces you to update all constructor code sites)”
“Protobuf's "silently default everything" model has caused mass production incidents at real companies.”
“battle hardened tooling that comes with it”
“With a decent memory-safe parser, it’s perfectly safe”
“the right tool might be Parquet or Arrow or protobuf or Cap’n Proto”
“protobuf and its ilk are more space efficient and very widely supported”
“which is 2^5 message types, even if all fields of both versions were mandatory”
“Protobuf's unknown field support is useful if you want to forward a message in its entirety”
“why should I use protobuf, when I just need to share structs and arrays in memory”
“Rube Goldberg like contraption with protobufs in the middle. That's the problem.”
“Protobuf ultimately gets the nod because it has better tooling”
“protobufs are so inefficient that they drive up latency and datacenter costs”
“because of its comparatively high efficiency”
“It's because a megacorp maintains it.”
“typical kafka clients that throw off a buffer of garbage per message and protobuf”
“It's possible to build this around protobuf.”
“Defensive is error-prone, and verbose, harder to reason about, and still not guaranteed.”
“You have much more tooling involved especially if data passes between parts written in different languages.”
“missing one that I wish it could support: zero-copy”
“Protobuf's deliberate lack of support for required fields means that either you kick that down to every callsite”
“Protobuf in conjunction with gRPC can play wisely with the backwards compatibility feature”
“is missing support for a tons of use cases where JSON thrives due to the strict schema requirement”
“which is really hard to statically link correctly on MinGW”
“the better tech isn't usually XML but rather things like Avro or Protobuf”
“protobuf suddenly depending on parts of abseil”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.