Indent and validate XML, with clear messages when tags do not match.
Single-line document
Typical machine-generated XML
<?xml version="1.0"?><catalog><book id="1"><title>Dune</title><year>1965</year></book></catalog>SOAP envelope
Namespaced envelope with nested body
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getPrice><item>ABC</item></getPrice></soap:Body></soap:Envelope>Mismatched tags
Closed in the wrong order — see the error
<a><b>text</a></b>Single-line document
Typical machine-generated XML
<?xml version="1.0"?><catalog><book id="1"><title>Dune</title><year>1965</year></book></catalog>SOAP envelope
Namespaced envelope with nested body
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getPrice><item>ABC</item></getPrice></soap:Body></soap:Envelope>Mismatched tags
Closed in the wrong order — see the error
<a><b>text</a></b>Any XML document, RSS feed, SOAP envelope, SVG source or HTML fragment works. Formatting begins immediately.
Nesting is indented consistently, and elements containing only text stay on one line so the document shape remains easy to scan.
Take the formatted version for reading, or minify to strip comments and whitespace before sending the document somewhere size-sensitive.
Mismatched and unclosed tags are named explicitly, so you go straight to the problem instead of scanning hundreds of lines.
Void elements such as br, img and input are recognised, so HTML snippets format properly rather than reporting false errors.
Declarations, processing instructions, comments and CDATA blocks are preserved exactly, so nothing meaningful is lost in formatting.
XML is unforgiving about structure and generous with nesting, which makes hand-reading a raw document painful. This formatter indents the whole tree, keeps short elements on a single line so the shape stays visible, and preserves declarations, comments and CDATA sections untouched. If a tag is opened and never closed, or closed in the wrong order, you are told which tag and what went wrong instead of being handed a stack trace. It also handles HTML fragments, treating void elements like img and br correctly rather than reporting them as unclosed.
Keep going
Related pages in Developer Tools, plus what others are using right now.
More developer tools that pair well with this one.
Format, validate and minify JSON, with errors that point to the exact line.
Indent messy HTML into readable, consistently structured markup.
Tidy YAML indentation, validate structure and convert between YAML and JSON.
Format and tidy CSS, SCSS and Less with consistent spacing and indentation.
Format SQL queries across dialects, with consistent keyword casing and indentation.
Format JavaScript and TypeScript with the same rules your editor uses.
Create strong random passwords with full control over length and characters.
Work out any percentage — of a number, as a share, or as a change.
Count words, characters, sentences and paragraphs as you type.
Convert between length, weight, temperature, volume, speed, data and more.
Count characters with and without spaces, against the limits that matter.
Find the mean, median, mode and range of a list of numbers, with the working shown.
Sample and population standard deviation and variance, both shown, with the working.
Turn a logo into favicon.ico, the PNG sizes a site needs, and the HTML to declare them.
Check a downloaded file against its published checksum, without uploading anything.
Stamp text like DRAFT or CONFIDENTIAL across a PDF, in your browser.
Escape text for HTML, or turn entities back into readable characters.
See how savings grow with compounding, including regular contributions.