JSON formatter & validator
Pretty-print or minify JSON, and see exactly which line and column breaks it.
🔒 Processed in your browser only — your JSON is never sent to a server or stored.
✓ Valid JSON
{
"name": "Hanpy",
"tools": [
"jwt-decoder",
"base64",
"cron-parser"
],
"active": true,
"count": 5,
"meta": {
"lang": "ko",
"updatedAt": "2026-11-12"
}
}How to use
- Paste JSON into the box. The result appears below as you type.
- Pick an indentation (2 spaces, 4 spaces or tab), or press Minify to remove all whitespace.
- Turn on Sort keys to order every object’s keys alphabetically — handy when comparing two documents.
- If the JSON is invalid, the line, column and likely cause (trailing comma, single quotes, comments …) are shown. Fix it, then copy the result.
FAQ
Is my JSON sent to a server?
No. Validation and formatting run entirely in your browser, and nothing is uploaded or stored. Because JSON often contains private data such as API responses, this tool does not create share links.
Why are comments and trailing commas errors?
Standard JSON (RFC 8259) does not allow comments, trailing commas, single-quoted strings or unquoted keys. Extended formats such as JSON5 and JSONC accept them, but this tool validates standard JSON only.
Why do very large numbers change?
JavaScript stores numbers as 64-bit floating point, so integers larger than 9,007,199,254,740,991 (2^53 − 1) cannot be kept exactly. The tool warns you when the input has such numbers. Sending them as strings is a common workaround.
What happens with duplicate keys?
The standard does not forbid duplicate keys, but programs handle them differently. The browser’s JSON.parse keeps only the last value, so the formatted output shows only that value. The tool warns you when it finds duplicates.
How large can the input be?
Up to 1,000,000 characters at a time. Very large inputs may take a moment depending on your device.
More tools
See all tools →JWT decoder
Paste a token to read its header and payload and see when it expires.Open →Base64 encoder & decoder
Convert text to Base64 and back instantly, including UTF-8 text and the URL-safe variant used by JWTs.Open →Unix timestamp converter
Turn timestamps into dates and back. Seconds vs. milliseconds is detected from the number of digits.Open →Cron expression parser
Explain a cron expression in plain words and see exactly when it will run next.Open →