Frequently Asked Questions
What is JSON Editor and what can it do?
JSON Editor is an all-in-one, browser-based JSON utility that combines several tools in a single interface. It can format (pretty-print) JSON with configurable indentation, minify JSON to its most compact form, render JSON as a collapsible interactive tree, and compare two JSON documents side by side in a line-by-line diff view. On top of that it supports sorting all object keys alphabetically, validating against four different JSON specifications (RFC 8259, RFC 7159, RFC 4627, and ECMA-404), uploading JSON files directly from your device, and downloading the processed output. Everything runs entirely in your browser β no data is ever sent to a server.
How does the JSON formatter work?
Select the Format mode tab, then paste your JSON directly into the Input editor or use the Paste or Upload buttons. The formatter parses your JSON and re-serializes it with consistent indentation β choose 2 or 4 spaces using the Indent control in the toolbar. The formatted result appears instantly in the Output editor, where you can copy it to the clipboard or download it as a .json file. The editors provide full VS Code-style syntax highlighting, code folding, find/replace (Ctrl+F), and a right-click context menu. If your JSON contains a syntax error, the error message is shown below the editors.
How does the JSON minifier work?
Select the Minify mode tab. Paste or upload your JSON into the Input editor and the minified result appears instantly in the Output editor. Minification strips all whitespace β spaces, tabs, and newlines β that are not part of string values, producing the most compact single-line representation of your JSON. This is useful for reducing payload sizes in API requests and responses, shrinking JSON stored in databases or environment variables, and removing formatting before committing generated JSON to version control.
How does the JSON tree view work?
Select the Tree View mode tab and paste or upload your JSON. The tree renders your entire document as a collapsible hierarchy. Click any object ({}) or array ([]) node to expand or collapse it β nodes deeper than 2 levels start collapsed so large documents stay manageable. Value types are color-coded throughout: string values are green, numbers are blue, booleans are orange, and null is red. Object keys are highlighted in indigo. Collapsed nodes show a count badge indicating how many children they contain, so you can quickly gauge the size of a subtree without expanding it.
How do I upload and download JSON files?
To upload, click the Upload button above the Input editor and select any .json file from your device. The file is read entirely in your browser using the FileReader API β it is never transmitted to a server. To download the processed output, click the Download button above the Output editor. In Format mode the file is saved as output.json; in Minify mode it is saved as output.min.json. There is no file size limit imposed by the tool itself, though very large files may take longer to process depending on your device.
What are the JSON specifications and how does validation work?
The Spec dropdown controls which JSON standard is enforced during validation. RFC 8259 (2017) is the current internet standard and the default β it accepts any valid JSON value at the top level. RFC 7159 (2014) preceded RFC 8259 and behaves identically in practice for browser-based validation. RFC 4627 (2006) is the original JSON RFC and is more restrictive: it requires the top-level value to be either a JSON object or a JSON array, so bare strings, numbers, booleans, and null are rejected at the top level. ECMA-404 is the ECMA International standard, also accepting any top-level value. Changing the Spec immediately re-validates whatever is currently in the Input editor.
What is the difference between RFC 8259, RFC 7159, RFC 4627, and ECMA-404?
All four standards describe the same JSON data format, but they differ in scope and strictness. RFC 4627 (2006) was the first formal JSON RFC and required the top-level document to be an object or array β a bare string like "hello" or a bare number like 42 was not a valid JSON document. RFC 7159 (2014) superseded RFC 4627 and removed the top-level restriction, allowing any JSON value as the root. RFC 8259 (2017) superseded RFC 7159 with minor clarifications around UTF-8 encoding requirements for network interchange. ECMA-404 is maintained by ECMA International in parallel and also permits any top-level value. For most practical purposes β validating API payloads, configuration files, and data exchange β RFC 8259 is the correct choice.
What does Sort Keys do?
Enabling the Sort Keys toggle alphabetically reorders the keys of every JSON object at every depth level before producing the output. This is applied recursively, so nested objects are sorted too. Sort Keys is useful for normalizing JSON from different sources before comparing them, making diffs cleaner by eliminating key-order noise, reducing spurious merge conflicts in version control when JSON is generated with non-deterministic key order, and producing consistent output from APIs or serializers that emit keys in arbitrary order.
How does the JSON diff tool work?
Select the Diff mode tab. Two editors appear side by side β JSON A and JSON B. Paste or upload a JSON document into each editor. The tool parses and normalizes both documents using the same settings (spec, sort keys, indent size), then computes a line-by-line diff of the formatted output. The diff panel below shows each line colour-coded: green lines with a + prefix exist in B but not A (added), red lines with a β prefix exist in A but not B (removed), and grey lines are identical in both (unchanged). Summary badges above the diff show the total added, removed, and unchanged line counts at a glance. Both JSON A and JSON B support the Paste and Upload buttons independently.
What does Skip Validation do?
When Skip Validation is enabled, the tool bypasses all spec-specific validation rules and uses a plain JSON.parse() for all processing. This means RFC 4627's top-level object/array requirement β and any future spec rules β are ignored. The JSON still needs to be syntactically valid (JSON.parse will still throw on malformed input), but no additional constraints are applied. This is useful when you know your input is valid JSON under a more permissive standard than the one currently selected, or when you want to process the content without worrying about which spec applies.
Is it safe to use this tool with sensitive or private data?
Yes. JSON Editor runs entirely in your browser. Your JSON is never uploaded to any server, never logged, and never leaves your device. All parsing, formatting, minifying, tree rendering, and diffing happens locally in JavaScript. There are no analytics events attached to input fields, no clipboard monitoring, and no network requests made with your data. You can verify this by opening your browser's network tab β you will see zero outbound requests triggered by anything you type or paste. This makes the tool safe for API keys, credentials, internal configuration, personally identifiable information, and any other sensitive data.
What file sizes can this tool handle, and how is performance?
There is no hard file size limit imposed by the tool. Typical JSON β API responses, configuration files, exported records β processes instantly regardless of size. Files in the range of a few hundred kilobytes to a couple of megabytes format and diff without any noticeable delay on modern hardware. Very large files (10 MB or more) will take longer: parsing and formatting are synchronous operations that run on the browser's main thread, so an unusually large document may cause a brief pause. Performance depends on your device β a modern laptop or desktop handles multi-megabyte JSON comfortably, while older or lower-powered devices may feel slower on the largest files. The diff algorithm handles files up to approximately 2,000 lines each before falling back to a simplified output.
Can I use this tool to validate JSON without formatting the output?
Yes. Paste your JSON into the Input editor in Format or Minify mode. If the JSON is valid, output appears immediately. If it contains a syntax error, a red error banner appears below the editors showing the exact parse error message from the browser's JSON parser β for example, "Unexpected token } at position 42". The Input editor's border also turns red to make the error state visible at a glance. You can use the Spec dropdown to validate against a specific standard: selecting RFC 4627 will additionally reject any JSON whose top-level value is not an object or array.