Skip to content
Payments

SEPA QR code generator for bank transfers

Type the payee, IBAN, amount and reference: the page builds the QR in the European EPC069-12 format, the one compatible banking apps read to fill in the transfer for whoever pays. The IBAN is checked first, so your invoice never shows a code that points to an account that does not exist.

Updated on · by

QR code type

Need a QR code for a link, a Wi-Fi network or a contact? Use the QR code generator.

Reference or remittance text, not both: the EPC standard takes only one. The BIC is only needed for accounts in SEPA countries outside the European Economic Area, such as Switzerland or San Marino.

Appearance

Center logo (optional)

When you add a logo the ECC level is set to H automatically to tolerate the central occlusion.

Preview

History (max 10)

How to make a payment QR code

  1. 1

    Enter payee and IBAN

    The payee name (up to 70 characters) and the IBAN. The BIC is only needed for accounts in SEPA countries outside the European Economic Area, such as Switzerland, San Marino or the United Kingdom: then the page asks for it.

  2. 2

    Add amount and reference

    The amount is optional: leave it empty and the payer types it. Then free remittance text up to 140 characters, or a structured reference up to 35. The standard takes one of the two, never both.

  3. 3

    Download the QR

    PNG for an email or the invoice PDF, SVG for print. The QR updates while you type.

  4. 4

    Test it before you send it

    Scan the QR with your own banking app and check that name, IBAN and amount are right. Then back out without confirming.

Why put a QR code on a bank transfer

Someone paying an invoice has to copy the IBAN by hand, character by character, and one mistake stops the transfer until someone notices. With the QR the details go from the paper to the app exactly as you wrote them: payee, IBAN, amount and reference.

The format comes from the European Payments Council guidelines EPC069-12, written with paper invoices in mind. The same guidelines say something worth knowing: reading the code is optional for banks. Each bank decides whether its app offers it, so always print the IBAN and the reference in plain text next to the QR.

What is inside the QR

The QR holds a few lines of text, always in the same order: the tag BCD, version 002, UTF-8 encoding, the operation type SCT (SEPA credit transfer), the BIC when needed, the payee name, the IBAN, the amount in euro with a dot for the decimals, then the remittance text or the reference.

The limits come from the guidelines: name up to 70 characters, amount from 0.01 to 999,999,999.99 euro, remittance text up to 140 characters or a reference up to 35, the whole content within 331 bytes. If a value goes past them the page does not build the QR and tells you which field to fix, instead of giving you a code an app may refuse.

Glossary

Technical terms used on this page, briefly explained.

EPC069-12 #
The European Payments Council guidelines that define how the details of a SEPA credit transfer are written inside a QR code.
RF reference #
A creditor reference under ISO 11649: it starts with RF and two check digits, and lets accounting software match the payment to the invoice.
BIC #
The code of the payee's bank, 8 or 11 characters. For transfers within the European Economic Area the IBAN is enough.

Questions about payment QR codes

Will my bank's app read this QR code?
It depends on the bank. The EPC guidelines make reading it optional, and there is no official list of the apps that do. Look in the transfers section for a way to scan a QR code. The quickest test is a QR to your own IBAN for 1 euro, scanned without confirming.
Do I have to set the amount?
No. Without an amount the payer types it in the app; with one, it is already there. The standard accepts 0.01 to 999,999,999.99 euro.
Remittance text or structured reference?
Remittance text is free text up to 140 characters, like "Invoice 123 of 3 November". A structured reference, up to 35 characters, is a code your accounting software matches on its own, for example an RF reference under ISO 11649. The standard takes only one of them, and the page tells you if you fill both.
Is the BIC required?
Not for an account in the European Economic Area. For SEPA countries outside it, such as Switzerland, San Marino, the United Kingdom and Vatican City, the guidelines still require it, and the page will not build the QR without it.
Is my IBAN sent to a server?
The QR is built on the page: the IBAN and the amount are not sent to a server to generate it. If you use the history, saved QR codes stay in your browser.
Does the QR code expire?
No. The transfer details are inside the code, not a link to a website: it works as long as the account stays open.

Sources used

Laws, official tables and reference implementations the logic of this tool was checked against.

Who builds these tools?

Maurizio Fonte, senior IT consultant with 20+ years in PHP, Laravel, unmanaged Linux infrastructure, applied cybersecurity and AI/LLM integration. Production backends, legacy code modernization, security audits, custom AI agents and MCP servers: the work behind every tool published here.

About Maurizio Fonte