Skip to content

EPC QR code · GiroCode

QR code for bank transfers

Payee, IBAN, amount and reference in one code. The payer scans it with their banking app and only has to approve the transfer, already filled in. Free, no sign-up — and your account details never leave your browser.

  • No registration
  • No cookies
  • No upload
  • Valid forever

Your transfer code

Name and IBAN are enough, amount and reference are optional. The preview updates as you type.

The banking app takes over payee, IBAN, amount and reference. Also known as EPC QR code or GiroCode.

Exactly as registered with the bank — the payer’s bank checks that name and IBAN match.

Leave empty if the payer should enter the amount themselves.

Usually unnecessary: within the EU and EEA the IBAN is enough.

Such as an invoice or membership number, 140 characters at most.

Preview

Enter name and IBAN — the code appears as soon as both are complete.

Use SVG for print — it stays sharp at any size.

Appearance

Higher levels survive scratches and logos but make the pattern denser.

The light border is part of the code. Below 4 modules you are asking for trouble.

Encoded content

          

How it works

Three steps to a paid invoice

  1. Enter the details

    The payee’s name and IBAN, plus amount and reference if you like. The IBAN is checked as you type — a transposed digit shows up before it is printed.

  2. Place the code

    As SVG in your invoice template, as PNG in an email, or printed at the till. The code is static and stays valid as long as the account exists.

  3. Scan and approve

    The payer opens a transfer in their banking app, scans the code and finds every field filled in. They check, approve — done.

Uses

Where the code saves work

Invoices

Trades, practices, freelancers: the code next to your bank details spares customers the typing — and spares you the hunt for payments with a mistyped reference.

Membership fees

With the membership number in the reference, every payment can be matched. One code per member, or one without an amount for everybody.

Donations

On a poster, a flyer or a collection box. Without an amount, everyone enters what they want to give.

Class funds and group orders

Outing, present, team shirts: amount and purpose are fixed, and the code goes out with the parents’ letter or into the group chat.

Farm shop and market stall

Where there is no card terminal: put the code on the stall and the customer transfers. With an instant transfer the money arrives in seconds.

Rentals

Deposit, down payment or final cleaning for the holiday flat: the code in the booking confirmation saves the question about your bank details.

What is in the code

Five details, one standard

The code follows the European Payments Council’s standard EPC069-12, which the German GiroCode is built on as well. Banking apps read exactly these fields from it:

Payee name
Required, 70 characters at most. Enter it exactly as registered for the account.
IBAN
Required. Only for accounts in the SEPA area; length and check digits are verified as you type.
Amount
Optional and always in euros, from €0.01 to €999,999,999.99. If it is missing, the payer enters it.
BIC
Optional. Within the EU and EEA the IBAN is enough.
Payment reference
Optional, 140 characters at most. Invoice, customer or membership numbers belong here.

Error correction is fixed at level M for this type, as the standard requires. You are free to pick colours — but stick to dark modules on a light background: banking app scanners are pickier than the camera app.

From practice

What matters

Name as the bank has it

Since October 2025 banks in the euro area check name and IBAN before every transfer. If the two do not match, the payer sees a warning — and hesitates. If the account is called “Müller GmbH”, that is what goes into the code, not “Müller Plumbing”.

Test before printing

Scan the code once with your own banking app before the invoice template or the poster goes to print. If every field is right, cancel the transfer before approving it.

Print it large enough

A transfer code holds more characters than a link and is denser as a result. On an invoice, three centimetres per side is better than two, with a light border all round.

One code per invoice

Amount and invoice number sit inside the pattern. Use one code for every invoice and you get payments you cannot match. If one code is meant for everything, leave amount and reference empty.

Good to know

Questions about the transfer code

Need other codes?

Link, contact card, address, Wi-Fi, email, phone, SMS or text — all in the same generator, just as free.

To the generator for every kind
Which banking apps read the code?

In Germany and Austria, the apps of most banks and savings banks. Depending on the bank the feature is called “Scan”, “Photo transfer” or “GiroCode”, and it usually sits in the transfer form. The ordinary camera app, on the other hand, can rarely do anything with it — scan it in the banking app.

Can someone take money from my account through the code?

No. The code only fills in a transfer form, and it does so on the payer’s side. The transfer is carried out only once the payer checks and approves it in their app.

Do I have to enter an amount?

No. Without an amount, the payer enters it themselves. That suits donations and codes meant for several payments.

Do I need the BIC?

Almost never. Within the EU and EEA the IBAN is enough and the bank works out the rest. The field is there for special cases.

Are my account details transmitted or stored?

No. The code is created in your browser and the input goes to no server — ours included. You can check that yourself: the generator keeps working if you disconnect from the internet after the page has loaded.

Does it work for accounts abroad?

For accounts in the SEPA area, yes. That covers every EU country plus Iceland, Liechtenstein, Norway, Switzerland, the United Kingdom and a few more. The amount is always in euros.

Is this a proper GiroCode?

The code follows the European Payments Council’s standard EPC069-12, which the GiroCode is built on. Banking apps treat both the same.