xmltoolskit.org
XML utilities, in the browser
Say hi →

Format, validate, convert, and explore XML in seconds.

browser-based XML utilities · updated 19 May 2026

A growing collection of browser-based XML tools for the awkward parts of the job — pretty-printing, validating, diffing, and converting to and from the formats you actually use. Everything runs in your browser, nothing uploaded. XML is still the lingua franca of B2B / EDI, SOAP, RSS / Atom feeds, Spring / Maven configs, and the inside of every Office file (XLSX, DOCX, PPTX) — so these tools keep coming in handy long after the format went out of fashion.

Convert (some reversible)
View & check
Manipulate

Converting between formats

Most XML you'll meet in 2026 is something else in disguise — an enterprise system spits out XML that the consumer wants as JSON, or a frontend ships JSON that some legacy SOAP endpoint demands as XML. The converters round-trip cleanly for the common shapes: attributes are preserved (or hidden, your choice), repeating elements collapse into arrays, and CDATA sections are kept as text. For tabular XML — anything that looks like <rows><row>...</row></rows> — the XML to CSV tool flattens the repeating element into a CSV (or TSV, with \t as delimiter) so it lands in a spreadsheet without a detour.

Looking at an XML

Sometimes you just want to read the file. The formatter pretty-prints minified payloads — the sort of single-line SOAP envelope or signed XML blob you can't make sense of in a terminal. The validator tells you whether the document is well-formed and points at the first parse error with a line and column. The schema validator checks an XML against an XSD — element structure and simple-type values — useful for sanity-checking what an EDI partner sent you before the downstream parser blows up.

Diffing two XMLs

Plain diff hates XML — a one-character whitespace change reshuffles the line breaks and you get a screenful of false positives. The diff tool normalises both inputs (canonical attribute order, optional comment stripping, optional whitespace ignore) before doing a line-by-line unified diff, so what you see is the real structural delta between two versions of a config or a feed.

Searching and transforming

The XPath tester runs XPath 1.0 against your document via the browser's native document.evaluate — match nodes, evaluate string / number expressions, see exactly what your selector picks up before pasting it into production code. The XSLT tester uses the native XSLTProcessor to apply a stylesheet — handy for one-off transforms when reaching for xsltproc on the CLI feels like overkill.

What they have in common

Everything runs in your browser. The files you drop or paste never leave your machine — there is no server component handling data. I can't see your envelopes because they were never sent to me. That means no size cap beyond your browser's memory, no account required, and nothing for me to leak. See the privacy policy for the longer version.

Sensible defaults, no hidden magic. Validation uses the same DOMParser every browser ships, so the well-formedness errors match what your runtime would say. Conversion preserves CDATA, comments, and processing instructions unless you explicitly ask otherwise. The status bar tells you what was picked.

Free to use, with no warranty. Read the terms of use before relying on the output for anything load-bearing. Bug reports, corrections, and feature requests are always welcome — drop me a line.

— S., [email protected]