EPC QR code for a SEPA transfer
The European bank-transfer code: beneficiary, IBAN and amount in the EPC069-12 format that European banking apps read.
An EPC QR code stores the details of a SEPA credit transfer — beneficiary, IBAN, amount, reference — that a European banking app reads to pay.
Style this code — colour, shape, branding, frame and output
Colour & contrastThe ink, the paper behind it, and the three eyes. Every choice is contrast-checked as you make it.
ShapeHow the squares are drawn. The three eyes are styled apart from the data, because a scanner finds the code by them.
BrandingYour mark on the code. Every picture here costs scanability — the notes say how much, and the preview is the truth.
Frame & captionA border and a line of text around the code — the "scan me" that tells a passer-by what it is for.
OutputWhat comes out of the download buttons, and what the symbol actually carries.
Print-ready PDF
A press file at the finished size: 3mm bleed, crop marks and a trim box a print shop’s checks read. The code is drawn black on white whatever the design above — how a colour prints is something only a test print can show.
The IBAN is checked before anything is drawn
IBANs carry a mod-97 checksum, so a mistyped one is detectable rather than merely wrong. It is validated before the code is built and nothing is drawn if it fails — a printed transfer code with a bad IBAN is money going to an error message at best.
It is a text block, not a link
EPC069-12 is fixed-position plain text, not a URI. That is why a general QR scanner shows it as text rather than opening anything: the banking app is what recognises the format. Testing with a camera app tells you the code scans, not that it pays.
Which banks read an EPC QR code?
This is the SEPA scheme. For India the equivalent is UPI, which is a different format entirely and has its own generator with the app compatibility matrix.
EPC QR codes
Which apps read it?
Most European banking apps support EPC069-12 in their scan feature. Support is per bank rather than per country, so test with the one your payers actually use.
Can I leave the amount blank?
Yes. The payer enters it — the usual choice for a donation code.
Why does my phone show text instead of paying?
A camera app is not a banking app. Scanning from inside the bank’s own app is what recognises the format.
Does it work outside the euro area?
No — the scheme is euro-only and SEPA-only, so a bank outside it will not act on the code. Elsewhere, use the local scheme: UPI, PIX or QRIS.

Built to ISO/IEC 18004:2024 (the QR code symbology) · EPC069-12 (the European Payments Council’s SEPA credit transfer QR)