Base64 Encode / Decode
Encode text to Base64 or decode Base64 back to plain text.
Format, pretty-print, and validate JSON in your browser.
JSON Formatter pretty-prints compact single-line JSON into a readable indented format, and can also minify JSON by removing all whitespace. It also validates JSON syntax as you format.
It’s handy when you need to quickly inspect an API response while developing or debugging, or when you want to tidy up config files like package.json or tsconfig.json.
curl often return responses with no line breaks at all. Paste it in here and the structure becomes instantly readable.} matches which { in deeply nested JSON: once formatted, each level is indented, making it much easier to visually trace matching brackets.Input (minified, single line):
{"user":{"id":1,"name":"Taro","roles":["admin","editor"]},"active":true}
Formatted:
{
"user": {
"id": 1,
"name": "Taro",
"roles": [
"admin",
"editor"
]
},
"active": true
}
Even when an object contains further nested objects or arrays inside user, each level is indented so it’s clear which value belongs to which key.
The “array of objects” shape common in list-style API responses also becomes much easier to scan once each element is separated out.
Input:
[{"id":1,"price":1200},{"id":2,"price":980}]
Formatted:
[
{
"id": 1,
"price": 1200
},
{
"id": 2,
"price": 980
}
]
To go the other way and compress formatted JSON back to a single line, use the “Minify” button. This is useful when whitespace and line breaks aren’t allowed, such as embedding config data in a URL query parameter.
Input: multi-line, indented JSON
Output: {"user":{"id":1,"name":"Taro"},"active":true}
If your input isn’t valid JSON — a missing comma, an unquoted key, and so on — the parser returns information about the error location. Use the line/character position shown in the error message to find and fix the problem, then try again. Common mistakes include:
Yes, it is completely free.
A parse error message is displayed. Use the error details to correct your input.
It depends on your browser's memory, but typical JSON files are handled without issue.
No. All processing happens entirely in your browser (client-side). Nothing is sent to an external server.
The standard JSON parser doesn't allow comments, so input containing comments will produce an error. Remove any comment lines before formatting.
No. Both formatting and minifying preserve the original key order from your input. Keys are never reordered alphabetically or otherwise.
Paste minified JSON and it's instantly pretty-printed with indentation.
Input
{"name":"Torinoa Tools","version":"1.0.0","features":["free","no-login","browser-only"]}Output
{
"name": "Torinoa Tools",
"version": "1.0.0",
"features": [
"free",
"no-login",
"browser-only"
]
}