Our free Factur-X validator checks a Factur-X or ZUGFeRD invoice in one go. Drop the PDF or the XML file below: we extract the embedded XML, check its structure against the official schema and apply the business rules of the right Factur-X profile. The file never leaves your browser.
Drop your XML file here or click to choose a file
UBL, CII or another e-invoice format (.xml, .p7m), or a PDF with embedded XML (Factur-X, ZUGFeRD). The file stays on your own computer.
What does the Factur-X validator check?
- The embedded XML. From a PDF we take the attached XML file (factur-x.xml or zugferd-invoice.xml) and check that one. You can also drop the XML on its own.
- The structure. The XML must follow the UN/CEFACT CII schema: the right elements, in the right order, with valid data types.
- The business rules of the profile. We detect the profile (MINIMUM, BASIC WL, BASIC, EN 16931 or EXTENDED) and apply the official Factur-X/ZUGFeRD Schematron rules for it, including the EN 16931 rules where the profile requires them.
- The French rules, on request. Choose France above the drop zone to add the French CTC rules (BR-FR, version 1.4.0) of the 2026 reform.
Every message shows the official rule code. For the most common EN 16931 codes we link to an explanation in plain language.
What is Factur-X?
Factur-X is a hybrid e-invoice: a readable PDF/A-3 with a structured XML file inside. The person who opens it sees a normal PDF, while software reads the XML. France and Germany developed the format together, so Factur-X and the German ZUGFeRD 2 are technically the same. The XML uses the CII syntax of UN/CEFACT and follows the European standard EN 16931.
There are five profiles. MINIMUM and BASIC WL carry only part of the invoice data and are not complete invoices under EN 16931. BASIC, EN 16931 and EXTENDED are. Most software uses the EN 16931 profile.
Factur-X in the French e-invoicing reform
Since 1 September 2026, every VAT-registered business in France must be able to receive e-invoices. Large and mid-sized companies must also issue them. Small and micro businesses follow on 1 September 2027. Invoices travel through approved platforms (plateformes agréées). Factur-X is one of the three base formats every platform must support, together with UBL and CII. Updated on 10 October 2026.
What the Factur-X validator does not check
We do not check whether the PDF itself is a valid PDF/A-3, and we do not check signatures or registrations. Approved platforms and the French public portal perform their own checks too. The result is therefore an aid, not a guarantee that a platform or customer will accept the invoice.
Frequently asked questions about the Factur-X validator
Is the Factur-X validator free?
Yes. You need no account, and the file is processed only in your browser. Nothing is uploaded to our server.
Can I check a ZUGFeRD invoice?
Yes. ZUGFeRD 2 and Factur-X share the same technical specification, so the validator checks both. For the German XRechnung, use our XRechnung validator.
Why does my MINIMUM invoice give no EN 16931 errors?
The MINIMUM and BASIC WL profiles do not contain a complete invoice, so the full EN 16931 rules do not apply to them. We check them against their own profile rules.
Can Belgian businesses send Factur-X?
Between Belgian businesses the standard is Peppol BIS Billing 3.0 via Peppol. Another format is only allowed if both parties agree and it complies with EN 16931.
Belgian customer?
Invoices to Belgian businesses travel via Peppol in the Peppol BIS Billing 3.0 format. For those invoices, use our Peppol validator instead, because it applies the official Peppol rules.
More free tools
- E-invoice formats by country: every format the validator recognises, and also what it checks for each.
- Peppol error codes: common rule codes in plain language, such as BR-CO-15, with tested XML examples.
- Test invoices: sample files with and without errors, so that you can try the validator first.
- UBL viewer: open an XML invoice and then read it as a PDF.