Protobuf text format formatter
Paste a message in the Protocol Buffers text format, as TextFormat or a message's toString() prints it or as found in a .txtpb file, to check it and lay it out with consistent indentation. Minify puts it on one line.
The whole text format
- Fields (name: value) and message blocks with { } or < >
- Lists [a, b], Any values such as [type.googleapis.com/pkg.Msg], and extension names
- Comma or semicolon separators, and adjacent strings
- # comments, kept when formatting together with the blank lines between groups
Values kept exactly
64-bit integers, octal and Unicode escapes are kept exactly as written.
Folding and field order
Message blocks can be folded. Sort keys orders fields by name, while repeated fields keep their order.
Keyboard shortcuts
- Format: Shift+Alt+F (⌥⇧F on a Mac)
- Minify: Shift+Alt+M (⌥⇧M on a Mac)
- Undo: Ctrl+Z (⌘Z on a Mac). Each Format or Minify is a step of its own.
- Find and replace: Ctrl+F (⌘F on a Mac)
Private: nothing is uploaded
Formatting, checking and comparing all happen in your browser. Your documents are saved in the browser's own storage on this computer, not on a server, so they never leave your device.
With your permission, we count anonymous visits (which pages and tools are used), never what you type. See Privacy.
Questions
What is the Protocol Buffers text format?
A readable way to write a protobuf message, used for configuration files (.txtpb, .textproto, .pbtxt) and printed by TextFormat and a message's toString(). It is different from the binary wire format and from JSON.
Do I need the .proto file?
No. The text is checked against the grammar of the text format, not against a schema, so any message can be formatted without its .proto definition.
Is my data uploaded anywhere?
Your documents aren't: everything runs in your browser, and they are saved on your computer, in the browser's storage for this site. With your permission we count anonymous visits, never their content.