SEPA QR Generator (GiroCode)

Generate a SEPA-EPC QR code (GiroCode) from IBAN, name and amount, fully local and processed directly in your browser.

The result will appear here …

Legal notice

Current as of: 11.08.2026.

The results reflect the legal and fiscal state as of the date stated above. They are provided for general information and initial guidance only. They are not individual financial, tax or legal advice, and no guarantee is given as to their accuracy, completeness or suitability for your circumstances. In particular, the results are not a substitute for an official or judicial assessment. Please check the information independently and seek qualified advice where appropriate, as you are solely responsible for any decision made in reliance on the result.

How to use this tool (video)

This video is hosted on YouTube. When you play it, data may be sent to Google.

SEPA QR Generator: GiroCode for Fast Payments

A GiroCode (also called SEPA QR code or EPC QR code) is the QR standard defined by the EPC069-12 specification of the European Payments Council. German and European banking apps read it and turn its content directly into a ready-to-send transfer. Instead of typing IBAN, name and reference, the customer simply scans the code with their smartphone. This SEPA QR generator builds the matching GiroCode from IBAN, recipient name and an optional amount, renders it directly in your browser and makes invoices, payment requests and booking pages conveniently payable.

How the code is built: the EPC069-12 structure

The GiroCode is a machine-readable text sequence with up to twelve fields separated by line breaks, following the EPC069-12 standard of the European Payments Council. The first lines BCD, 002, 1 and SCT mark the service tag, the version, the UTF-8 character set and the payment type SEPA Credit Transfer. Then come the BIC, the recipient name, the IBAN and, optionally, the amount and a reference. These lines are encoded as a QR code and translated by the banking app back into a pre-filled transfer form.

  • Currency: The EPC standard is designed for the Euro (EUR); amounts are stored as "EUR" with two decimal places.
  • IBAN: The tool expects a valid German IBAN with 22 characters (starting with DE).
  • Size limit: The standard only allows amounts up to 999999.99 euros; sums that are too large are rejected.

Important: the code does not trigger a payment

A GiroCode does not pay anything by itself. It only produces a graphic plus data text that you can print, embed on a website or save as a PNG. The actual transfer starts only when the customer scans the code with a banking app and confirms the pre-filled transfer there. You can therefore create codes safely without any money moving automatically.

What you can use the generator for

  • Invoices: Recipients scan the code and the transfer is pre-filled.
  • Payment requests for services or club fees.
  • Websites and booking pages to allow payment without typing.

What to keep in mind

Not every banking app supports the GiroCode standard, even though it is available in most German and many European apps. After scanning, a ready transfer opens which the user must review and confirm before sending.

GiroCode or a normal QR code? The difference

An ordinary QR code on an invoice often just contains a link that opens a website. A GiroCode, by contrast, carries structured payment data: IBAN, BIC, recipient name, amount and reference are held as clearly separated text fields in the code and transferred by the banking app directly into a transfer form. That is why scanning immediately brings up the ready transfer in the app, without any typing.

What to watch out for when creating a code

  • Check the amount: make sure the stored amount matches what is actually owed before you publish the code.
  • Keep the reference readable: a clear reference, such as the invoice number, makes it easier to assign the payment.
  • Test the code: scan the generated code once with a banking app before you print or embed it.
  • Keep data up to date: if the IBAN or the recipient name changes, the code must be created anew.

Frequently asked questions

Does it work with every bank?

GiroCode is supported by most German and many European banking apps. After scanning, a ready transfer opens which you review and confirm before sending.

Which data is required?

At least a valid German IBAN (22 characters) and the recipient name. Amount and reference are optional and can also be added later in the app.

What is the difference between GiroCode and a SEPA transfer?

The GiroCode is only the machine-readable image of your SEPA transfer data. It does not transfer anything itself; it simply fills in the fields of the banking app.

Can I use other currencies?

No. The EPC-002 standard is designed for the euro. There is no standardized GiroCode of this form for other currencies.

Why is my IBAN rejected?

The tool expects a valid German IBAN with 22 characters starting with DE. Check the length and spelling; spaces are removed automatically.

Is my payment data sent to a server?

No. The QR code is generated entirely locally in your browser. IBAN, name and amount are not sent to any server.

What is the difference between a normal QR code and a GiroCode?

A normal QR code often just holds a link to a website. A GiroCode contains structured payment data such as IBAN, BIC, recipient name, amount and reference, which the banking app translates directly into a ready transfer.

Are my data stored?

No. All input stays on your device; nothing is transmitted to a server or stored.

Read more about this tool

How the EPC069-12 structure works in detail

Behind the visible QR pattern there is a simple text file with up to twelve lines separated by line breaks. The first four elements are fixed: the line BCD as the service tag, 002 as the version, 1 for the UTF-8 character set and SCT for SEPA Credit Transfer, a standard SEPA transfer. Then come the BIC, the recipient name and the IBAN, followed optionally by the amount, a reference and further details. This fixed layout is what makes the code so robust, because every banking app can read the fields unambiguously and map them into its transfer form. If you open the QR code with a text editor, you see exactly this structured data instead of a cryptic string.

Why the GiroCode pays off on invoices

For tradespeople, landlords, clubs and freelancers, the GiroCode saves time and cuts keying errors. Someone who receives an invoice or a payment request simply opens the banking app, scans the code and sees the transfer already fully filled in: payee, IBAN, amount and reference. No retyping, fewer typos in the IBAN and payments are easier to match. The amount can be stored in the code as well; following the standard, the tool limits it to a maximum of 999999.99 euros with two decimal places. When no amount is given, the customer enters the sum themselves in the app.

Your data stays on your device

A key point for many people: the QR code is generated entirely in your browser. Your IBAN, name and amount never leave your device, are not sent to a server and are not stored. You can safely enter real IBANs and try or print the code right away. After scanning you confirm the transfer once more in your banking app anyway, so no money moves automatically.

Where to use GiroCodes in practice

The GiroCode is especially useful wherever payments repeat: on invoices as a document or on an invoice page online, on business cards for freelancers, on receipts in clubs and associations or on booking and appointment confirmations. A small QR code next to the IBAN saves every customer the typing. When printing, a light background and enough contrast help the banking app read the code reliably, even on paper. Another benefit of the standard: the BIC field is optional as soon as the IBAN belongs to a bank in the European payment area, because the app derives the bank from the IBAN itself.