• Home
Name Date Size #Lines LOC

..--

bazel/22-Oct-2025-4,0933,547

benchmarks/22-Oct-2025-2,9692,435

build_defs/22-Oct-2025-653565

ci/22-Oct-2025-177123

cmake/22-Oct-2025-2,0671,723

compatibility/22-Oct-2025-210180

conformance/22-Oct-2025-10,3628,757

csharp/22-Oct-2025-183,557154,239

docs/22-Oct-2025-10,4208,066

editions/22-Oct-2025-3,2332,668

editors/22-Oct-2025-330182

examples/22-Oct-2025-1,6881,294

go/22-Oct-2025-7664

hpb/22-Oct-2025-2,6151,976

hpb_generator/22-Oct-2025-4,5053,689

java/22-Oct-2025-125,72194,842

lua/22-Oct-2025-3,7642,671

objectivec/22-Oct-2025-96,28275,528

php/22-Oct-2025-71,47850,553

pkg/22-Oct-2025-1,2131,041

protos/22-Oct-2025-179

python/22-Oct-2025-61,80947,642

ruby/22-Oct-2025-54,16341,581

rust/22-Oct-2025-15,26010,957

src/22-Oct-2025-352,857278,163

third_party/22-Oct-2025-107,21657,903

toolchain/22-Oct-2025-417385

upb/22-Oct-2025-69,46756,973

upb_generator/22-Oct-2025-6,1125,085

BUILD.bazelD22-Oct-202518.4 KiB695598

BUILD.gnD22-Oct-202532.2 KiB755736

CMakeLists.txtD22-Oct-202514.2 KiB380336

CODE_OF_CONDUCT.mdD22-Oct-2025140 42

CONTRIBUTING.mdD22-Oct-20256.7 KiB121102

CONTRIBUTORS.txtD22-Oct-20254 KiB10896

Cargo.bazel.lockD22-Oct-202526.2 KiB1,1001,099

Cargo.lockD22-Oct-20253.5 KiB138121

LICENSED22-Oct-20251.7 KiB3328

MODULE.bazelD22-Oct-20253.6 KiB183151

OAT.xmlD22-Oct-20255.9 KiB8633

PrivacyInfo.xcprivacyD22-Oct-2025373 1514

Protobuf-C++.podspecD22-Oct-20251.7 KiB4939

Protobuf.podspecD22-Oct-20253 KiB6253

README.OpenSourceD22-Oct-2025335 1211

README.mdD22-Oct-20254.9 KiB10575

SECURITY.mdD22-Oct-2025176 53

WORKSPACED22-Oct-20258.6 KiB280206

WORKSPACE.bzlmodD22-Oct-20251.8 KiB4634

appveyor.batD22-Oct-20251.4 KiB4940

appveyor.ymlD22-Oct-20251.1 KiB4833

bundle.jsonD22-Oct-20252.9 KiB8888

fix_permissions.shD22-Oct-2025147 97

generate_descriptor_proto.shD22-Oct-20253.2 KiB11790

global.jsonD22-Oct-202581 76

google3_export_generated_files.shD22-Oct-2025998 3215

maven_install.jsonD22-Oct-202557.7 KiB968967

protobuf.bzlD22-Oct-202525.4 KiB779678

protobuf_deps.bzlD22-Oct-20258.5 KiB211185

protobuf_release.bzlD22-Oct-20251.5 KiB4941

protobuf_version.bzlD22-Oct-2025259 87

regenerate_stale_files.shD22-Oct-20251.3 KiB4122

version.jsonD22-Oct-2025395 1717

README.OpenSource

1[
2  {
3    "Name": "google/protobuf",
4    "License": "BSD 3-Clause License",
5    "License File": "LICENSE",
6    "Version Number": "5.29.4",
7    "Upstream URL": "https://github.com/protocolbuffers/protobuf",
8    "Description": "Protocol Buffers - Google's data interchange format.",
9    "Dependencies": [ "abseil-cpp" ]
10  }
11]
12

README.md

