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.
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.
Minified in, readable out
{"name":"jamun","tags":["fruit","tropical"],"sweet":true}{
"name": "jamun",
"tags": [
"fruit",
"tropical"
],
"sweet": true
}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.
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.
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.
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.
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.
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.
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.