GiroCode / EPC QR Code
The European standard for QR payment codes — used by 500 million people across 36 SEPA countries.
What is GiroCode?
GiroCode — officially known as the EPC QR Code — is a standardized two-dimensional barcode format for SEPA Credit Transfers. It was developed by the European Payments Council (EPC) and first published as specification EPC069-12 in 2012, with mandatory adoption in Germany from November 2019.
At its core, GiroCode solves a simple but costly problem: manual bank transfer entry is error-prone. Studies show that up to 3% of manually entered IBANs contain typos. A single incorrect digit can mean a payment lands in the wrong account — or is rejected entirely, triggering expensive correction procedures. GiroCode eliminates this risk by encoding all payment details into a machine-readable QR code.
When a payer opens their banking app and scans a GiroCode, all fields — recipient name, IBAN, amount, currency, and payment reference — are filled in automatically. The payer simply reviews the data and confirms with their PIN, fingerprint, or face ID. No typing required.
Who uses GiroCode? Today, GiroCode is used across an enormous range of contexts:
- Freelancers and small businesses print GiroCodes on invoices, allowing clients to pay instantly without typing a single character.
- Large corporations embed GiroCodes in PDF invoices, billing portals and payment reminder emails.
- Charities and non-profits place GiroCodes on donation posters, flyers and websites to maximize conversion.
- Event organizers use GiroCodes for ticket payments, registrations and membership fees.
- Banks and payment providers include GiroCode scanners directly in their mobile banking apps — Deutsche Bank, Commerzbank, Sparkasse, Volksbank, ING, DKB, N26, Comdirect and virtually every other SEPA-compliant bank supports it.
The format is open, free to use, and requires no proprietary technology. Any developer can generate a valid GiroCode payload with a standard QR library — as demonstrated by this platform.
GiroCode is based on the ISO 20022 financial messaging standard, which ensures long-term compatibility and interoperability across the European banking system. The payload is plain text, encoded in UTF-8, and follows a strict 11-line structure that any standards-compliant QR scanner can parse.
With SEPA expanding to cover 36 countries — including all EU member states plus Switzerland, Norway, Iceland, Liechtenstein, the UK and several micro-states — GiroCode has become the de-facto standard for QR-based bank transfers across the entire European continent.
Supported Countries
GiroCode is supported in all 36 SEPA member countries.
More About GiroCode
For Businesses
Invoice integration, batch generation, best practices
Technical Spec
Full EPC069-12 payload reference and validation rules