1Protocol Buffers - Google's data interchange format
2===================================================
3
4[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/protocolbuffers/protobuf/badge)](https://securityscorecards.dev/viewer/?uri=github.com/protocolbuffers/protobuf)
5
6Copyright 2023 Google LLC
7
8Overview
9--------
10
11Protocol Buffers (a.k.a., protobuf) are Google's language-neutral,
12platform-neutral, extensible mechanism for serializing structured data. You
13can learn more about it in [protobuf's documentation](https://protobuf.dev).
14
15This README file contains protobuf installation instructions. To install
16protobuf, you need to install the protocol compiler (used to compile .proto
17files) and the protobuf runtime for your chosen programming language.
18
19Working With Protobuf Source Code
20---------------------------------
21
22Most users will find working from
23[supported releases](https://github.com/protocolbuffers/protobuf/releases) to be
24the easiest path.
25
26If you choose to work from the head revision of the main branch your build will
27occasionally be broken by source-incompatible changes and insufficiently-tested
28(and therefore broken) behavior.
29
30If you are using C++ or otherwise need to build protobuf from source as a part
31of your project, you should pin to a release commit on a release branch.
32
33This is because even release branches can experience some instability in between
34release commits.
35
36Protobuf Compiler Installation
37------------------------------
38
39The protobuf compiler is written in C++. If you are using C++, please follow
40the [C++ Installation Instructions](src/README.md) to install protoc along
41with the C++ runtime.
42
43For non-C++ users, the simplest way to install the protocol compiler is to
44download a pre-built binary from our [GitHub release page](https://github.com/protocolbuffers/protobuf/releases).
45
46In the downloads section of each release, you can find pre-built binaries in
47zip packages: `protoc-$VERSION-$PLATFORM.zip`. It contains the protoc binary
48as well as a set of standard `.proto` files distributed along with protobuf.
49
50If you are looking for an old version that is not available in the release
51page, check out the [Maven repository](https://repo1.maven.org/maven2/com/google/protobuf/protoc/).
52
53These pre-built binaries are only provided for released versions. If you want
54to use the github main version at HEAD, or you need to modify protobuf code,
55or you are using C++, it's recommended to build your own protoc binary from
56source.
57
58If you would like to build protoc binary from source, see the [C++ Installation Instructions](src/README.md).
59
60Protobuf Runtime Installation
61-----------------------------
62
63Protobuf supports several different programming languages. For each programming
64language, you can find instructions in the corresponding source directory about
65how to install protobuf runtime for that specific language:
66
67| Language                             | Source                                                      |
68|--------------------------------------|-------------------------------------------------------------|
69| C++ (include C++ runtime and protoc) | [src](src)                                                  |
70| Java                                 | [java](java)                                                |
71| Python                               | [python](python)                                            |
72| Objective-C                          | [objectivec](objectivec)                                    |
73| C#                                   | [csharp](csharp)                                            |
74| Ruby                                 | [ruby](ruby)                                                |
75| Go                                   | [protocolbuffers/protobuf-go](https://github.com/protocolbuffers/protobuf-go)|
76| PHP                                  | [php](php)                                                  |
77| Dart                                 | [dart-lang/protobuf](https://github.com/dart-lang/protobuf) |
78| JavaScript                           | [protocolbuffers/protobuf-javascript](https://github.com/protocolbuffers/protobuf-javascript)|
79
80Quick Start
81-----------
82
83The best way to learn how to use protobuf is to follow the [tutorials in our
84developer guide](https://protobuf.dev/getting-started).
85
86If you want to learn from code examples, take a look at the examples in the
87[examples](examples) directory.
88
89Documentation
90-------------
91
92The complete documentation is available at the [Protocol Buffers doc site](https://protobuf.dev).
93
94Support Policy
95--------------
96
97Read about our [version support policy](https://protobuf.dev/version-support/)
98to stay current on support timeframes for the language libraries.
99
100Developer Community
101-------------------
102
103To be alerted to upcoming changes in Protocol Buffers and connect with protobuf developers and users,
104[join the Google Group](https://groups.google.com/g/protobuf).
105