tuliq
Runs in your browser

JSON Formatter & Validator

Paste any JSON and get it instantly formatted, validated, and pretty-printed. Catch syntax errors with exact line numbers, minify for production, or beautify for readability. Nothing you paste ever leaves your browser.

About this tool

The JSON Formatter & Validator turns messy, minified, or hand-typed JSON into clean, readable output — or the other way around. Paste JSON from an API response, a config file, or a log line, and it's validated as you go: any syntax error is caught immediately, with the exact line number, so you're not scanning the whole payload by eye. Format mode pretty-prints with your choice of indent width; minify strips every unnecessary space and newline, which matters when every byte in a production response body counts. Validation runs on JavaScript's own built-in JSON.parse rather than a custom re-implementation, so what passes here is exactly what your own code will accept at runtime — no gap between what a formatter considers "valid" and what your app actually parses. Nothing you paste is sent anywhere: parsing and formatting both happen entirely inside your browser.

Supported formats

  • Input — Any valid JSON per RFC 8259 — objects, arrays, strings, numbers, booleans, null, nested to any depth.
  • Output — Pretty-printed with a configurable indent width, or minified to a single line.

What you can do

  • Pretty-print JSON with a custom indent size
  • Minify JSON down for production
  • Validate JSON and jump straight to the error line
  • Copy the formatted result in one click
  • Runs entirely in your browser — nothing you paste is ever sent anywhere

How to use

Step 1

Paste your JSON

Paste or type it into the input box on the left.

Step 2

Format or minify

Click Format to pretty-print it, or Minify to compress it.

Step 3

Copy your result

Copy the output, or fix whatever line the error points to.

Example

Paste minified JSON like this:

Input

{"name":"Ada","active":true,"tags":["dev","admin"]}

Output (Format, 2-space indent)

{
  "name": "Ada",
  "active": true,
  "tags": [
    "dev",
    "admin"
  ]
}

How your data is handled

This tool is labeled 🟢 Browser: every character you paste is parsed and formatted using your browser's own built-in JSON.parse, entirely on your device. Nothing is uploaded, logged, or stored anywhere — closing or refreshing the tab clears it completely.

Frequently asked questions

Does this tool store or upload my JSON?+

No. Everything runs in your browser using JavaScript's own JSON parser. Nothing is sent to a server, logged, or saved anywhere.

Why does it say my JSON is invalid when it looks fine?+

The error message includes the exact line number where parsing failed — check for trailing commas, unquoted keys, or single quotes, which are valid in JavaScript object literals but invalid in JSON.

What's the difference between Format and Minify?+

Format pretty-prints your JSON with indentation for readability. Minify strips all unnecessary whitespace to produce the smallest possible output — useful for production API responses.

Is there a size limit on how much JSON I can format?+

No artificial limit — since parsing happens in your own browser, the only real constraint is your device's available memory.

Does it support JSON5 or JSONC (comments, trailing commas)?+

No — it validates against strict JSON (RFC 8259), the same spec JSON.parse enforces, since that's what your code will actually be parsing against in production.

Related tools