# Protobuf

19 Hacker News commenters recommended Protobuf and 25 criticized it, November 2025 to November 2026. It was recommended in 8 of 13 months.

**Verdict:** Schema-based binary format with good tooling and forward and backward compatibility across many languages. Critics most often flag its silent default values.

## Why people recommend it

- Compact, fast binary encoding (5 comments): "CBOR or Protobuf or any dozen other binary serializations that would be far more efficient." ([source](https://news.ycombinator.com/item?id=47440311)) "protobuf and its ilk are more space efficient and very widely supported" ([source](https://news.ycombinator.com/item?id=47214235)) "protobuf is faster at both encoding and decoding than json" ([source](https://news.ycombinator.com/item?id=49324043))
- Schema evolution and compatibility (3 comments): "Protobuf's unknown field support is useful if you want to forward a message in its entirety" ([source](https://news.ycombinator.com/item?id=47020733)) "Protobuf in conjunction with gRPC can play wisely with the backwards compatibility feature" ([source](https://news.ycombinator.com/item?id=46112539)) "protobuf solved serialization with schema evolution back/forward compatibility." ([source](https://news.ycombinator.com/item?id=47307386))
- Better tooling and battle-tested (2 comments): "Protobuf ultimately gets the nod because it has better tooling" ([source](https://news.ycombinator.com/item?id=46733958)) "battle hardened tooling that comes with it" ([source](https://news.ycombinator.com/item?id=47299783))

## What people warn about

- Silent defaults and no required fields (3 comments): "Protobuf's deliberate lack of support for required fields means that either you kick that down to every callsite" ([source](https://news.ycombinator.com/item?id=46113035)) "Protobuf's "silently default everything" model has caused mass production incidents at real companies." ([source](https://news.ycombinator.com/item?id=47299799)) "Defensive is error-prone, and verbose, harder to reason about, and still not guaranteed." ([source](https://news.ycombinator.com/item?id=46122177))
- Poor fit outside strict-schema use cases (2 comments): "is missing support for a tons of use cases where JSON thrives due to the strict schema requirement" ([source](https://news.ycombinator.com/item?id=46111827)) "why should I use protobuf, when I just need to share structs and arrays in memory" ([source](https://news.ycombinator.com/item?id=46737060))
- Language design limitations, need redesign (2 comments): "some language designs (around enum/oneof, the fact that adding fields forces you to update all constructor code sites)" ([source](https://news.ycombinator.com/item?id=47300138)) "has many limitations which I think can be overcome by redesigning the language from scratch" ([source](https://news.ycombinator.com/item?id=47308488))

## Alternatives hackers recommend

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

## Cite as

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