JSON Validator
Check JSON without changing it — clear engine errors and a structure summary in your browser.
JSON input
All processing stays in your browser. Nothing is stored or transmitted, and the text you paste is never modified.
Result
Standard errors come from your browser's own JSON engine; extra findings are listed separately as warnings, never disguised as errors.
No JSON checked yet.
Line/column positions, when the engine provides them, count UTF-16 code units exactly as the engine reports them. Duplicate keys are detected by a separate structural scan, since JSON.parse silently keeps only the last value.
About this tool
JSON Validator checks and describes JSON without touching it: no formatting, no type changes, no silent rewriting.
- Validate using your browser's own JSON engine — the raw engine message with line/column only when the engine provides them (UTF-16 code units).
- Structure summary for valid JSON: root value type, top-level items, objects and total keys, arrays and total elements, max nesting depth.
- Warnings, never disguised as errors: real duplicate-key detection with locations and numbers that parse to Infinity/NaN/-0 (found by separate scans, not JSON.parse's silent key loss).
- The original text is never modified or re-serialized: Copy JSON, Copy error, download the exact text after a successful check, and debounced UTF-16/UTF-8 size readouts.
- Inputs over 1 MB are refused. No eval or Function; nothing is executed or uploaded.
What counts as a warning versus an error: anything your browser's JSON engine rejects (missing quotes, trailing commas, unclosed containers, bad escapes, unexpected tokens) is a standard error. Findings the engine accepts but you should know about — duplicate keys and numbers that parse to Infinity/NaN/-0 — are shown as warnings; the original text is always left exactly as entered. This tool does not attempt JSON Schema validation.