JSON to Protobuf Schema Converter (proto3)
Developer
Paste any JSON object or array and get a ready-to-use Protocol Buffers (proto3) schema, with fields mapped to proto scalar types (string, int64, double, bool), repeated fields for arrays, and separate messages for nested objects. Keys that aren't lower_snake_case get a [json_name = "..."] option so the canonical JSON mapping still matches your original key. Everything runs locally in your browser — your JSON is never uploaded.
How to use
- Paste or type your JSON into the input box.
- Optionally rename the root message (defaults to Message).
- Copy the generated .proto schema from the output box.
Frequently asked questions
- How are numbers typed?
- Whole numbers become int64 and numbers with a decimal point become double. Change them to int32, uint32, float and so on if you need a different width.
- What happens with null, empty arrays or nested arrays?
- These map to google.protobuf.Value (and import "google/protobuf/struct.proto" is added), because proto3 has no native null and doesn't allow repeated repeated fields.
- Why do some fields have a json_name option?
- Proto field names are lower_snake_case. When the canonical camelCase JSON mapping wouldn't reproduce your original key, a [json_name = "..."] option is added so JSON round-trips correctly.
- Is my JSON sent anywhere?
- No. Conversion happens entirely in your browser; nothing is uploaded.
Related tools
Base64 to Hex Converter (and back)
Convert a Base64 string to hexadecimal bytes and hex back to Base64, with URL-safe support, in your browser.
Quoted-Printable Encoder & Decoder
Encode text to MIME Quoted-Printable (RFC 2045) or decode it back — handling =XX escapes, soft line breaks, and UTF-8 — entirely in your browser, with 76-character line wrapping on encode.
Hash Generator (SHA)
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text.
URL Encoder / Decoder
Percent-encode text for URLs, or decode encoded URLs back to text.
Base64 Encoder / Decoder
Encode text to Base64 or decode Base64 back to text, instantly.
JSON Formatter & Validator
Format, beautify, minify, and validate JSON right in your browser.