Beautify, minify, validate, and convert XML to JSON with a live tree view — all instantly, in your browser.
ℹ️ Legacy encodings (ISO-8859-x, windows-125x) are best-effort: browsers only natively support UTF-8, so characters outside the Latin-1 range are replaced with "?" on download. The declaration text itself is always written exactly as selected.
Saved only on this device (browser local storage) — never uploaded anywhere.
encoding="…" value in the<?xml?> declaration; toggle the declaration on/off entirely with the checkbox.Built to replace the separate formatter, validator, minifier, and converter tools people usually juggle.
No. Formatting only changes whitespace, indentation, and line breaks. The element structure, attributes, and text content remain the same.
The Fix button repairs common issues like unescaped ampersands, smart quotes, and stray trailing content, but structural problems such as mismatched tags need manual correction first.
Well-formed XML follows basic syntax rules: matched tags, quoted attributes, one root element. Valid XML additionally conforms to a schema (XSD) or DTD. This tool checks well-formedness, not schema validation.
No. Parsing, formatting, validation, and conversion all run locally in your browser using the native DOMParser. Nothing is sent to or stored on our servers.
The encoding declaration is written exactly as selected, and downloads apply a best-effort single-byte conversion for those legacy encodings. Characters outside the Latin-1 range are replaced with "?", since browsers only natively support UTF-8 encoding/decoding.
Normalize collapses all whitespace in text nodes to single spaces and trims the ends. Trim only removes leading/trailing whitespace. Trim Whitespace-Only collapses text nodes that are pure whitespace but leaves other text untouched. Preserve keeps text exactly as-is. Collapse Blank Lines reduces repeated blank lines to one.
Yes. Switch the output view to JSON to get a structured JSON representation, with attributes prefixed by @ and text content under #text where an element has both attributes/children and text.
Yes. CDATA sections are preserved exactly as written. Comments are preserved by default, or can be stripped entirely with the Remove Comments option.
There's no fixed server-side limit since everything runs in your browser. Very large XML files depend on your device's available memory, and the tree view is not virtualized so extremely large documents may render slowly.
All tools are free. If they've saved you time, consider supporting us.