Skip to content
protobuf.com

Community

Protocol Buffers has evolved over two decades, transitioning from a performance-critical internal tool at Google to the foundational layer for modern distributed systems worldwide.

While the core philosophy has remained constant, the language has evolved to support more platforms and complex engineering needs.

INTERNAL2001

Google Internal Launch

Protobuf was born inside Google to solve the overhead of XML. It quickly became the standard for all internal communication.

View Details
PROTO22008

Public Open Source

First public release. Introduced the complex "required" fields and an extension mechanism.

View Details
PROTO32016

Modern Standardization

Simplified the language. Removed "required" fields, standardized JSON mapping, and enabled better cross-platform support.

View Details
EDITIONS2023

Editions Replace Versions

Replaces syntax "versions" with individually settable "features", so the language can add behavior without waiting on a new syntax release.

View Details

Google

Google's API design guidance is built around resource-oriented APIs with Protobuf service definitions and HTTP/JSON transcoding.

View Project

Kubernetes

Kubernetes documents Protobuf as an alternate API encoding for built-in resources, alongside JSON.

View Project

Envoy Proxy

Envoy's xDS APIs and configuration resources are published as versioned Protobuf API references.

View Project

Docker / Swarm

SwarmKit keeps its control-plane API definitions in Protobuf schemas in the project source.

View Project

Vitess

Vitess publishes Protobuf definitions for its query, tablet, topology, and automation APIs.

View Project

Etcd

Etcd exposes a gRPC API with a gRPC-gateway that maps HTTP/JSON onto the same API surface.

View Project

TiDB

The TiDB/TiKV ecosystem maintains shared Protobuf definitions for distributed storage APIs in kvproto.

View Project

OpenTelemetry

OpenTelemetry defines its cross-language telemetry data protocol in shared Protobuf schemas.

View Project

Temporal

Temporal publishes the API definitions for its workflow platform as Protobuf schemas.

View Project

Reading these schemas means browsing a source tree. Building against them usually means copying files into your own repo and hoping you notice when upstream changes. Many are also published to the Buf Schema Registry , including Envoy, OpenTelemetry, and googleapis. There they become versioned dependencies you declare once in buf.yaml.

Buf CLI

The modern standard for Protobuf management. Includes a linter, formatter, breaking change detector, editor LSP support, and a high-performance code generator.

Buf Schema Registry

A package manager for Protobuf. Publish your schemas as versioned modules, depend on other people's with a line in buf.yaml instead of vendored files, and get hosted docs and generated SDKs for free.

protolint

Configurable linter for Protocol Buffer files, enforcing consistent style.

Google API Linter

Check your API design against Google's API Improvement Proposals (AIPs) to catch naming that diverges from Google's own APIs.

protovalidate

Runtime validation for Protobuf messages using rules defined directly in your .proto files.

Plumber

CLI tool for inspecting and routing messages in Kafka, RabbitMQ, and SQS with native on-the-fly Protobuf decoding.

Popular Plugins

Browse Remote Plugins

Plugins are conventionally named protoc-gen-* and installed as local binaries. Many are also published to the BSR as remote plugins, which buf generate runs without anyone on your team installing a toolchain first.

protoc-gen-doc

Turns .proto comments into HTML, Markdown, or PDF reference docs.

Source

protoc-gen-connect-openapi

Produces OpenAPI 3.x definitions from your Protobuf services, with first-class support for ConnectRPC and gRPC-Gateway.

Source

protoc-gen-jsonschema

Generates JSON Schema definitions from your Protobuf messages, so you can use them with JSON-based validation tools.

Source

protoc-gen-grpc-gateway

Generates a reverse-proxy server that translates RESTful JSON APIs into gRPC, so you can serve both.

Source

Looking for more tools, plugins, or libraries?

Browse the paginated registry of 80+ third-party tools, remote plugins, and serialization libraries with real-time GitHub star counts, categories, sorting, and search filtering.

Explore Ecosystem Directory
gRPC

The most widely deployed Protobuf RPC framework. Originally developed by Google, it uses HTTP/2 and supports bidirectional streaming and server reflection.

Visit Site
ConnectRPC

A Protobuf RPC framework that speaks three protocols from one implementation: its own HTTP-based protocol, gRPC, and gRPC-Web. Its requests are plain HTTP, so they work natively in browsers and can be debugged with curl.

Visit Site
Twirp

Twitch's RPC framework, using Protobuf over HTTP/1.1 instead of gRPC and HTTP/2.

Visit Site
dRPC

Storj's Go replacement for gRPC. Cuts memory overhead while staying compatible with existing Protobuf definitions.

Visit Site
Apache brpc

Baidu's C++ RPC framework, tuned for high concurrency and low latency in large service deployments.

Visit Site
Apache Dubbo

Alibaba's microservices framework. Its Triple protocol uses HTTP/2 and Protobuf for gRPC-compatible serialization.

Visit Site
TEXT_BASED

JSON / XML

Ubiquitous, human-readable, and easy to debug. However, they lack strict schemas (by default), are significantly slower to parse, and produce much larger payloads.

Best For: Public APIs, Web Apps
SCHEMA_LESS_BINARY

MessagePack / CBOR

Binary formats that don't require a schema. Think "Binary JSON". They are smaller and faster than JSON, but lack the type safety and code generation benefits of Protobuf.

Best For: Internal Caching, No-Schema Ops
HIGH_PERFORMANCE_SCHEMA

FlatBuffers / Avro

FlatBuffers allows "zero-copy" access, meaning you can read data without parsing it at all. Avro is widely used in Big Data (Hadoop/Kafka) for its flexible schema evolution.

Best For: Games, Real-time Stream Processing