Why field numbers matter

Binary encoding uses field numbers, not names — so renaming a field is safe, but changing or reusing a number breaks compatibility.

Rules:

  • Must be unique within a message
  • Never change or reuse a deleted field number
  • Mark deleted numbers as reserved to prevent accidental reuse
reserved 3;
reserved "member_count";

Encoding size by range

RangeEncoding sizeUse for
1–151 byteFrequent / important fields
16–20472 bytesLess frequent fields
2048+3+ bytesRarely used fields

Put your most-used fields in 1–15 to minimise payload size.

See also