Use JSON to Protobuf
Infer a compilable proto3 schema from JSON samples. Start with the sample, select the options and run the tool. Copy or download the result after reviewing it.
Behavior and limits
Infer a compilable proto3 schema from JSON samples. Field numbers are allocated from sample order and are not stable across schema edits. Integers choose signed/unsigned 64-bit types when possible; wider numeric values use string fields and must be converted to decimal strings before encoding. Unions, null-only fields and nested arrays use google.protobuf.Value, whose numeric variant uses double precision. This is a draft: review wire compatibility and field-number evolution before production.
Example input
{"id":1,"name":"Ada","tags":["developer"],"address":{"city":"London"},"active":true}
Expected behavior for the example
Produces Root and Address messages, repeated string tags and a bool active field.
Check important output in the application that will consume it. Use the tool directory to find related formats and tasks.
Frequently asked questions
How does JSON to Protobuf handle my input?
Infer a compilable proto3 schema from JSON samples. Field numbers are allocated from sample order and are not stable across schema edits. Integers choose signed/unsigned 64-bit types when possible; wider numeric values use string fields and must be converted to decimal strings before encoding. Unions, null-only fields and nested arrays use google.protobuf.Value, whose numeric variant uses double precision. This is a draft: review wire compatibility and field-number evolution before production.
Is my input uploaded or saved automatically?
Processing runs locally in this browser. Input and results are not saved automatically. Downloads happen only when you choose them. The static preview blocks scripts and external resources when one is available.