24 free toolsno accountnothing stored
Validate XML.
Find the fix.
Validate, format, convert, and compare XML. Look up parser errors with broken examples and their fixes, or explore 337 reference entries.
Up to 2 MB per document. Processed on our server; document contents are not stored by the tools.
<channel><item><title>First</title></channel>
Opening and ending tag mismatch: item line 2 and channel (line 4)
- Xerces (Java)
- The element type "item" must be terminated by the matching end-tag "</item>".
- expat (Python)
- mismatched tag: line 4, column 2
The toolbox
24 free tools. No account required.
Paste a document, get an answer. Each tool parses in memory on the server and returns a result — no document, fragment, or filename is written to a database or a log.
Validate
Is this document acceptable — and if not, where exactly.
Convert
Move between XML and the shapes the rest of the stack speaks.
Inspect & clean
Read the structure, compare two versions, normalise the text.
Paste it or load a file
Up to 2 MB a document, with a worked example one click away on every tool.
Carry it to the next tool
Validate, then query, convert or diff the same document without pasting it again.
libxml2 underneath
XSD and RELAX NG validation, XPath and formatting run on the engine behind PHP, lxml and Nokogiri.
The API
The same checks,
in CI, scripts and agents.
Validation, conversion, XPath, diffs and XSLT are one POST each, running the modules the tools above run — so the verdict in your pipeline is the one you saw in the browser. Documents are processed in memory and never stored.
- An HTTP APIJSON or SARIF back, an OpenAPI description you can read without a key, and 1,000 calls an hour on a free one.
- Code scanning in CIA failed check becomes an annotation on the line, in the pull request that caused it.
- MCP for agentsThe same operations as tools an agent can discover and call, on the same key and quota.
- Change webhooksAn account watch POSTs to your endpoint when a feed or partner payload changes shape.
curl "https://xmldir.com/api/v1/validate?format=sarif" \
-H "Authorization: Bearer $XMLDIR_API_KEY" \
-H "Content-Type: application/xml" \
--data-binary @public/sitemap.xml- POST /api/v1/validate
- Validate an XML document
- POST /api/v1/convert
- Convert between XML and JSON, YAML or CSV
- POST /api/v1/xpath
- Evaluate XPath against a document
- POST /api/v1/diff
- Compare two XML documents structurally
- POST /api/v1/transform
- Apply an XSLT 1.0 stylesheet
- POST /api/mcp
- The same operations, as 5 MCP tools for an agent
The reference
A tool tells you it failed. This tells you why.
Browse parser messages, schema rules, namespaces, and formats. Error entries include a failing document, the cause, and a corrected example.
- 58
Glossary
The words the specs assume you know
- 38
Formats
Root element, namespaces, what breaks
- 49
Elements
Per-element rules, broken and fixed
- 33
Namespaces
URIs and their conventional prefixes
- 40
XPath 1.0
Functions, axes and operators that ran
- 39
XSD datatypes
What validates, and what only looks like it
- 29
Parse errors
Keyed by the message you were given
- 10
Schema errors
The ones only validation surfaces
- 31
Public endpoints
Real XML, re-fetched daily
- 10
Comparisons
XML or JSON, RSS or Atom, XSD or RNG
Practical guides
From the error message to the working document.
Focused walkthroughs for parser failures, feeds, sitemap incidents, namespace-aware XPath, XSD contracts, and SOAP faults.
- 6 min
XML
How to fix an invalid XML entity reference
Find the unescaped ampersand, distinguish named entities from character references, and repair the value without hiding malformed input.
- 7 min
Sitemaps
How to fix “Sitemap could not be read”
A deterministic checklist for separating fetch failures, HTTP problems, malformed XML, namespace mistakes, and invalid sitemap entries.
- 8 min
Languages
Validate XML in JavaScript and TypeScript
Build a layered JavaScript validation path that separates XML syntax, namespace and vocabulary diagnostics, XSD validation, and application rules.
- 12 min
Security
Prevent SAML XML signature wrapping
Validate SAML structure, signatures, destination, audience, time, request correlation, and replay without consuming an unsigned sibling assertion.
- 7 min
XSLT
Make XSLT match a default namespace
Fix XSLT templates that never fire when source elements use a default namespace, with patterns that work across XSLT versions.
- 9 min
Integrations
Validate XML in GitHub Actions with SARIF
Call the XMLDir validation API from a workflow, preserve filenames, fail the job on errors, and upload SARIF for pull-request annotations.
In practice
Feeds, sitemaps, and integrations.
Sitemap operations
Track sitemap freshness, broken URL patterns, missing lastmod values, oversized files, and indexability regressions.
Keep sitemap.xml healthy at scaleVendor integrations
Map the payloads partners actually send and catch contract drift before it breaks orders, claims, listings, or reports.
Catch contract drift before it breaks ordersXML to data workflows
Extract repeatable XPath maps and prepare XML for JSON, CSV, SQL, warehouse, or Postgres ingestion, with field mappings that survive upstream schema changes.
Turn XML into clean, repeatable pipelinesSample payload vault
Keep redacted examples, test fixtures, validation notes, and known quirks in a workspace teams can search, instead of in one person's inbox.
A searchable memory for tricky XMLCI validation gates
Validate generated XML in the pipeline — sitemaps, feeds, build reports and partner payloads — and surface failures as code-scanning annotations.
Fail the build, not the customerRegulated messaging
Check e-invoicing, payment and clinical messages against both their schema and the business rules the schema cannot express.
Schema-valid is necessary, not sufficientLocalization pipelines
Track XLIFF, Android strings and other translatable resources for placeholder damage, dropped keys and markup a translator rewrote.
Catch what translation quietly changedDocument archives
Canonicalize, compare and retain scholarly, legal and publishing XML so a claim about what a document said is one you can demonstrate.
Prove the document did not change
The workspace
Keep versions. Track what changes.
Save documents in a free workspace to search their structure, compare versions, and re-check monitored URLs on a schedule.
No card. The guest workspace needs no account at all.

Search the structure
Find paths, attributes, sample values, and schema references in each document.
Compare versions
See which elements, attributes, and values changed between saved versions.
Monitor sources
Re-check feeds, sitemaps, and partner URLs for errors and structural changes.