XML diff that compares meaning, not formatting
Two XML files can differ on every line and still say exactly the same thing. Kotej parses both and compares their structure, so re-indented files, reordered attributes and shuffled lists of the same elements count as equal, and a changed value does not hide among them.
Free, no account, and nothing is uploaded: everything is compared in your browser.
What it does
- Attribute order ignored<item sku="A" qty="2"/> and <item qty="2" sku="A"/> are the same element. Serializers reorder attributes all the time; Kotej doesn't care.
- Formatting ignoredIndentation, line breaks and whitespace between elements are not content. A pretty-printed file and a one-line file compare as equal.
- Repeated elements as a setA list of <item> elements in a different order is still the same list. Differently named siblings keep their order, because there it can carry meaning.
- Line-by-line view when they differSee the changes side by side, as a unified diff like GitHub's, or word by word inside each line.
How to use it
- Open Kotej and pick the two XML files, or drop them on each side. Any extension works: .xml, .xsd, .xsl, .wsdl, pom.xml, .svg, .plist.
- Kotej tells you whether they are identical, equivalent (same structure, different formatting) or different.
- Open the file to see what changed, in the layout that reads best for you.
Questions
How is this different from a normal text diff?
A text diff compares lines, so re-indenting a file or reordering attributes marks everything as changed. Kotej parses the XML and compares the documents, so it only reports a difference when the content differs.
Does it handle namespaces?
Yes. Elements are compared by namespace and local name, so a different prefix bound to the same namespace is not a difference. Namespace declarations themselves are treated as structure, not content.
Can I compare whole folders of XML files?
Yes. Pick two folders, or two ZIP, JAR or WAR archives, and Kotej pairs the files by path and applies the XML comparison to each of them.
Can I check that an XSLT migration produces the same output?
Yes. Save the output of the old and the new transformation and compare them here: reformatting and attribute order won't count, only real changes will. From XSLT Playground you can send a run straight to Kotej.
Are my files uploaded?
No. Kotej runs entirely in your browser: files are read on your device and compared there. Nothing is sent to a server, which is also why it works on confidential configuration, customer data and production logs.
Is it free?
Yes, free and with no account. There is also a native macOS app with the same engine, for comparing folders straight from Finder: Kotej on the Mac App Store.
Kotej