XML Formatter & Beautifier, Pretty-Print or Minify Online
Paste tangled XML and get it beautified, minified and checked for well-formedness in one keystroke. Comments, CDATA, the declaration and processing instructions survive untouched, and when the markup is broken we point at the line: all client-side, nothing uploaded.
What is the xml formatter?
The XML Formatter beautifies or minifies XML with real well-formedness checking, preserving CDATA, comments, the declaration and processing instructions untouched. When markup is broken, it points at the precise error line. Free and client-side, your XML is processed in the browser and never uploaded.
The GigAI XML Formatter is a desktop-grade XML editor that runs entirely in your browser. Paste, drop or type XML and it pretty-prints with 2-space, 4-space, or tab indentation, or minifies every scrap of insignificant whitespace away for the smallest transport payload. Unlike naive formatters that mangle your document, it treats comments, CDATA sections, the `<?xml ...?>` declaration, processing instructions and `<!DOCTYPE>` as verbatim blocks, they come out exactly as they went in, and it inlines simple text nodes like `<title>Hello</title>` onto a single line so the result reads the way a human would write it. Self-closing tags stay self-closing. Crucially, it doesn't just reflow: it runs your markup through the browser's native XML parser to check real well-formedness, so mismatched tags, unclosed elements, stray `<` and `&`, or a broken CDATA close are flagged with the line where the parser gave up, the difference between a two-second fix and squinting at a wall of angle brackets. It shows the byte size before and after so minify savings are visible, keeps a full undo/redo history, imports by drag-drop or paste, and exports or shares in a click. Because parsing and formatting happen locally with the browser's own XML engine, your documents (SOAP payloads, SAML assertions, config files, sitemaps, invoices) are never uploaded, logged or seen by anyone. Close the tab and it's gone.
- Difficulty:
- Easy
- Typical time:
- ~15s
- Processing:
- 100% browser processing
Last updated
How to use the xml formatter
- 1
Paste, drop or import XML
Paste into the left editor, drag an .xml / .svg / .rss file onto it, or click to browse. Or load a built-in sample to try it instantly.
- 2
Choose beautify or minify
Pick Beautify and an indent of 2, 4 or tab to pretty-print, or Minify to collapse the document. Everything re-runs live as you change options.
- 3
Fix any well-formedness error
If the parser rejects the markup, read the message and line in the error banner. The usual culprits are a mismatched or unclosed tag, or an unescaped & or <.
- 4
Copy, download or share
Copy the result, download it as an .xml file, or share a link that reopens the tool with your document pre-loaded.
What XML Formatter includes
Beautify or minify
Pretty-print with 2-space, 4-space or tab indentation and clean inlining of text-only elements, or minify to strip every byte of insignificant whitespace for the tightest payload.
Real well-formedness check
Your markup runs through the browser's native XML parser, so mismatched tags, unclosed elements, stray < or & and broken CDATA are caught. Not silently reflowed into worse XML.
Error line, not a shrug
When the document isn't well-formed we surface the parser's message and the line it stopped on, so you jump to the problem instead of counting angle brackets.
CDATA & comments preserved
Comments, CDATA sections, the <?xml?> declaration, processing instructions and DOCTYPE are treated as verbatim blocks and emitted byte-for-byte. Never escaped, reindented or lost.
Byte size before & after
See input and output size and the exact percentage saved when you minify, so you know precisely what trimming whitespace buys a SOAP call or config bundle.
Drop, paste, copy, share
Drag an .xml, .svg or .rss file onto the editor, paste from the clipboard, then copy, download or share a link that reopens the tool with your document pre-loaded.
Why use our xml formatter
Read machine-generated XML
One-line SOAP envelopes, minified SVGs and API XML become a readable tree with correct indentation, so you can actually see the structure you're debugging.
Catch broken markup instantly
The well-formedness check turns a vague 'my XML won't load' into a specific error and line, so you fix the unclosed tag or bad ampersand in seconds.
Shrink payloads for the wire
Minify config, feeds and messages and watch the byte savings, smaller SOAP bodies, sitemaps and cache entries with no change to the data.
Private by design
It all runs locally, so you can safely format XML containing SAML assertions, tokens, invoices or internal schemas: none of it leaves your machine.
Built for the way you work
From quick one-off fixes to daily workflows, see how people put this tool to use.
- Backend / integration developer
Debug a SOAP or SAML payload
Paste a single-line SOAP envelope or SAML assertion from a log, beautify it to read the nesting, then confirm it's well-formed before replaying the request.
- Frontend developer
Tidy or shrink an SVG
Beautify an exported SVG to hand-edit paths and attributes, or minify it to drop editor cruft and whitespace before inlining it into your bundle.
- DevOps / platform engineer
Fix a config or pom.xml that won't load
When a Maven pom.xml, Android layout or app config throws on parse, use the well-formedness check to land on the unclosed tag or bad entity the parser rejects.
- Content / SEO engineer
Inspect a feed or sitemap
Beautify an RSS/Atom feed or XML sitemap to verify its structure by eye, then minify it back down for the smallest response over the wire.
Supported formats
Accepts XML, SVG, RSS and TXT, and produces XML, all processed locally in your browser.
- XML
- SVG
- RSS
- TXT
- XML
Frequently asked questions
Recommended tools
JSON Formatter
Format, validate and minify JSON in your browser with pinpoint error line + column, jump-to-error, key sorting and live editing: nothing is uploaded.
Base64 Encoder
Encode text or any file to Base64 instantly: Unicode-safe, with a URL-safe toggle and one-click data URLs. Runs entirely in your browser, nothing uploaded.
JWT Decoder
Decode and inspect any JSON Web Token instantly. Read the header, payload and signature, see when it was issued and expires, and optionally verify an HS256 signature. 100% in-browser. Your token never leaves your device.
UUID Generator
Generate secure UUIDs instantly, random v4, time-ordered v7, or the nil UUID. Bulk-generate up to 1,000, copy or export as TXT/CSV, all in your browser.
Barcode Generator
Generate scannable 1D barcodes (CODE128, EAN-13, UPC-A, CODE39, ITF-14, MSI, pharmacode and Codabar) live in your browser, with per-format validation and PNG or SVG export. Nothing is uploaded.
Data URI to SVG
Decode a data:image/svg+xml URI back into raw SVG in your browser, handles base64 and URL-encoded payloads, with a live preview and one-click.svg download. Nothing is uploaded.
Comparisons & guides
Go deeper on the concepts behind the xml formatter.
Common problems, solved
Hit a snag? Here are quick fixes for the issues people run into most.
It says my XML isn't well-formed but it renders in a browser.
Browsers render HTML leniently, but XML parsing is strict. Every tag must close, attribute values must be quoted, and & < > must be escaped as & < > (except inside CDATA). Check the reported line for an unclosed tag or a raw ampersand.
My HTML won't format here.
This is an XML formatter, so HTML with void tags like <br> or <img> (no closing slash) or unquoted attributes fails the well-formedness check. Make it XHTML-clean, or use an HTML-specific formatter for lenient HTML.
A raw & broke the parse.
A bare & is only legal in XML as the start of an entity like &. Escape literal ampersands as &, or wrap the affected text in a <![CDATA[ ... ]]> block so it's taken verbatim.
My indentation looks off around mixed content.
Elements that mix text and child tags (mixed content) are whitespace-sensitive: reindenting them can change meaning, so the formatter is conservative there. If exact whitespace matters, keep such nodes in a CDATA block.
Get the most out of it
Toggle Minify then read the byte-size badge to see exactly what stripping whitespace saves on a SOAP or sitemap payload.
Press Ctrl/Cmd+Enter to re-run instantly and Ctrl/Cmd+S to download the formatted XML.
Wrap anything containing raw &, < or scripts in a <![CDATA[ ... ]]> block so the formatter leaves it byte-for-byte untouched.
A well-formedness error at the very end usually means an unclosed tag somewhere above: check that every open element has a matching close.
Minify before sending XML over the wire and beautify when you need to read it. The toggle is instant and non-destructive.
What's new
Recent updates and improvements to the xml formatter.
Initial release: live beautify/minify, 2/4/tab indentation, verbatim CDATA/comment/declaration/PI handling, browser-native well-formedness checking with error line, byte-size stats, drag-drop import, undo/redo and shareable links.
Added inlining of text-only elements onto a single line and improved self-closing tag handling for cleaner, more human-readable output.
Sharpened well-formedness error messages for unescaped ampersands, mismatched tags and broken CDATA, and surfaced the offending line in the banner.
Keep exploring
Problems we solve
Definitions
From the blog
- How to Reduce SVG File Size: Minify, Trim Precision, and Strip the Cruft
- How to Find Exposed API Keys in Your Code (Before Someone Else Does)
- No AI Inside: How Our Regex Generator Actually Works
- How to Generate TypeScript Types from JSON (API Responses Made Type-Safe)
- Understanding SVG Path Syntax: The d Attribute Demystified
Explore categories
Compare formats
Common tasks
Your privacy is built in
Your XML is parsed and formatted entirely in your browser using its native XML engine. It is never uploaded to any server. Nothing is stored, logged or transmitted, so you can safely format documents containing SAML assertions, tokens, invoices or internal schemas. Close the tab and every trace is gone.
- Runs in your browser
- No uploads
- Nothing stored
Ready to try the xml formatter?
Free, private and instant. XML Formatter runs right in your browser.