// Minified input → readable output
{
"a": 1,
"b": [
2,
3,
4
],
"c": {
"d": true
}
}{"a":1,"b":[2,3,4],"c":{"d":true}}Start typing to search, or pick a tool.
Pretty-print JSON with consistent indentation. Minify, copy, or download — all in your browser.
JSON input
Formatted JSON
Minified JSON is great for production payloads but terrible for debugging and code review. When you're inspecting an API response, reading a configuration file, or reviewing a data export, properly formatted JSON with consistent indentation makes the structure immediately clear.
This formatter adds consistent indentation and line breaks to your JSON. Choose between 2 spaces, 4 spaces, or tab indentation. The formatter preserves key order so your tooling continues to work as expected. Invalid JSON is caught and reported with the exact error location.
The formatter parses your input using JSON.parse(), then re-serialises it with JSON.stringify() using your chosen indent level. This produces valid, well-structured JSON every time. If the input is invalid, the error message tells you exactly what went wrong and where.
The minify button does the opposite — it removes all whitespace to produce the smallest valid JSON output. This is useful for reducing file size before deployment or preparing JSON for network transmission where every byte counts.
Debugging APIs. When an API returns minified JSON, paste it here for readable output. Formatted JSON makes it easy to spot missing fields, unexpected values, or structural issues.
Code review. Format JSON configuration files before committing so reviewers can focus on content changes rather than struggling with minified output.
Data inspection. When working with JSON exports from databases, APIs, or tools, formatting reveals the full structure and makes it easy to understand what data you're working with.
2 spaces is the most common choice and the default for this tool. It balances readability with compactness, and is the standard used by most JavaScript linters, formatters, and style guides including Prettier and the Google JSON style guide.
4 spaces provides more visual separation between nesting levels. It is preferred in some enterprise environments and configuration files where readability is prioritized over compactness. The extra whitespace makes deeply nested structures easier to follow.
Tab indentation uses a single tab character per level. Tabs let each developer set their own visual width in their editor, which can be useful for teams with different preferences. However, tabs are less common in JSON files and may cause inconsistent rendering in some tools.
Production payloads. Remove all whitespace from JSON responses to reduce bandwidth usage and improve load times. A minified JSON payload can be 30-50% smaller than its formatted equivalent, which matters at scale.
Embedding in HTML. When including JSON data inline in a script tag, minifying first keeps the HTML document smaller and avoids confusing code editors that try to format the inline JSON.
URL parameters. When passing JSON in a query string, minification is essential to stay within URL length limits. Even short JSON objects can exceed browser URL limits when formatted with whitespace.
Always format JSON during development and code review, then minify before deployment. Use a consistent indent size across your project — most teams standardise on 2 spaces. Add a .editorconfig or linter rule to enforce this automatically so formatting never becomes a discussion point.
When sharing JSON with non-technical stakeholders, formatting makes the data far more approachable. A well-formatted JSON response is easier to discuss in meetings, paste into documentation, or include in bug reports. Consider formatting JSON output in your CLI tools and scripts as well.
This formatter preserves key order so your tooling continues to work as expected. If you need sorted keys, use a dedicated JSON sort tool before formatting. The formatter also validates your JSON — any syntax errors are caught and reported with the exact error location so you can fix issues quickly.
// Minified input → readable output
{
"a": 1,
"b": [
2,
3,
4
],
"c": {
"d": true
}
}{"a":1,"b":[2,3,4],"c":{"d":true}}A JSON formatter (or pretty-printer) takes minified or unstructured JSON and adds consistent indentation, line breaks, and spacing to make it human-readable. It helps developers quickly understand and debug JSON data.
This free online JSON formatter runs entirely in your browser with no data upload. It supports customizable indentation (2/4 spaces or tabs), minification, copy, and download. No installation required.
Paste your minified or messy JSON into the input panel. The formatted output appears instantly on the right. Use the indent selector to choose 2 spaces, 4 spaces, or tabs. Click Copy or Download to save.
Open this page in Chrome, paste your JSON, and get instant formatting. For a Chrome extension, search "JSON Formatter" in the Chrome Web Store — but this online tool works without any installation.
Select the JSON text and press Shift+Alt+F (Windows) or Shift+Option+F (Mac). You can also set "editor.formatOnPaste": true in settings. For bulk formatting, use this online tool.
Install the "JSON Viewer" plugin via Plugins > Plugins Admin. Then use Plugins > JSON Viewer > Format JSON. Alternatively, paste into this online formatter for instant results.
Use json.dumps(data, indent=2) for 2-space indentation. For reading a file: json.dumps(json.load(open("file.json")), indent=2). Our online tool does this without any code.
A formatter adds indentation and spacing to make JSON readable. A validator checks if JSON syntax is correct and reports errors. This tool does both — format and validate your JSON.
No. Formatting happens entirely in your browser using JavaScript. Your data never leaves your device — you can verify this by opening the Network tab in DevTools.
Yes — use the Indent selector under the output panel. Choose between 2 spaces (default), 4 spaces, or tab characters.
No. The formatter preserves key order so you keep the structure your tooling expects.
Click the Minify button to remove all whitespace and produce compact JSON. This is useful for reducing file size or preparing JSON for transmission.