JSON Validator & Linter
Free · No signup · Runs locally4.8 · 142 ratingsPaste JSON for instant validation with precise line/column errors, lint warnings, formatting, minification, and a tree explorer. Runs entirely in your browser.
Ready when you are.
Paste JSON on the left, or click Sample to try a quick example. Validation runs as you type — entirely in your browser.
Parse failures include line and column with a hint and a code snippet so you fix issues in seconds.
Catches trailing commas, duplicate keys, comments and unquoted identifiers — the most common JSON mistakes.
Format with 2/4 spaces or tabs, optionally sort keys. Minify to one line for transport.
Collapsible viewer with type badges. Click any node to copy its JSONPath ($.users[0].email).
All processing happens in your browser. Nothing uploaded, no logging, works offline after first load.
⌘B beautify, ⌘M minify, Tab to indent. Drag-and-drop files or upload from disk.
Examples
{
"name": "Ada"
"role": "engineer"
}Error · line 3, col 3 Expected ',' or '}' after value
The validator reports the first invalid token with line, column, and a hint.
{"users":[{"id":1,"name":"Ada"},{"id":2,"name":"Linus"}]}{
"users": [
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
}{
"ok": true,
"items": [1, 2, 3]
}{"ok":true,"items":[1,2,3]}From 38 bytes to 26 bytes — 32% smaller before gzip.
Use cases
- Debugging API responses
Paste raw responses from Stripe, Shopify, or any HTTP API and find the exact byte where parsing breaks.
- Cleaning up GraphQL output
Sort keys and re-indent so a noisy GraphQL response becomes a readable diff in pull requests.
- Preparing JSON for git
Pretty-print with stable key ordering before committing config files. Smaller, cleaner diffs forever.
- Inspecting webhooks
Drop in a captured webhook payload, expand the tree, copy a JSONPath, and write the assertion in seconds.
- Teaching JSON
Use the linter's warnings to walk a teammate through the difference between JSON, JS literals, and Python dicts.
More JSON tools
Validate, transform, convert, compare — every workflow in one place.
Beautify with custom indent, sort keys.
Collapse whitespace for compact transport.
Detailed warnings for non-spec patterns.
Explore deep structures, copy JSONPath.
Strict RFC 8259 conformance check.
Click any node to grab its path.
Compare two JSON files structurally.
Export rows for Excel, Sheets, pandas.
Well-formed XML with attributes.
YAML for K8s, Compose, GitHub Actions.
Validate data against a schema — powered by Ajv.
Frequently asked questions
Is my JSON sent to a server?+
No. JSON FYI runs 100% in your browser. Nothing is uploaded — you can use it offline once the page is loaded.
What does the validator check?+
It enforces the JSON specification (RFC 8259): proper quoting, valid escapes, no trailing commas, no comments, balanced brackets, valid numbers, and a single root value. Errors include the exact line and column.
What lint warnings does it surface?+
Trailing commas, duplicate object keys, JavaScript-style comments, and unquoted identifiers like True/None — all common mistakes when copying from JS or Python literals.
How big a file can I validate?+
Anything your browser can hold in memory — typically tens of megabytes. Very large documents may slow the tree view; the validator and formatter remain fast.
Does it support JSON5 or JSONC?+
No. JSON FYI follows strict JSON. Comments, trailing commas, and unquoted keys are flagged so your data stays interoperable.
Is it free?+
Yes — completely free, no signup, no ads tracking your data.