Converting
The same data written in another format, including across the two shapes.
In the app
Convert (⌘⇧C) offers YAML · CSV · TypeScript · Markdown · NDJSON · XML · JSON · minified · JSON Schema · Zod · Pydantic · Go struct — every target but the one you have, ordered by use, the ones that do not fit the pane behind a +N — and a JSON document keeps formatted (two spaces per level) beside minified; the result is written beside your text, its size measured in the Foot.
Copy, or download the file; a focused branch converts alone.
Across the two shapes
A verb is implemented once per shape, not once per format. That is why a CSV gets the same tools as a webhook payload: both collapse to one of two shapes before any verb runs.
How the shapes differ for convert: shape-crossing both directions.
- document · JSON, YAML, XML
- records · NDJSON, CSV, TSV, Markdown table, Log
A worked example
The API-response sample, written as each target when this page was built. YAML, XML and TypeScript take the document whole. CSV and a Markdown table take its main list of records as the rows — one row per item — with the rest of the document on every row, nested keys as dotted columns (customer.id, items.sku); NDJSON takes those records as they are, one per line. JSON Schema, Zod, Pydantic and Go struct describe the document’s shape rather than carry its values, and each says what it wrote — properties, schemas, models, structs — counted. Focus a branch in the tree and only it converts, and the rows targets say which.
- YAML · 41 lines · 773 bytes
- XML · 51 lines · 1281 bytes · wrapped in <root> — the value has no single root element
- CSV · 3 lines · 1026 bytes · rows from $.items · the rest of the document on every row
- NDJSON · 2 lines · 205 bytes · records from $.items
- Markdown · 4 lines · 1382 bytes · rows from $.items · the rest of the document on every row
- TypeScript · 54 lines · 856 bytes
- JSON Schema · draft 2020-12 · 34 properties · 7 objects · 77 lines · 2403 bytes
- Zod · zod 3 · 7 schemas · 34 fields · 58 lines · 1182 bytes
- Pydantic · pydantic v2 · 7 models · 34 fields · 59 lines · 933 bytes
- Go struct · 7 structs · 34 fields · json tags · 58 lines · 1432 bytes