JSON Flattener

Turn a nested JSON document into one row per leaf value. Choose readable dot paths ($.users[0].name), unambiguous bracket paths ($["users"][0]["name"]), or interoperable JSON Pointer paths (/users/0/name). Search the result, copy it as a flat JSON object, or export path/type/depth/value rows as TSV. Empty arrays and objects are kept. Everything runs in this tab; nothing is uploaded.

Waiting for JSON
Flat JSON object

Path/value rows

Paste JSON to begin.
Path Type Depth Value
No rows yet.
Path styles, empty containers, and export behaviour

Dot uses familiar JavaScript-style paths. Keys that contain dots, spaces, quotes, or begin with a digit automatically fall back to quoted brackets so the path stays unambiguous.

Bracket quotes every object key and uses numeric brackets for arrays. It is longer, but keys such as "first.name" cannot be mistaken for nesting.

JSON Pointer follows RFC 6901: / inside a key becomes ~1, and ~ becomes ~0. The empty string identifies the document root.

Non-empty object and array rows are omitted by default because their children contain the useful data. Empty and [] values are always retained. Enable container rows when you need an explicit structure outline.

Flat JSON preserves numbers, booleans, nulls, and empty containers as JSON values. TSV stores each value as compact JSON, so tabs and newlines inside strings remain escaped and do not split spreadsheet cells.