Skip to content
littlekit.app
All tools

Flatten JSON

Turn nested JSON into reversible path records that preserve empty containers and unusual keys.

Source
Record format

Root: {"path":"","kind":"object"}
Container: {"path":"/tags","kind":"array"}
Value: {"path":"/name","kind":"value","value":"Ada"}

Path map
11All records
3Containers
8Values
PathKindValue
(root)object{}
/projectvalue"Toolbox"
/versionvalue3
/featuresarray[]
/features/0value"local"
/features/1value"private"
/features/2value"fast"
/settingsobject{}
/settings/themevalue"dark"
/settings/notificationsvaluefalse
/archivevaluenull

11 matching paths. First 100 shown; export always includes all records.

Processed on your device

How it works & useful details

How it works

Turn a nested document into a reversible list of path records. Every object and array has its own kind marker, even when empty; primitive records also carry a value. This preserves numeric-looking keys, null and escaped paths. Feed the exported JSON into JSON unflatten. Up to 10,000 records and 1,000,000 output characters.

Limits & privacy

Up to 1,000,000 characters, 50,000 values and 64 levels. Live previews pause above 40,000 characters; run the tool to process the full supported input. Imported files must be UTF-8 and under 1 MB. Your data stays on this device.

Numbers use JavaScript decimal precision. Unsupported large integers are rejected; quote identifiers to keep all digits. Duplicate object names keep their last value. Transforms preserve data, not source whitespace or number spelling.

Paths use JSON Pointer: an empty path selects the root, ~0 escapes a tilde, and ~1 escapes a slash.