XML Formatter
Formatly is a free online XML formatter that pretty-prints, validates and minifies your XML instantly in the browser. Nothing is uploaded to a server, so your data stays private, with no sign-up required.
XML Formatter features
Format & Beautify
Pretty-print messy or minified XML with clean indentation while preserving attribute order, comments, CDATA, processing instructions and the XML declaration.
Minify XML
Collapse insignificant whitespace between tags to shrink your XML for faster transfer and smaller files, without altering the data.
Validate Well-Formedness
Check that your XML is well-formed and get precise line and column locations for unclosed tags, mismatched tags and other syntax errors.
Collapsible Tree View
Browse your document as an interactive tree, expanding and collapsing nodes to understand deeply nested structures at a glance.
100% Private & Client-Side
All processing happens in your browser. Your XML is never uploaded to any server, making it safe for sensitive or confidential data.
Copy, Download & Upload
Load files from your device, copy formatted output to the clipboard in one click, or download the result as a ready-to-use file.
What is XML?
XML (Extensible Markup Language) is a text-based format for storing and exchanging structured data. It uses nested elements wrapped in angle-bracket tags (such as <book>...</book>), each of which can carry attributes like id="42". A well-formed document has exactly one root element, and every opening tag must have a matching closing tag.
Beyond plain elements and attributes, XML supports several special constructs: an optional XML declaration (<?xml version="1.0" encoding="UTF-8"?>), comments (<!-- ... -->), processing instructions, and CDATA sections (<![CDATA[ ... ]]>) that hold raw text without escaping. The characters &, < and > are reserved and must be written as entities (&, <, >) in normal text.
XML is widely used for configuration files, SOAP web services, RSS and Atom feeds, SVG graphics, office document formats and countless data interchange scenarios. Because real-world XML is often delivered minified or on a single line, a formatter makes it readable so you can inspect structure, debug issues and verify content quickly.
How to format XML online
- Paste your XML into the editor, or use Upload to load a .xml file, or click Sample to start from an example.
- Click Format to pretty-print the XML with clean, consistent indentation.
- Use the Indent control to choose 2 spaces, 4 spaces or Tab for your preferred style.
- Click Validate to check well-formedness; any error is reported with its line and column.
- Switch to Tree view to explore the document as a collapsible hierarchy, or click Minify to compact it.
- Click Copy to copy the result, or Download to save it as a file.
XML example: before & after
The formatter placed each element on its own line and indented the child elements two spaces to reveal the structure.
Before
<note><to>Tove</to><from>Jani</from><body>Don't forget the meeting!</body></note> After
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget the meeting!</body>
</note> Formatter vs beautifier vs validator vs minifier
These terms overlap but describe different actions on your XML:
- XML Formatter / Beautifier: Reindents and pretty-prints XML so the nested structure is easy to read. "Formatter" and "beautifier" mean the same thing here, and the Indent control lets you pick 2 spaces, 4 spaces or a tab.
- XML Validator: Checks that the document is well-formed - one root element, properly closed and nested tags, quoted attribute values and correctly escaped characters - reporting the line and column of any error. Note this is well-formedness checking, not DTD or XSD schema validation.
- XML Minifier: Does the opposite of beautifying. It removes insignificant whitespace between elements to produce the most compact valid output.
With Formatly you get all of these in one tool, plus a collapsible tree viewer, so you can beautify, validate, view and minify XML from a single page.
Common XML errors and how to fix them
- Unclosed tag, e.g. <item> with no matching </item> Close every element with a matching end tag, or use a self-closing tag like <item/> for empty elements.
- Mismatched tags, e.g. <a>text</b> Ensure each closing tag name exactly matches its opening tag and that tags are nested in the correct order.
- Missing quotes around an attribute value, e.g. <node id=42> Wrap all attribute values in single or double quotes: <node id="42">.
- Multiple root elements at the top level Wrap your content in a single root element; a well-formed XML document must have exactly one top-level element.
- Unescaped reserved characters & < > in text Replace them with entities &amp;, &lt; and &gt;, or place the content inside a CDATA section.
- Invalid or misplaced XML declaration Put the declaration <?xml version="1.0" encoding="UTF-8"?> as the very first line, with no whitespace or content before it.
Private by design
Every byte of XML you paste is processed locally in your browser. Formatly makes no network request with your data, logs nothing, and stores nothing on any server — so it is safe for API responses, configuration, tokens and other sensitive content. Your most recent input and theme are saved only in your own browser's local storage.