EPC QR Code Generator — SEPA Payment QR Code for Invoices
Make an EPC QR code (GiroCode) that banking apps scan to fill in a SEPA transfer — IBAN, name, amount and reference — and stamp it onto your invoice PDF.
Free, with no sign-up and no watermark. The file is processed in your browser and never uploaded.
Make the payment QR code that European banking apps scan to fill in a SEPA credit transfer: beneficiary name, IBAN, optional BIC, amount in euros and your reference. The content follows the European Payments Council guideline EPC069-12 (versions 002 and 001), the format known in Germany as GiroCode.
Download the code as PNG, SVG or a PDF with the payment details printed beneath it — or drop in your own invoice PDF and stamp the code onto it at the position and size you choose. Everything happens on your device.
Step by step
- Enter who gets paid: Type the beneficiary name (up to 70 characters) and the IBAN. The IBAN is checked as you type: country length and the mod-97 check digits. The BIC is optional in version 002.
- Add the amount and reference: Enter the amount in euros (0.01–999,999,999.99), or leave it empty so the payer types it. For the reference choose Text (up to 140 characters, e.g. your invoice number) or a structured Creditor reference (RF), which is checked too.
- Check the preview: The QR code redraws on every change. Scan it with your banking app to see exactly what the payer will see.
- Download: Save the code as PNG or SVG for your invoice template, or as a PDF with details that prints the code with the IBAN, amount and reference beneath it.
- Or stamp it on your invoice: Under Add to my invoice PDF, add the PDF, pick the page, the corner, the distance from the edges and the size in millimetres. The preview marks the spot; the code is drawn as sharp vector graphics.
Handy for
Invoices
Freelancers and small businesses add a scan-to-pay code so customers don’t have to type a 22-character IBAN.
Donations
Clubs and charities print a code on flyers or posters with the name and a fixed reference, leaving the amount to the donor.
Rent and shared costs
Send flatmates or tenants a code with the exact amount and reference.
Event fees
Put a code on a registration confirmation so the reference always matches.
Good to know
Print the code at least about 2.5 cm wide and keep its white border — phone cameras need the quiet zone around it to find the code.
Stick to plain Latin letters, digits and common punctuation in names and references; some banks replace other characters.
An RF creditor reference lets your accounting match payments automatically. Type your invoice number in the creditor-reference box and the tool offers the matching RF reference with its check digits.
A QR code can’t be changed after printing, but it also never expires and doesn’t track anyone — it is just text.
Want to double-check an IBAN first? Use the IBAN validator. To read any QR code back, use the QR code scanner.
Questions
What is an EPC QR code?
A QR code whose content follows the European Payments Council’s guideline EPC069-12 for starting a SEPA credit transfer. It holds the beneficiary name, IBAN, optional BIC, amount and reference in a fixed line-by-line layout. A banking app that supports it fills in the transfer form from the scan; the payer still checks and confirms the payment.
Is it the same as GiroCode?
Yes. GiroCode is the name used in Germany for the same EPC format, so a code made here can be printed with “GiroCode” wording if you like. The tool doesn’t add any bank or scheme logos — a plain caption such as “Scan to pay” is used instead.
Which version should I use — 001 or 002?
Use 002 unless someone asks for 001. Both are valid; the difference is that version 001 requires the BIC, while 002 makes it optional for payments within the EEA. The character set is always UTF-8 (code 1).
Can I use it for amounts in other currencies?
No. SEPA credit transfers are in euro, so the EPC code only carries an amount in EUR. For Swiss francs use the Swiss QR-bill generator; for Czech koruna use QR platba.
Why is there a size limit?
The guideline caps the content at 331 bytes, which fits in a QR code of version 13 with error correction level M (the level the guideline asks for). Letters with accents take two bytes, so very long names and references can hit the limit; the tool tells you when they do.
Are my account details or invoices uploaded?
No. The payment code, the PDFs and the changes to your invoice are all made in your browser on your own device. Your IBAN, amounts, addresses and invoice files are never sent to a server, and nothing is stored after you close the tab.
More VAT, Invoices & Payments tools
- Swiss QR-Bill Generator — Create a Swiss QR-bill payment part with receipt (CHF or EUR, QR reference, SCOR or none) and add it to the bottom of your own invoice PDF.
- QR Platba Generator — Generate a Czech QR platba (SPAYD) code with account, amount, variable symbol and message, ready for invoices — the format every Czech banking app reads.
- E-Invoice Viewer — Open XRechnung, ZUGFeRD/Factur-X PDFs, Peppol UBL and Italian FatturaPA (.xml or .p7m) invoices as a readable document and save them as PDF.
- VAT Calculator — Add VAT to a net price or take it out of a gross one, with the current standard and reduced rates for 25 countries, or any rate you enter.
- IBAN Validator — Check an IBAN's length, country format and mod-97 check digits, see the bank and account parts, and copy it in print or electronic format.