JSON to TOON converter
TOON exists for one reason: JSON repeats every key on every object, and in a prompt you pay for each repetition. Paste an array of 50 records and the header appears once instead of 50 times. Paste JSON here to see the TOON version and what it saves. Nothing you paste leaves your browser.
Text is processed by your own browser and never leaves your device: this page has no server to send it to.
How it works
Arrays whose objects all share the same keys become a header line, items[2]{id,name}:, followed by one comma-separated row per object. Everything else keeps a readable indented form: nested objects indent, primitive arrays go inline with their length, and mixed arrays fall back to hyphen list items. Strings are quoted only where the format requires it, so a value like "42" or "true" survives the round trip as text. Built against the published TOON specification, checked 2026-08-23.
Frequently asked questions
How much does this actually save?
It depends entirely on shape. A uniform array of records is where TOON wins, because the keys stop repeating: ten records with three fields drop roughly a third of their tokens. A deeply nested object with no repetition saves almost nothing, and a single flat object can come out about the same. If your payload is one object, this is not the tool that helps you.
Can I feed TOON to any model?
You can put it in any prompt, but treat it as you would any unfamiliar format: say what it is in one line before the data. Models handle it well because the header names the columns explicitly, which is the same reason CSV works in prompts. For structured output coming back out of a model, ask for JSON: it is what tool-calling and schema validation expect.
Which parts of the TOON spec does this support?
The comma-delimited format: key-value lines, nested objects, inline primitive arrays, the tabular header for uniform object arrays, hyphen list form for everything else, plus the spec's quoting, escaping and number rules. The tab and pipe delimiter variants and the keyed tabular form are not implemented, so a document using those will not convert here.