Skip to content

QR code for SEPA payment

An EPC QR code holds the details of a SEPA credit transfer: recipient, IBAN, amount and payment reference. A payer scans it in a banking app that supports the format, and the transfer form is filled in for them to check and confirm. In Germany and Austria the same code is known as GiroCode.

Type of QR code

SEPA payment (GiroCode)

Banking apps fill in the transfer. Follows EPC069-12.

Spaces are allowed.

Optional for accounts in the European Economic Area.

Optional. Use a comma or point for cents, no thousands separator.

Payment reference

Up to 140 characters as free text, or up to 35 as a structured reference.

Optional four-letter ISO 20022 code, for example CHAR for a donation.

Optional, up to 70 characters. Banking apps may show it to the payer.

Style

Modules
Corners
Colour
Contrast 19.5 : 1

Still scans with up to 15 % damaged · 4-module border

Banking apps expect a plain SEPA code, so a logo is not offered for this type.

More settings

Estimated symbol contrast 100 % (grade A in ISO/IEC 15415)

Blank border in modules. The QR standard asks for 4.

SEPA payment codes always use level M (EPC069-12).

Preview

Fill in the fields to see your QR code.

The code is checked after each change.

Download

File format

Raster image up to 4096 × 4096 px

Nothing you type leaves your browser

How to create it

  1. Enter the recipient name as it appears on the account and the IBAN. The generator checks the IBAN checksum and points out typing errors.

  2. Add the BIC only if the account is outside the European Economic Area. Within the EEA, banks route the transfer by IBAN alone.

  3. Enter the amount in euro, between 0.01 and 999,999,999.99, or leave it empty so the payer types it in.

  4. Choose the reference: free text up to 140 characters, such as an invoice number, or a structured creditor reference up to 35 characters, such as an RF reference under ISO 11649. Then scan the preview with your own banking app.

  • On an invoice, a code of 2.5 to 3 cm is usually enough, since it is scanned from a sheet of paper on the desk.
  • Print the payment details in plain text next to the code. The EPC guideline intends this, so the payer can compare them with what the banking app shows.
  • Keep the code black on white and without a logo. The generator does not allow a logo on payment codes, because the guideline fixes the error correction level at M.

Common mistakes

  • Using it for non-euro payments

    The EPC QR code only covers SEPA credit transfers in euro. It does not work for domestic payments in the United States or for UK Faster Payments in pounds.

  • Assuming every bank supports it

    Many banking apps in the euro area can scan the code, but not all of them. Always show IBAN and reference in text as well, so payers can type them in.

  • Mixing up the two reference fields

    The guideline allows either free text or a structured reference, not both. A structured reference has to follow its format exactly, otherwise the receiving bank cannot match the payment.

What the EPC guideline defines

The format is set out by the European Payments Council in document EPC069-12, version 3.1. The code starts with BCD, uses version 002 and UTF-8, and lists recipient, IBAN, amount and reference on separate lines. The whole content may not exceed 331 bytes, and the error correction level is M.

An optional purpose code of up to four characters can be added, for example CHAR for a charitable donation. The payer's bank decides whether it uses that information.

Questions

This is a static QR code: the content sits in the code itself and works without our server.

Static and dynamic QR codes explained

Is an EPC QR code the same as a GiroCode?

Yes. GiroCode is the name used in Germany and Austria for the code defined by the European Payments Council. Both follow EPC069-12.

Does the code trigger the payment?

No. It only fills in the transfer form in the banking app. The payer checks the details and authorises the transfer as usual.

Is it safe to share my IBAN in a code?

The IBAN is the same information you print on an invoice anyway. It allows people to send you money, not to withdraw it. The code is generated in your browser, so the details do not reach our server.

Can I use it for donations without a fixed amount?

Yes. Leave the amount empty and the payer enters it in the banking app. You can set the purpose code CHAR to mark the transfer as a donation.