XML Diff
Paste two XML documents and see line-by-line what changed. Both inputs are normalised — one tag per line, consistent indentation — before diffing, so formatting differences are stripped and only real content changes are highlighted.
Last updated: May 28, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is XML Diff?
XML Diff compares two XML documents and highlights additions, removals, and unchanged lines. Before comparing, it normalises both inputs by placing each tag on its own line and removing leading/trailing whitespace, so the diff focuses on structural and value differences rather than formatting noise.
Useful when comparing API response versions, reviewing config file changes, auditing XML data migrations, and verifying that an XML transformation preserved all expected elements and attributes.
How to Use XML Diff
Paste the original XML into the left panel
Paste the modified XML into the right panel
Click "Compare XML" — green lines are additions, red are removals
Use the +/- counter in the header to gauge the scope of changes
Common Use Cases
- Backend developers comparing XML API response payloads before and after a service change.
- DevOps engineers diffing Maven POM files, Spring configuration, or WSDL definitions between versions.
- QA testers verifying that an XML transformation or XSLT stylesheet produces the expected output.
- Data engineers comparing XML export snapshots to detect unexpected changes during a migration.
- Support teams comparing SOAP request/response logs to identify where a payload diverges from the expected format.
Example Input and Output
Comparing two versions of a product XML record to spot a changed price and a new availability field.
<product><id>1</id><price>9.99</price></product>Changed: <price>9.99</price> → <price>12.99</price>
Added: <available>true</available>Attribute order
XML attributes have no defined order. If two documents have the same attributes in different order, the diff may show false differences on attribute-bearing lines.
Browser-side only
All diffing runs locally in your browser. Your XML is never transmitted.

