Beautify, validate, minify and explore XML in one full-width workspace.
100% client-side — your document never leaves your browser.
This checks well-formedness: nesting, closing tags, quoting, entities and a single root. It does not check the document against an XSD or DTD.
Paste an XML document, open a file from your device, or drop one onto the editor, and it is pretty-printed the moment it lands. Every operation — formatting, validation, minifying, XPath, conversion — runs in JavaScript on your own machine. Your document is never sent anywhere, so there is no file-size cap, no queue, and no reason to think twice before pasting a SOAP response or a production config.
Choose 2 spaces, 4 spaces, or tabs; put every attribute on its own line for long element headers; sort attributes alphabetically with namespace declarations pinned to the front; and decide whether empty elements collapse to <tag/>. Most online formatters give you one hardcoded style.
A purpose-built parser reports the first problem with the precise line, column and a plain-English explanation — mismatched closing tag, duplicate attribute, bare ampersand, two root elements. Click the error and the cursor jumps straight to the character that broke the document.
Collapse and expand the whole hierarchy, see attribute counts at a glance, and copy the exact XPath of any node with one click. Prefixes are shown as written, so xs:element stays xs:element instead of being flattened into a guess.
Run a query against the document you are editing and see every match with its resolved path and value. Documents that declare a default namespace are automatically reachable through the d: prefix — the single most common reason an XPath query silently returns nothing elsewhere.
Turn XML into JSON with configurable attribute prefixes and text keys, flatten a repeating record set into CSV for a spreadsheet, or minify for transport and see exactly how many bytes you saved.
When an element holds both text and child tags, added indentation would change the document's meaning. Instead of silently rewriting it, the formatter replays that content byte-for-byte. Naive beautifiers quietly break XHTML fragments and localisation files this way.
No signup, no install, no plugin. The whole flow takes a few seconds and works the same on desktop and mobile.
Paste it into the editor, press Open File to pick a .xml, .xsd, .svg, .rss, .wsdl or .pom file from your device, or drag a file straight onto the workspace. Large documents are fine — there is no server, so there is no upload limit.
The document is checked for well-formedness as you type. A green panel means it parses cleanly; a red one names the exact line, column and cause. Click the error to jump to it in the editor.
Press Format to pretty-print with your chosen indentation, Minify to strip insignificant whitespace, or switch to the Convert tab for JSON and CSV output. Adjust indent size, attribute layout and sorting in the options row and re-run instantly.
Copy the formatted document to your clipboard, or download it as a file. Your settings and your last document are remembered locally so the page is ready the way you left it next time.
Several popular online XML formatters post your document to their backend, and at least one states outright that submitted data is stored on their servers and may be retained. Here the parsing code is the page itself. Watch your browser's Network tab while you format: the only traffic is the page loading its own assets, plus the analytics and ad scripts that fund the site. Your XML is not among it, because there is no endpoint to send it to.
Server-backed formatters cap uploads, commonly at a few hundred kilobytes, because they pay for every byte. A multi-megabyte export formats here just as well as a ten-line snippet.
The workspace is full-width, the editor is the same engine that powers VS Code, and it loads only after the page is interactive. No interstitials, no modal asking you to sign in, no ad wedged between the toolbar and your document.
Once the page has loaded, formatting, validation, XPath and conversion all keep working with the connection off — on a plane, behind a corporate proxy, or inside an air-gapped environment where pasting XML into a website is a policy violation.
The established tools rank well and do the basics competently. These are the specific things they leave on the table.
Liquid Technologies' online formatter tells you plainly that data you submit is stored on their servers for processing and may be retained; FreeFormatter and ReqBin also round-trip through a backend. That is a real problem when the XML is a signed SAML assertion, an invoice, or a config with credentials in it. This tool has no backend to send it to.
CodeBeautify and JSONFormatter make you leave for a separate XPath page, losing the document you were working on. Here the query runs against the buffer you are editing, with namespaces already bound.
Most tools offer indent width and nothing else. Attribute-per-line layout, alphabetical attribute sorting, comment stripping and empty-tag collapsing are the settings people reach for when preparing XML for code review or a version-controlled config, and they are all here.
The biggest formatter sites offer a save button that stores your XML at a public URL with no authentication. It is an easy click to make by accident. There is no such button here — download goes to your own disk.
A raw parser message like 'unexpected token at position 1487' tells you almost nothing. Every error here names what was wrong and what to do about it, and points at the character responsible.
SOAP envelopes and legacy REST endpoints arrive as one enormous unbroken line. Formatting turns that into a readable hierarchy so you can find the fault element or the one field that came back empty.
Maven pom.xml, Spring beans, web.xml, Android layouts, .csproj and log4j configs are all XML. Consistent indentation before a commit means diffs show what actually changed instead of a whitespace storm.
RSS and Atom feeds, sitemap.xml, SVG graphics, DOCX and XLSX internals, and EPUB manifests are XML underneath. Format one to inspect it, validate it before publishing, or minify a sitemap before deploying.
Bank statements, healthcare HL7 exports, EDI translations and government filings still ship as XML. Convert a repeating record set to CSV for a spreadsheet, or to JSON for a modern pipeline.
Before wiring a selector into a scraper, an XSLT stylesheet or an integration test, run it here against real data and confirm it matches what you expect.
Minifying strips indentation and comments from XML that is about to travel over the wire or be embedded in a template, often cutting 20–40% of the bytes with no change in meaning.
Well-formedness is stricter than HTML. These are the five failures the validator reports most often.
Every element needs a matching closing tag, and tags must nest, never overlap. <b><i>text</b></i> is invalid — write <b><i>text</i></b>. Elements with no content can close themselves as <tag/>.
Ampersand starts an entity reference, so it cannot stand alone. Write & for a literal ampersand, and likewise < for <. The same applies inside attribute values.
An XML document has exactly one top-level element. If you have concatenated several records, wrap them in a shared parent such as <records>…</records>.
Attribute values must always be quoted — id="7", never id=7 — and a single element cannot declare the same attribute twice.
<?xml version="1.0"?> must be the very first thing in the file. A blank line, a space, or an invisible UTF-8 byte-order mark ahead of it makes the document invalid.
Everything worth knowing about formatting XML in your browser.
Yes, completely. There is no signup, no trial, no usage quota and no paid tier holding back features like the tree view or XPath tester. The site is funded by ads placed below the workspace.
No. Parsing, formatting, validation, XPath and conversion are all JavaScript running in your browser tab. There is no backend that receives your document. You can verify it yourself in DevTools: the page loads its own assets and, like most free tools, analytics and ad scripts — but formatting, validating or converting a file triggers no request at all, and nothing you paste appears in any request body.
Paste it in and press Format. The parser rebuilds the element hierarchy and re-indents it with your chosen indentation, so a single-line SOAP response or minified feed becomes a readable tree. Nothing about the content changes — only insignificant whitespace between elements.
Well-formed means the syntax is correct: one root element, properly nested and closed tags, quoted attributes, escaped ampersands. Valid means it additionally conforms to a schema such as an XSD or DTD, which defines which elements may appear where. This tool checks well-formedness, which is what almost every parser failure comes down to. To inspect a schema itself, use the XSD schema viewer.
There is no limit imposed by the tool, because nothing is uploaded — the only constraint is your device's memory. Documents in the multi-megabyte range format fine on a normal laptop. Very large files may take a moment to render in the editor.
Yes. The Convert tab produces JSON using the standard convention of an @ prefix for attributes and a #text key for element text, both configurable. Repeated sibling elements automatically become arrays. CSV output is also available for documents that hold a repeating list of records.
Only the whitespace between elements, which XML parsers ignore. Text content, attribute values, CDATA sections, comments and the XML declaration are preserved. Where an element mixes text and child elements, the original content is copied through untouched, because indenting it there would genuinely alter the document.
Yes. Once the page has loaded, every feature keeps working with no network connection. That also makes it usable in environments where pasting data into an external website would breach policy.
Explore an XML Schema Definition with an interactive type browser and clickable navigation.
The same treatment for JSON — format, validate and explore with a tree view.
Convert between YAML and JSON when your config lives in a different format.
Compare two formatted documents side by side and see exactly what changed.
A private, tabbed scratchpad with syntax highlighting for 20+ languages.
Every formatter, validator and converter on the site, all running client-side.
No registration, no tracking of your content, no server uploads. Don't just take our word for it:
Your files and text are processed entirely on your device. Nothing is ever sent to us.
Once loaded, this tool keeps working with your Wi-Fi turned off. Try it.
Open your browser's DevTools → Network tab. You'll see zero requests carrying your data.
Discover other powerful utilities designed to supercharge your workflow and boost productivity.
Turn plain words into fancy Unicode text and symbol frames you can copy and paste into any bio, username, or caption.
Copy-and-paste fonts for Instagram bios, names, captions and Stories, checked against Instagram's own limits and filtering.
Turn plain words into elegant cursive, script, and blackletter Unicode text you can copy and paste anywhere.