SEPA payment QR code
Generate the European payment QR code (EPC "GiroCode") that lets a customer pay your invoice by scanning it with their banking app — the beneficiary, IBAN, amount and reference are pre-filled, so there's nothing to type.
How a SEPA payment QR code works
A SEPA payment QR code — officially EPC069-12, widely known as a GiroCode — packs your payment details (who is paid, their IBAN, the amount and a reference) into a single QR code. When a customer opens their banking app and scans it, the transfer screen is filled in for them: no copying an IBAN by hand, no typos, no wrong reference. Print it on an invoice, a letter or a poster and getting paid becomes one scan. Everything is built right here in your browser — your IBAN and amount are never sent to us or anyone else.
Which banks and countries does it work in?
It uses the standard adopted across the SEPA area (the eurozone and most of Europe) and is read by many major banking apps — for example those of the large German, Austrian, Belgian and Dutch banks. Support is not universal, though: some banks do not scan payment QR codes at all. It is a convenience for customers whose app supports it, not a guarantee every payer can use it.
Does it only work for euro payments?
Yes. The EPC standard is for SEPA credit transfers in euro only, so the amount is always in EUR and the IBAN must be a SEPA-area account. It is not for card payments, PayPal or non-euro transfers.
Can I leave the amount blank?
Yes. Leave the amount empty and the customer's app lets them enter it themselves — handy for donations or open invoices. Fill it in and the amount is locked to what you typed.
What should I put in the reference?
Whatever helps you match the payment — an invoice number, an order reference or a short note. It appears in the payment description in the customer's app. Keep it short (up to 140 characters).
Is my IBAN or my customer's data sent anywhere?
No. The QR code is generated entirely in your browser with JavaScript — nothing you type is uploaded, logged or stored. Once the page has loaded you can even use the tool offline.
Is the BIC required?
No. For SEPA transfers within the eurozone the IBAN is enough, so the BIC is optional — leave it blank. Add it if you like (some apps show it), but the payment works without it.
Getting paid faster with a payment QR code
The slowest part of getting paid is often the customer typing your bank details into their app — and every mistyped digit means a payment that bounces back, lands in the wrong account, or arrives with no reference you can match. A SEPA payment QR code removes that friction entirely. Your customer opens their banking app, points the camera at the code, and the transfer screen appears already filled in: your name, your IBAN, the exact amount and the reference. All they do is confirm. For a small business, that small change can be the difference between an invoice paid the same day and one that drifts for weeks.
What actually goes into the code
A GiroCode packs a short, fixed set of fields defined by the European Payments Council: the beneficiary (you), your IBAN, an optional amount in euro, and an optional reference such as an invoice number. That is all a bank needs to prepare a SEPA credit transfer. There is no login, no account and no third party involved — the code is simply a compact, scannable version of the details you would otherwise write out in full at the bottom of an invoice. Because it is a plain standard rather than a service, the code you generate here works with any banking app that reads it.
Where to put it
The obvious home is the payment block of an invoice, next to your IBAN and total. But the same code works anywhere a person might pay you: a donation poster for a club or charity, a market stall or pop-up shop, a membership renewal letter, an event flyer, or a sticker on a piece of equipment you rent out. Print it reasonably large and keep a clear margin of white space around it so phone cameras lock on quickly. Because you can download it as an SVG, it stays razor-sharp at any print size, from a business card to an A2 poster.
Fixed amount or let the payer decide
Filling in the amount locks the transfer to that exact figure — ideal for an invoice, where you want the total to be unambiguous. Leaving the amount blank lets the payer type their own, which suits donations, tips or an open account. The reference field is worth using well: a clear invoice or order number appears in your bank statement alongside the payment, so reconciling who paid for what becomes a glance rather than a guessing game. Keep it short and specific — "Invoice 2026-0142" beats a long sentence.
The honest limits
This is a euro, SEPA-area tool: the amount is always in euro and the IBAN must belong to a SEPA account, so it is not for card payments, non-euro transfers or services like PayPal. Most major banking apps across Germany, Austria, Belgium, the Netherlands and beyond read these codes, but support is not universal, so it is a convenience for customers whose app supports it rather than a guarantee. Scan your own code with your phone once before you print a batch. And because everything is generated in your browser, your IBAN and amount never reach us — nothing is uploaded, logged or stored.
