SEPA payment QR code generator (EPC QR code)

An EPC QR code is the European Payments Council's standard QR code for a SEPA credit transfer; a banking app that supports it reads the payee's name, IBAN, amount and reference from it.

Make an EPC QR code (GiroCode) for a SEPA credit transfer with the payee, IBAN, amount and reference, ready to print on an invoice. Made in your browser.

Built for
Browser-sideNo accountCopy, download, or print

Follows the European Payments Council's guideline EPC069-12, version 3.1 (19 March 2024). Reviewed 30 October 2026.

Support for EPC QR codes is optional for banks, so not every banking app reads them. Scan the code with your own banking app and check the payee and amount before you send it to customers.

Last reviewed

Jump to result
Interactive workspace

Inputs

The sample is a published test IBAN. Replace it with your own.
A four-letter ISO 20022 purpose code, such as GDDS for goods.
Leave empty if you use remittance text.
Leave empty if you use a structured reference.

Result

More export options

SEPA payment QR (EPC069-12)
StatusReady to scan
AmountEUR 125
Payload92 of 331 bytes
FormatEPC069-12 version 002, UTF-8

QR payload, one element per line (EPC069-12)

LineElementValue
1Service tagBCD
2Version002
3Character set1
4IdentificationSCT
5BICCOBADEFFXXX
6Beneficiary nameAcme GmbH
7IBANDE89370400440532013000
8AmountEUR125
9PurposeGDDS
10Structured reference(empty)
11Remittance textInvoice INV-2026-001
BCD
002
1
SCT
COBADEFFXXX
Acme GmbH
DE89370400440532013000
EUR125
GDDS

Invoice INV-2026-001

Examples

What the code holds

Each value is on its own line: BCD, the version (002), the character set (1 for UTF-8), SCT, the BIC, the payee's name, the IBAN, the amount as EUR125.00, the purpose code, then the reference or the text.

Without a BIC

Version 002 lets you leave the BIC empty for payments within the EEA. Version 001 requires it.

Structured reference

An ISO 11649 creditor reference such as RF18539007547034 goes in the reference field and the text field stays empty. Only one of the two may be used.

Free-text reference

Invoice INV-2026-001 goes in the text field (up to 140 characters) when you don't use a structured reference.

Size limit

The whole payload must fit in 331 bytes, the most a version 13 QR code holds at error correction level M. Long names and texts in accented characters use more bytes.

How to use it

  1. Enter the payee's name and IBAN, and the BIC if your version or the payer's bank needs it.
  2. Enter the amount in euros, and optionally an ISO 20022 purpose code.
  3. Add either a structured creditor reference or a free-text remittance note.
  4. Check the QR code with your own banking app, then download the SVG or copy the payload for your invoice.

Questions

Will every banking app read the code?
No. The EPC guideline is voluntary, so support depends on the bank and the app. The code is widely used in Germany, Austria, the Netherlands, Belgium and Finland; test it with your own app before printing it on invoices.
Should I choose version 001 or 002?
Version 002 in most cases. It makes the BIC optional for payments within the EEA. Version 001 requires the BIC.
Can I use a currency other than euros?
No. The EPC QR code is for SEPA credit transfers in euros only.
What is the difference between the reference and the text?
The reference is a structured creditor reference, such as an ISO 11649 RF reference, that the payee's systems can match automatically. The text is free-form remittance information. A code may carry one or the other, not both.
What are the length limits?
Payee name 70 characters, structured reference 35, remittance text 140, and the whole payload 331 bytes. The amount must be between EUR 0.01 and EUR 999,999,999.99.
Is the IBAN checked?
Yes. The IBAN is checked for its country length and mod-97 check digits before the code is made, so a typing mistake is caught. That does not confirm the account belongs to the payee.
Is my bank information uploaded?
No. The code is made entirely in your browser and nothing is uploaded. This tool does not keep a draft in your browser.

Sources

Last reviewed