Skip to content

QR code generator for a SEPA transfer (EPC QR)

A QR code holding the details of a euro transfer, to the EPC069-12 standard. Banking apps across SEPA read it, German GiroCode included.

Scan this in your banking app

Banking apps understand this code; a plain phone camera does not. The camera will show a string of characters and do nothing with it. Open your banking app and use its QR scanner.

Static code

The content is stored inside the code for good. Once printed it cannot be changed; you have to generate a new code. Dynamic codes, whose target can be swapped later, are planned for the next stage.

Code settings

At most 70 characters.

The international account number, with or without spaces. The check digits are verified.

Optional. From 0.01 to 999,999,999.99 euro. Empty means a transfer with no amount.

Optional. At most 140 characters.

Optional within the European Economic Area. Required outside it.

The side of one square (module) of the code. Recommended 0.25 to 2 mm.

How much of the code can be damaged or covered without losing data. A higher level gives a bigger code.

Blank margin around the code required by the standard. Keep it on.

Decoration

The finder patterns in the three corners stay square whatever you pick, because a scanner starts from them.

PNG, JPG, SVG or WebP, up to 512 kB. The file stays in your browser and is never uploaded. Adding a logo raises the error correction to its highest level.

Appearance

Hexadecimal, for example #000000.

Fills the quiet zone too.

Preview

Size with quiet zone: 22.5 × 22.5 mm. The on-screen preview is enlarged.

Download the code

PNG file: 270 × 270 px, 304.8 DPI. Each module gets whole pixels and the DPI is set so the printout has exactly the size in mm shown above.

What is SEPA transfer QR code

EPC QR, known in Germany and Austria as GiroCode, is the European Payments Council's standard for SEPA transfers in euro. The code holds the recipient name, IBAN, amount and title, and a banking app fills in the transfer form from it.

The standard caps the content at 331 bytes rather than characters, which matters with accented letters, since each costs two bytes. The amount is always in euro: for transfers in zloty there is a separate code in the ZBP standard.

Frequently asked questions

Is this the same as GiroCode?

Yes. GiroCode is the German trade name for the same EPC069-12 standard. A code generated here is read by any app that supports GiroCode.

Do I have to give a BIC?

Within the European Economic Area, no: the IBAN alone identifies the bank. For a transfer to a country outside the EEA the BIC is still required and must be given.

Can I issue a code in zloty?

No. The EPC standard allows euro only. For a domestic transfer in zloty use the ZBP code, which has its own page.

Is the amount required?

No. An empty amount gives a code without one and the payer types it in the app. If you do give an amount, it must be between one eurocent and 999,999,999.99 euro.

Why am I told the byte limit is exceeded?

Because the standard counts bytes, not characters, and accented letters cost two each. Shorten the payment title or the recipient name; the message says how far over you are.