The share link contains your schema — share it only where you'd share the schema itself.
About the Protobuf validator
Protocol Buffers (Protobuf) is Google's compact, typed serialization format, defined in a .proto IDL and used widely for gRPC services and message contracts. This validator parses your .proto source — proto2 or proto3 — and reports syntax errors with a line number, so you can fix a malformed message, field, or option quickly.
It detects the syntax version directly from the syntax = "…" declaration in your file and validates the full message structure: message and enum definitions, field declarations, field numbers, nested types, and multiple messages in one file. The most common failures are a missing field number, an unterminated message body, an invalid field label, or a stray token — each surfaced with the line the parser stopped on.
It does not resolve import statements, because doing so would touch the filesystem or the network; everything stays in your browser and nothing is fetched. This checks that the .proto is well-formed, not that two services agree on a contract. For schema-driven data formats used in pipelines, compare with the Avro Schema Validator.
Protobuf validation FAQ
Are proto2 and proto3 both supported?
Yes. The validator parses both, and derives which one you're using from the syntax = "proto2" or syntax = "proto3" line at the top of your file. The result tag shows the detected syntax.
What are the most common .proto syntax errors?
A missing field number (every field needs a unique = N), an unterminated message or enum body, an invalid field label, a reserved word used as an identifier, or a missing semicolon. The error message includes the line the parser stopped on.
Can I validate multiple message definitions in one file?
Yes. A single .proto file can declare many messages and enums, including nested types, and the validator parses all of them. The result tag reports how many message definitions were found.
Why does my .proto fail to parse?
Because the parser hit a token it didn't expect at the reported line — most often a missing field number or semicolon. The line number is extracted from the parser's message so you can jump straight to it.
Does it resolve import statements?
No. Resolving import would require reading other files from the filesystem or network, and this tool fetches nothing — everything runs in your browser. It validates the structure of the file you paste, not its imported dependencies.