XML & JSON · Formatter · Validator
Format, validate & fix XML and JSON
Paste your code, see the exact line and column of any error in red, and fix it in one click. Everything runs in your browser — private, fast, and free.
🔒 100% private — your document is processed entirely in your browser and is never uploaded, logged, or stored.
Everything you need to clean up markup
Exact error location
Every problem is underlined at the precise line and column — no vague “invalid” messages.
One-click auto-fix
Repair trailing commas, single quotes, unquoted keys, and bare ampersands instantly.
Tree view
Explore the structure of any JSON or XML document with a collapsible tree.
JSON ⇄ XML convert
Convert JSON to XML and back, side by side, with attributes and arrays handled correctly.
Completely private
Everything runs in your browser. Your data is never uploaded, logged, or stored.
Fast & lightweight
A static, near-zero-JS site with one focused editor. It just loads and works.
Free, no sign-up
No account, no paywall, no watermark. Format and validate as much as you like.
Pick your tool
Each tool opens the same fast editor, tuned for the job:
Which tool do you need?
All six open the same editor, so you can switch at any time — but each lands you on the right mode with the right documentation underneath:
| If you want to… | Use |
|---|---|
| Make an unreadable one-line document readable | JSON Formatter · XML Formatter |
| Find out why a parser rejects your file | JSON Validator · XML Validator |
| Shrink a payload before sending it | Either formatter, then Minify |
| Move data between two systems that disagree | JSON → XML · XML → JSON |
| Understand the structure of a document you did not write | Any tool, then Tree view |
How to fix a document that will not parse
The same short routine resolves the overwhelming majority of syntax errors, whichever format you are dealing with:
- Format first, read the error second. A minified document reports errors as a character offset, which tells you nothing. Formatting converts that offset into a line you can navigate to — and broken nesting often becomes visible on its own once the indentation is right.
- Treat the reported line as an upper bound, not a location. Parsers report where they could no longer continue. A bracket left unclosed on line 12 is frequently only detected at line 400, or at the end of the file. The mistake is at or before the line you are shown.
- Check the enclosing structure in tree view. The element or object that swallowed everything after it is usually obvious once you can see the hierarchy the parser actually built.
- Fix one error and re-check. Both JSON and XML parsers stop at the first failure, so a second error only appears once the first is gone. Two rounds is normal; ten means the document is probably a different format than you think.
- Use Auto-fix for the mechanical cases — trailing commas, single quotes, unquoted keys, bare ampersands — and fix structural problems by hand, because a wrong guess about where a tag should close silently corrupts data.
Built to be better than the rest
Plenty of sites will beautify your JSON or XML. Far fewer will tell you exactly where it broke and offer to fix it. Indentio combines a professional code editor, precise error reporting, and a proven repair engine into one clean, private page — so you spend seconds, not minutes, chasing a stray comma or an unclosed tag.
The editor is CodeMirror, the same engine behind many in-browser IDEs, which is why it handles multi-megabyte documents without stuttering and supports the keyboard shortcuts you already know. Validation runs on every keystroke rather than on a button press, so the red underline moves as you type and you can watch a fix take effect. Nothing about the page requires an account, and there is no upload step to wait on.
Why everything runs in your browser
The documents people most need to debug are frequently the ones they should least paste into an unknown server: an API response full of customer records, a config file containing an access token, a log line with session identifiers. Indentio parses, validates, formats, and converts using JavaScript executing on your own machine. There is no request carrying your document anywhere, nothing stored, and nothing to retain or leak — which is also why the editor keeps working when you are offline. The privacy policy sets out the specifics.
What Indentio does not do
Being clear about the boundaries saves you time:
- Schema validation — checking a document against an XSD, DTD, or JSON Schema is a different job from checking syntax. It is on the roadmap; today these tools answer “is this parseable?”, which is the question behind almost every error you actually hit.
- Repairing badly broken structure — Auto-fix handles unambiguous mistakes. When a document could be repaired in more than one way, it points at the problem instead of guessing, because a plausible wrong guess is worse than a clear error.
- Processing enormous files — a browser tool is for the document you need to read. Hundreds of megabytes is the territory of streaming tools like
jq. - Storing your work — nothing is saved, so nothing is waiting for you when you come back. That is the trade for nothing being uploaded.
Learn the formats, not just the fix
Our guides explain the errors these tools catch — why they happen and how to stop making them:
Frequently asked questions
Is Indentio free?
Yes — completely free, with no account, no paywall, and no limit on how much you format or validate.
Do you store what I paste?
No. All processing happens locally in your browser. Your JSON and XML never leave your device.
What can I format and validate?
JSON and every XML dialect — including SVG, RSS, Atom, XSD, WSDL, and sitemaps.
Does it work offline?
Once the page has loaded, yes. All parsing, formatting, and validation is JavaScript running on your machine, so the editor keeps working with the network disconnected.
Which browsers are supported?
Any current version of Chrome, Firefox, Safari, or Edge, on desktop and mobile. There is nothing to install.