Validate XML up to 1 GB against XSD, DTD, RelaxNG and Schematron
A streaming validator built for engineers. Your file is checked right in the browser without being uploaded, and every error comes with its exact line and column. E-invoices also get the EN 16931, Peppol and XRechnung business rules.
- max file size
- 1 GB
- schema languages
- 4
- official schemas
- 146
- uploaded
- 0 bytes
- per GB
- ~10 s
Built for production-scale XML
Three things matter when validating real-world XML: file size, privacy and the quality of the error messages. We don't compromise on any of them.
Streaming, up to 1 GB
Documents are read in chunks and validated as the stream advances, so memory stays flat: about 20 MB whether the file is 1 KB or 1 GB.
Private by design
The validator runs inside your browser as WebAssembly. Files you open or paste are never uploaded. Useful when the XML holds payments, invoices or patient data.
Precise diagnostics
Every problem comes with its exact line and column, a severity level and the parser's explanation. All errors are counted, not just the first one.
Pick the schema you actually use
Most real projects mix at least two of these. XSD, DTD and RelaxNG run on libxml2, so results match what your backend sees; Schematron runs on Saxon, like the official e-invoice validators.
XML Schema
W3C XML Schema 1.0 with complex types, identity constraints and multi-file schemas resolved through imports and includes.
- Spec
- W3C XSD 1.0
- Files
- .xsd
- Imports
- xs:import, xs:include
Document Type Definition
Validate against an external DTD file or the DOCTYPE declared in the document. Still the norm for publishing and legacy formats.
- Spec
- XML 1.0 §2.8
- Files
- .dtd
- Source
- external or DOCTYPE
RelaxNG
Pattern-based schemas in the XML or the compact syntax, with XML Schema datatypes. Well suited to document-centric and mixed-content XML.
- Spec
- ISO/IEC 19757-2
- Files
- .rng, .rnc
- Datatypes
- XSD datatypes
Schematron
The business rules of EN 16931, Peppol BIS 3.0 and XRechnung, run after the schema check: totals that add up, code lists, mandatory fields. Each finding names its rule, such as BR-CO-15.
- Spec
- ISO/IEC 19757-3
- Rules
- from the catalog
- Engine
- SaxonJS
From file to diagnostics in three steps
-
01
Open your documents
Drop a file, paste XML or fetch it by URL, or open a folder or .zip of up to 1,000 documents. Files up to 50 MB without an account, up to 1 GB with a free one.
-
02
Pick a schema
Upload an XSD, DTD or RelaxNG schema with its includes, choose one of 146 official schemas from the catalog (the EN 16931, Peppol and XRechnung ones add their Schematron business rules), or skip it to check that the document is well-formed.
-
03
Read the diagnostics
Progress updates as the file streams through. Click an error to jump to its line; the common ones link to an explanation of how to fix them.
Keep XML valid after it leaves your desk
The same engine also runs on our servers, for scripts, pipelines and documents that change on their own. Those validations run on our machines, so they count towards your plan.
The same checks in your pipeline
A REST API with an OpenAPI description, a command-line client and a GitHub Action that marks failing lines in pull requests. 100 API validations a month on Free, 10,000 on Pro.
CI and the command line →URL monitors
Validate a published feed, sitemap or partner export every hour or every day, and get an email and a webhook when it stops passing, and again when it recovers.
See Pro →Errors, explained
What the parser's 35 most common messages mean (from a tag mismatch to “This element is not expected”), why they happen and how to fix them, each with an example.
XML error messages →Validate your first document
No account required. Your XML stays in your browser.