Turn a wall of text into structure.
Choose two spaces, four spaces or tabs. Validate without reformatting, or minify when compact output matters.
Give complex JSON room to breathe. Find syntax errors, explore nested values and keep long IDs, precise decimals and repeated keys exactly as written.
Sorting uses Unicode code-unit order. Array order and duplicate-key order stay intact. Comments and trailing commas are not valid JSON.
Your validated result appears here. Copy it completely, download it as JSON or explore one value at a time.
Valid JSON syntax does not guarantee that another app can handle every number or duplicate key. Check the warnings before sharing.
Use /items/0, escape / as ~1 and ~ as ~0. An empty pointer selects the root. Use a quoted string for escaped control characters.
Processed in your browser. Your JSON is not uploaded or saved by this tool. Clear the workspace when you’re finished.
Choose two spaces, four spaces or tabs. Validate without reformatting, or minify when compact output matters.
Number spelling and quoted string tokens stay intact. Repeated keys remain visible, with warnings about how other apps may read them.
Browse paginated object and array levels, search across the document or jump directly to a value using a JSON Pointer.
Yes. Formatting and minifying preserve every original number token, including long integers, negative zero, decimal zeros and exponent notation. The tool does not convert number tokens into JavaScript numbers for output. Common receivers may still round values or overflow their numeric range, so interoperability warnings identify potential problems. The original quoted string tokens are also preserved.
All members stay in the output, including duplicate keys in their original relative order. Duplicate names produce a warning because other JSON readers may keep only one value. Optional key sorting is stable and recursive; arrays are never reordered. This is ordinary formatting, not a canonical JSON implementation for digital signatures.
The validator follows the JSON grammar in RFC 8259 within the documented limits. An object, array, string, number, boolean or null may be the root. Comments, trailing commas, single-quoted strings, bare keys, undefined, NaN and Infinity are rejected. A leading BOM is reported explicitly. Escaped unpaired Unicode surrogates are preserved with an interoperability warning. Raw invalid Unicode and malformed UTF-8 files are rejected.
Open objects and arrays one level at a time, return to the parent or root, or search all keys and primitive values. Lists show 100 rows per page. Selecting a value keeps its containing page visible, and returning to a container restores the page you were browsing. Selecting a value shows its original JSON text, a JSON-quoted pointer and options to copy, download or locate it in the input. Long labels and previews are shortened for display; exports retain the complete selected value.
Use an empty pointer for the root, /items/0 for the first array element, ~1 for a slash in a key and ~0 for a tilde. Array indices start at zero and cannot have leading zeros. You may enter a plain pointer or a JSON-quoted string such as "/items/0". Quoted pointers support escaped control characters. Paths through duplicate keys are ambiguous and cannot resolve uniquely; inspect their individual rows instead. Pointer input supports up to 2 MiB of UTF-8 text, including surrounding whitespace for a JSON-quoted string. This allows long keys whose slash or tilde escapes expand the path. URI fragment pointers beginning with # are not supported here.
Input is limited to 1 MiB of UTF-8 text, 50000 JSON values and 128 nested objects or arrays. Formatted output is limited to 4 MiB; use Minify if indentation exceeds that limit. Up to 100 warning details are shown, with the full warning count. The main preview shows 20000 Unicode code points unless expanded; the selected-value preview shows 4000. Copy and downloads always include the full result.
Validate only retains the current input text in the result. Format changes whitespace and optionally sorts object keys; Minify removes unnecessary whitespace and also honours the optional sort setting. Array order, number spelling, string escapes and duplicate members are retained. Opening a text file in a browser textarea may normalize line separators to LF.
The tool processes JSON locally and does not upload it, fetch remote JSON URLs, execute JSON as code or save your input in browser storage. Clearing or leaving the page removes its temporary results. Normal website analytics and feedback services may still load. JSON syntax validation does not check a business schema, API contract or Google rich-result eligibility; use the structured-data tool for JSON-LD checks.
Built around RFC 8259 · JSON and RFC 6901 · JSON Pointer. Error columns count Unicode code points. Limits keep processing manageable in the browser.