Indented list to JSON tree
Turn an indented or bulleted list into a nested JSON (or YAML) tree, and back again.
Indented list to JSON tree
Paste a list whose hierarchy is shown through indentation — spaces, tabs, or bullets and numbering — and this tool turns it into a nested JSON or YAML tree. It reads outlines, sitemaps, folder listings, org charts and any notes app export where structure lives in the indentation rather than in explicit markup. Flip the direction switch and it works the other way too: paste a JSON tree and get an indented list back.
The options control both how the input is read and how the output is shaped. Indent size sets how many spaces count as one level (a tab always counts as one level, whatever the indent size). Bullets and numbering can be ignored — stripped before a line becomes a node name — or kept as text. Output shape picks between an object with a children array, an array of arrays, or a name map where each level's items become object keys; the children key name only applies to the object shape. Split name/value at breaks each line into a name and a value at a delimiter like ":" — handy for "key: value" outlines — and the same delimiter rejoins them when converting back.
Indentation that doesn't match the configured indent size — three spaces where two were expected — doesn't stop the conversion; the tool assigns the closest level and reports how many lines were uneven in the tally below the output, so a stray tab or paste artifact stands out. Converting a tree back to a list currently reads JSON input only, not YAML.
Everything runs locally in your browser — nothing you paste is ever uploaded. Copy the result, download it as a .txt file, or send it straight back into the input to keep adjusting the shape.