At a glance
| What | xmlvalid | The EU ITB |
|---|---|---|
| Who makes it | xmlvalid, an independent product | The European Commission (DIGIT) |
| Price | Free in the browser. API: 100 validations a month free, Pro from $29 a month | Free, as a hosted service too; open source (EUPL-1.2) |
| Where the check runs | In your browser (WebAssembly): the file is not uploaded. The API and URL monitors run on our servers | On the Commission's servers, or on yours (Docker image or a Java command-line tool) |
| E-invoicing rules, ready to use | EN 16931 1.3.17 and 1.3.16, Peppol BIS and PINT, XRechnung, Factur-X and ZUGFeRD, and national rules (France, the Netherlands, Denmark, Norway, Portugal, Croatia, Romania, Italy, Saudi Arabia): 71 profiles | The hosted eInvoice Validator: EN 16931 release 1.3.17 for UBL invoices, UBL credit notes and CII invoices. Other rule sets: a validator you configure and host |
| Other schemas | 166 schemas in the catalog, plus your own | The ones a validator is configured with; your own files where the validator allows them |
| Schema languages | XSD 1.0, DTD, RelaxNG (XML and compact syntax), Schematron | XSD 1.0, XSD 1.1 when configured, Schematron |
| Input | Paste, file, URL, a folder or .zip of up to 1,000 documents; Factur-X and ZUGFeRD PDFs | File, direct input, and a URI where it is turned on (off by default) |
| File size | Up to 1 GB (50 MB without an account); API up to 1 GB on Pro | Not stated |
| APIs | REST API with OpenAPI, command-line client, GitHub Action, SDKs for PHP (with Laravel and Symfony packages), Python and TypeScript, an MCP server for AI agents, n8n, Apify and a Postman collection | REST and SOAP (the GITB validation service API), a command-line JAR (Java 17), a Docker image |
| Reports | HTML and PDF report with the document's SHA-256 and the engine versions that checked it, JSON; report links anyone can open (Pro) | XML (GITB TRL), PDF and CSV; JSON from the REST API |
| Explanations of rules and errors | A page for every rule and for 90 common error messages, linked from each finding | Not stated |
| Your data | Validated in your browser; API documents are deleted when the check finishes | Anonymous and stateless: no test data or reports are kept once validation completes |
Where xmlvalid fits better
- Nothing to set up: Peppol, XRechnung, Factur-X, PINT and national rules are configured and named with their releases, and the XRechnung and Peppol findings are compared every week with the KoSIT validator and Saxon.
- Validation on your own machine without installing anything: the engine runs in the browser, so the document is not uploaded.
- DTD and RelaxNG as well as XSD and Schematron, and schema sets with includes.
- Every rule and 90 common error messages explained on their own pages, linked from each finding.
- An API with quotas, keys, webhooks and URL monitors, plus a GitHub Action and SDKs.
Where the EU ITB fits better
- Your own servers, or no network at all: the ITB validators run from Docker or as a command-line tool, under an open-source licence. xmlvalid has no self-hosted edition yet (it is in development).
- XSD 1.1: an ITB validator can be configured for it. xmlvalid uses libxml2, which reads XSD 1.0 only.
- An official reference from the European Commission, with SOAP and the GITB test bed for conformance testing.
- A free hosted REST and SOAP API; the xmlvalid API is free for 100 validations a month, then Pro.
Questions
Do both give the same EN 16931 results?
Yes for the same release: both run CEN's published Schematron. The ITB eInvoice Validator uses release 1.3.17, as xmlvalid's EN 16931 profiles do; xmlvalid's Peppol, XRechnung and French profiles use 1.3.16, the release those rules are published with.
Can I run xmlvalid on my own servers?
Not yet. A self-hosted edition is in development; you can leave your email on the pricing page. The validator in the browser already keeps documents on your machine.
Does xmlvalid support XSD 1.1?
No. It recognises XSD 1.1 constructs and says so, but libxml2 validates XSD 1.0 only.
Is the ITB validator good for CI?
Yes, if you run it: its command-line JAR or Docker image fits a pipeline. xmlvalid's GitHub Action and command-line client call a hosted API instead, with nothing to install.
How we compared
What the table says about the EU ITB comes from its own public pages, as they read on 19 October 2026; "Not stated" means we found no answer there. Products change: if something here is out of date, tell us and we will correct it.
- Interoperability Test Bed
- ITB guide: setting up a validator for XML
- ISAITB/xml-validator on GitHub
- ITB eInvoice Validator