Factur-X/ZUGFeRD XML extractor
Upload a Factur-X or ZUGFeRD invoice — a normal-looking PDF with a structured invoice XML embedded inside it — and get that XML file back on its own, ready to import into accounting software or validate.
The invoice inside the invoice
A Factur-X invoice — ZUGFeRD in Germany — looks like an ordinary PDF and behaves like one: you can open it, read it, print it. But it is really two invoices in one file: the pages a human reads, and a structured XML invoice embedded inside the PDF as an attachment, meant for software. The idea is elegant — one file serves both audiences — right up until you need the machine half on its own: your accounting package asks for the XML, a validation service wants to inspect it, or your bookkeeper's import routine expects a bare file. This tool opens the PDF in memory, lifts the embedded XML out, and hands it back to you on its own.
Why the XML matters to your bookkeeping
The XML is the half that saves labour: amounts, VAT breakdowns, dates, party details and payment information arrive as structured fields that accounting software imports without anyone retyping a digit — which is also where typing errors go to die. Two things are deliberate here. The extracted XML comes out byte-for-byte identical to what was embedded: it is someone else's compliance document, and rewriting even a character of it could compromise its validity. And extraction is not validation — this tool does not judge the content. If you work with UBL and Peppol invoices as well, the companion tools cover that side: a structural validator to check them, and a renderer that turns them into readable PDFs.
One attachment, several, or none
Most Factur-X invoices embed exactly one file, and you get the XML straight back. Some embed more — a delivery note, terms and conditions — and rather than making you guess which attachment matters, the tool returns a .zip containing everything that was inside. The third case is the common disappointment: a PDF with no embedded files at all. That is simply a normal PDF invoice — scanned, or exported from an ordinary template — and there is no hidden XML to find in it, however official it looks. Factur-X is something the sender's software has to put in deliberately; this tool can only retrieve what was genuinely there.
What makes Factur-X/ZUGFeRD different from a normal PDF invoice
A Factur-X (France/Germany-driven, now used across the EU) or ZUGFeRD invoice is a PDF/A-3 file with a structured XML invoice (CII format) embedded inside it as a file attachment. Humans open the PDF like any other invoice; accounting software reads the embedded XML instead. This tool pulls that XML back out on its own.
What if the PDF has more than one attachment?
You'll get a .zip with everything that was embedded, instead of a single XML file.
Is my invoice data stored anywhere?
No. The PDF is read in server memory to extract the attachment, then discarded right after the response is sent. Nothing is written to disk or logged. See our privacy policy.
Does this validate the invoice?
No, this only extracts the file that's already embedded — it doesn't check whether that XML is itself a valid, compliant e-invoice.
