The Buf CLI

Generate code, prevent breaking changes, lint Protobuf schemas, enforce best practices, and invoke APIs with the Buf CLI.

Protobuf API management made easy

The Buf CLI is the ultimate tool for modern, fast and efficient Protobuf API management. It makes crucial tasks like code generation, breaking change detection and linting easy to configure, and integrates seamlessly with your existing workflows so you can focus on what matters most: Writing great APIs.

Safely evolve APIs across platforms

Validates API changes both locally and in CI.

Worry-free code generation

No need to manage compiler versions and plugins.

Consistency & best practices

Automatically reformat files to correct violations.

Invoke gRPC and Connect APIs with ease

Call gRPC and Connect APIs using Buf's cURL-like interface.

Your one-stop shop

Generate code

2x faster than protoc while offering better clarity (easily edit/reference from source control) and greater flexibility (more input types).

Detect breaking changes

Evolve schemas without breaking existing code. Buf's breaking change rules maximize your evolution options to do exactly that.

Lint Protobuf files

Don't let your APIs fall into common traps. Enforce common standards across all APIs so there's one way to do things.

Format Protobuf files

Reformat your Protobuf files according to best practices for file layout and style, so you can focus on more business-critical problems.

Call Protobuf APIs

Better usability than standard curl. The buf curl command handles aspects of the relevant protocol for you — no need to define headers and craft message envelopes.

Build your Protobuf schema

Compiles .proto files into a single binary file you can easily share and store so you can verify that an input successfully compiles.

Protobuf works better with Buf

Safely evolve your APIs across platforms

Ensure you never cause an outage by shipping a breaking, backward-incompatible change to production by using the Buf CLI to validate API changes both locally and in continuous integration (CI).

Learn more

Generate code without managing a Protobuf environment

Generate code locally using the Buf CLI or remotely in an isolated environment on the BSR without worrying about managing compiler versions and plugins.

Learn more

Enforce consistency and best practices

Guarantee best practices across all your APIs by running Buf's Protobuf linter and automatically reformatting files to correct violations.

Learn more

Invoke gRPC and Connect APIs with ease

Call your gRPC and Connect APIs using Buf's cURL-like interface which automatically handles headers and message-enveloping while providing a readable JSON representation of binary responses.

Explore the tool

Leverage the BSR from the command line

Interact with the Buf Schema Registry to push your schemas, create branches, and release tags — all from the CLI.

Learn more about the BSR

Get started with the Buf CLI

Put the all-in-one Protobuf toolchain to work. We're here to help.