Reference Guides

Reference documentation for working with Protobuf classes in C++, Java, Python, Go, C#, Objective-C, Ruby, PHP, and Dart, as well as some reference documentation for Protobuf itself.

This section contains reference documentation for working with Protobuf classes in C++, Java, Python, Go, C#, Objective-C, Ruby, PHP, and Dart, as well as some reference documentation for Protobuf itself. The documentation for each language includes (where available):

  • A reference guide to the code generated by the Protobuf compiler from your .proto files.
  • Generated API documentation for the provided source code.

Note that there are APIs for several more languages in the pipeline – for details, see Other Languages.


C++ Reference

Reference documentation for working with Protobuf classes in C++.

C# Reference

Reference documentation for working with Protobuf classes in C#

Dart Reference

Reference documentation for working with Protobuf classes in Dart

Go Reference

Reference documentation for working with Protobuf classes in Go

Java Reference

Reference documentation for working with Protobuf classes in Java.

Kotlin Reference

Reference documentation for working with Protobuf classes in Kotlin.

Objective-C Reference

Reference documentation for working with Protobuf classes in Objective-C.

PHP Reference

Reference documentation for working with Protobuf classes in PHP.

Python Reference

Reference documentation for working with Protobuf classes in Python.

Ruby Reference

Reference documentation for working with Protobuf classes in Ruby.

Rust Reference

Reference documentation for working with Protobuf classes in Rust.

Protobuf Reference

Language-agnostic information about how to use Protobuf.

Other Languages

protoc, the Protobuf Compiler, can be extended to support new languages via plugins.