JSON Editor

Edit JSON as a tree or as text — both views stay in sync, with full undo/redo.

runs in your browserno uploadno sign-up

Tree editor

Load the sample or paste JSON in the raw pane to start editing.

Edits in the tree update this pane instantly; edits here need "Apply".

How the tree editor works

Click any key to rename it, click any leaf value to edit it in place, and use the type dropdown to convert a value between string, number, boolean, null, object and array — converting to object or array replaces the value with an empty one; converting away from them discards children. "+ add" appends a new item to an array or a new newKey property to an object. Every change is a step in an undo/redo history (Ctrl+Z / Ctrl+Shift+Z), and the raw text pane always mirrors the current tree so you can copy or download it, or paste a whole new document and click Apply.

Editing without breaking the syntax

Typing JSON by hand means chasing missing commas and quotes. This editor lets you work on the parsed tree instead: click a key to rename it, click a value to edit it, use the type dropdown to convert between string, number, boolean, null, object and array, and use "+ add" or the ✕ button to add or remove nodes — the output is always syntactically valid JSON.

A raw text pane mirrors the tree at all times and updates instantly as you edit it; paste a different document there and click Apply to load it into the tree. Every change is a step in an undo/redo history, and the download button saves the current document as a .json file.

Frequently asked questions

What happens when I change a value’s type?

Converting to object or array replaces the value with an empty {} or []; converting a string that looks like a number to number parses it (invalid text becomes 0); converting to boolean uses JavaScript truthiness rules.

Can I reorder array items?

Not by dragging in this version — delete and re-add items, or edit the array directly in the raw text pane, which supports any valid JSON including reordering.

How far back does undo go?

Every tree or applied text edit is a step for the current session; there is no fixed limit, but history resets on page reload.

Is my JSON uploaded?

No, all editing happens in your browser and nothing is sent anywhere.