What it checksHazards beyond valid syntax: duplicate keys (silently dropped by JSON.parse), empty keys, integers over 15 digits (JS precision loss), mixed key-naming styles, mixed-type arrays and deep nesting — each with a line/column or path.
JSON source
Load JSON
Lint report
Valid syntax is not the same as safe

JSON Lint Rules

Duplicate keys / big numbers / naming style / mixed arrays · rule-based checkup · local

🔒Processed locally in your browser — never uploaded or stored

No upload, no storage

JSON is processed in memory and never sent to a server.

Share via URL fragment

Share links encode data in the # anchor — never sent to a server.

Remember last edit

Optionally keep your last input locally; clear it with one click.

Why use JSON Lint Rules

Catch silent traps

Duplicate and empty keys never raise a parse error but always bite later — each is pinpointed to a line and column.

Big-number warnings

Integers over 15 digits lose precision in JavaScript; run your payloads through here before shipping an API.

Naming checkup

Detects the majority style (camel / snake / kebab / Pascal) and names every key that breaks it.

Toggleable rules

Six independent rules — enable what matches your team standards without noise from the rest.

Local · no upload

Checking runs entirely in your browser; data is never uploaded or stored.