How to edit a JSON document
Use this editor for a small configuration file, an API example or a structured list. The light JSON text is an example you can apply immediately. Focusing it clears the example and its tree for your own input. If you leave the field empty, the light example returns without restoring a tree or enabling export. Applying it creates a tree; editing that tree makes the document your working content. Ctrl+Enter or Command+Enter also applies text.
Expand an object or array with its disclosure marker. Choose Edit beside the item you want to change. For object members, the editing panel includes the key; array positions are numbered automatically. Select a type, enter the value and choose Apply edit. A string is entered as plain text without enclosing quotes. For booleans choose true or false; null has no editable value.
Add, delete and change types
To append a member, select its parent object or array and choose Add child. A new empty string is selected for editing. Objects receive an unused key such as key or key1; arrays append at the next position. You can rename an object key to an empty string or a special name if that is what your data requires. Deleting an array item closes the gap and renumbers the remaining positions.
Delete item removes the selected item and its descendants; deleting a container with children asks for confirmation. Clear removes the document. Unsaved document replacement and changes to a nonempty container’s type also ask for confirmation. Cancel discards only the unapplied item edit. Save the JSON before replacing work you want to keep.
Keep text and tree in step
Tree edits normally regenerate the text with two-space indentation. Direct typing in the text box is a draft until you apply it. While that draft differs from the current tree, tree editing and export are unavailable, so the previous data cannot silently overwrite your new text. Discard text returns to the last applied representation after confirmation.
If parsing fails, your text and the previous tree remain. Syntax problems and duplicate keys report a line and column. Fix the input and apply again. An invalid or oversized file also keeps the current document. Clear removes user content and the tree; empty input shows a light example again. There is no automatic draft storage, so save before closing or switching language.
Two editing examples
For a list, start with the JSON below. Expand items, edit the first string and replace “Plan” with “Write”. Apply edit changes the text to contain ["Write", "Review"]. Select items and use Add child to append another string. The order stays the same until you explicitly delete an item.
For an identifier, paste {"id":9007199254740993,"active":false}. Edit active to true and save. The id remains exactly 9007199254740993. It is not rounded to a nearby JavaScript number. The same preservation applies to decimal digits, exponent notation and negative zero.
{ "items": ["Plan", "Review"] }Precision, limits and saved files
The parser stores number tokens as text and object members as ordered entries. It does not evaluate the source as JavaScript. Keys such as __proto__, constructor and prototype are ordinary data. Repeated keys in one object are rejected, including escaped spellings of the same key; choose which value you intend instead of allowing the editor to drop one.
Input is limited to 200,000 characters, 2,000 values and 32 nested levels; file selection additionally allows up to 1 MB of UTF-8 data. Comments, trailing commas, unquoted keys, NaN and Infinity are not JSON and are rejected. Long values are shortened in the tree summary only; choose Edit to see the full value, and export keeps it complete. Copy JSON and Save JSON use the current applied tree. The downloaded edited.json is UTF-8, normally with two-space indentation and a final newline. Near the character limit, compact formatting or no final newline keeps the file within the reopening limit. Formatting and string escapes may change while the represented values stay the same.
Frequently asked questions
Is this just a formatter?
No. You can add and delete members, rename keys, change types and edit values in the tree. Formatting is the representation of those edits.
Can I use a primitive as the document root?
Yes. A JSON document can be a string, number, boolean or null, as well as an object or array. Select Root to change its type.
Why is export disabled?
Apply or discard pending text, and apply or cancel the selected item edit. Export is also unavailable while a file is being read or when the document is empty.
Does this validate a JSON Schema?
No. Syntax and the editor’s safety limits are checked, but application-specific fields, dates or schema rules are not.
Is the file uploaded or stored in the cloud?
No. Parsing and editing happen in your browser. Save a local file to keep the result; this tool has no account, cloud storage or sharing service.