jamuny.editor

JSON Formatter and Validator

Paste JSON and get it back indented and readable, or collapsed to a single line for a config file. If it will not parse, the error names the exact line and column rather than an unhelpful character offset, which is usually the whole reason you opened a formatter in the first place. Because it runs entirely in your browser, you can paste an API response containing customer data or an access token without it leaving your machine.

What "local-first" means

Most online text tools send whatever you paste to a server, run the work there, and send a result back. Your words sit in someone else's logs, backups and databases, and you have to trust a privacy policy.

Local-first means the opposite: the whole tool is downloaded to your browser and runs on your own device. Nothing you type is transmitted anywhere: not to us, not to anyone. There is no server that could receive it, which is a stronger guarantee than a promise not to look.

Three consequences worth knowing:

You do not have to take that on trust. Open your browser's developer tools, watch the network panel, and type: nothing appears in it.The network's verify page walks through the same check on every Jamuny tool.

How to use it

  1. Paste your JSON. An API response, a config file, or something copied out of a log line.
  2. Format or minify. Pretty-print for reading, or collapse to a single line for a config value or a query string.
  3. Read the error, if any. Invalid JSON reports the exact line and column rather than a character offset you have to count to.

Worked example

Minified in, readable out

Input
{"name":"jamun","tags":["fruit","tropical"],"sweet":true}
Output
{
  "name": "jamun",
  "tags": [
    "fruit",
    "tropical"
  ],
  "sweet": true
}

Safe for real API responses

Parsing and formatting happen in your browser, and there is no backend to receive the data. That means you can paste a response containing customer records, an access token or an internal hostname without it leaving your machine.

This is worth checking rather than believing. Open your browser's network panel, paste a payload, press Format, and watch that no request carries it. Most online formatters POST your input to a server to do the work, which is fine for a toy example and a problem for anything from production.

Why valid-looking JSON fails to parse

JSON is stricter than JavaScript object literals, and almost every parse error comes from that gap. A trailing comma after the last item is legal in JavaScript and forbidden in JSON. Keys must be in double quotes; single quotes and bare keys are both invalid. Comments do not exist in JSON at all, despite being common in config files that call themselves JSON.

Two more catch people out: NaN and Infinity are not valid JSON numbers, and a literal newline inside a string must be escaped as \n rather than typed. The error message here names the line and column so you can go straight to it.

What minifying does and does not change

Minifying removes every space and newline between tokens and leaves the values untouched, so the result parses to exactly the same data and is usually twenty to forty percent smaller. Use it when the JSON is going into an environment variable, a query string or a database column.

Formatting never reorders keys and never changes types. Key order is preserved as parsed, and numbers, booleans and nulls stay numbers, booleans and nulls rather than becoming strings. Only whitespace between tokens differs.

Questions

Is it safe to paste production API responses here?

Yes, in the sense that nothing is transmitted. Parsing and formatting happen in your browser and there is no server to receive the data. Most online formatters POST your payload to a backend; this one has no backend at all.

Why does my JSON fail on a trailing comma?

Because JSON genuinely forbids it, even though JavaScript object literals allow it. The same applies to single-quoted keys and comments, all common in config files, none of them valid JSON.

What does minified output actually change?

It removes every space and newline between tokens while leaving values untouched, so the result parses identically and is usually 20 to 40 percent smaller. Use it when the JSON is going into a config value or a query string.

Does formatting reorder or alter my data?

No. Key order is preserved exactly as parsed, and numbers, booleans and nulls keep their types rather than becoming strings. Only whitespace between tokens changes.