Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

Payments

Girocode explained: Germany's name for the EPC QR code

Girocode is the German name for the EPC QR code: the same EPC069-12 twelve-line payload that begins BCD and prefills a SEPA credit transfer. It works only when scanned from inside a banking app; a phone camera sees plain text rather than a link, so nothing opens.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

One standard, two names

Girocode is not a separate format. It is the German banking sector's branding for the EPC QR code, defined in the European Payments Council's guideline EPC069-12, a twelve-line text payload that starts BCD and describes a single SEPA credit transfer: beneficiary name, IBAN, optional BIC, optional amount, optional reference. The format page documents every line; this page covers what the German framing changes, which is mostly expectations.

You will meet the same payload under other names: "Zahlen mit Code" in Austria, "EPC QR" or "SEPA QR" elsewhere. Scan any of them and the bytes are identical. Generate one with the EPC builder and it is a Girocode.

The camera-app trap

The single most useful thing to know about Girocode: it is not a link.

A WiFi or URL QR contains something a phone's camera app knows how to act on. A Girocode contains a block of bank-transfer text. Point an iPhone or Android camera at it and you get, at best, a preview of raw text beginning BCD, no payment screen, nothing to tap. Users reasonably conclude the code is broken.

The correct flow is to open the banking app first and use the app's own scanner: Sparkasse, Volksbank, comdirect, ING and most other German and Austrian banking apps have a scan function in their transfer screen. The app parses the twelve lines and prefills the transfer for confirmation.

If you print Girocodes, print that instruction next to them. "Mit Ihrer Banking-App scannen" prevents most support queries, and printing the IBAN as text beside the code rescues everyone whose app lacks a scanner.

Where it actually works

Support is strongest exactly where the branding exists: Germany and Austria, where reading Girocodes is a standard banking-app feature. Elsewhere in the eurozone support is inconsistent, a French or Spanish app may not recognise the payload at all. The format page covers this in detail; the practical rule is that a Girocode on an invoice is an accelerator for DACH customers and a no-op for others, which is acceptable because the fallback (typing the printed IBAN) always exists.

Note also what a Girocode is not:

Making one

Use the EPC generator: name (≤ 70 characters), IBAN, optionally amount (0.01–999999999.99 EUR) and a remittance line (≤ 140 characters). UseQR validates the IBAN's mod-97 check digits before generating and builds version 002 payloads, which need no BIC. Keep the whole payload under 331 bytes, the constraint that bites when a long name meets a long remittance line.

Then scan the result with your own banking app before it goes on an invoice. A code you have not scanned is a code you have not tested.

FAQ

Is Girocode the same as an EPC QR code?

Yes, byte for byte. Girocode is the German banking sector's name for the EPC069-12 QR payload used across SEPA. "Zahlen mit Code" in Austria refers to the same format.

Why does my phone camera not read a Girocode?

Because the payload is bank-transfer text, not a URL: the camera app has nothing to open. Scan it from inside your banking app's transfer screen instead, which parses the payload and prefills the payment.

Which banks support Girocode?

Most German and Austrian banking apps read it natively, including Sparkasse and Volksbank apps. Support elsewhere in the eurozone is inconsistent, so always print the IBAN as text next to the code.

Does a Girocode take money from my account when scanned?

No. It only prefills a transfer form: name, IBAN, amount, reference. You review and authorise the payment in your banking app exactly as with a manually typed transfer.

Try it: free, no signup