Skip to content
100% local

SEPA QR payment generator

Turn a name, IBAN and amount into a scannable SEPA (EPC069-12) payment QR code.

Output

SEPA QR payment generator

Paste in a recipient name and IBAN, add an amount if you want the payer's banking app to pre-fill it, and this tool builds the exact character string defined by the European Payments Council's EPC069-12 standard — the format behind Germany's GiroCode and every SEPA payment QR code that a mobile banking app can scan straight into a transfer. The result renders as a QR code you can put on an invoice, a poster or a receipt.

Recipient name and IBAN are the only required fields. The IBAN is checked structurally and with the ISO 7064 mod-97 checksum — the same test a bank runs — so a typo is caught before it becomes an unscannable code. BIC is optional: SEPA has not required it for transfers within the SEPA area since 2016, but you can still include one for banks or apps that expect it. Amount is optional too — leave it at zero for a code the payer fills in themselves, useful for donation boxes or variable invoices. The reference field switches between an unstructured note (up to 140 characters, shown as free text) and a structured creditor reference (up to 35 characters); only one is ever written into the code, matching the standard. A separate message field and a four-character purpose code round out the optional data.

Every field is checked against its exact EPC069-12 length limit, and the whole payload against the standard's 331-byte ceiling — go over it and the tool reports which field to shorten rather than producing a QR code that scanners can't read. Error correction level and QR size are adjustable for print use; higher correction survives a smudged or partly obscured code at the cost of a denser pattern.

Everything — validation, the mod-97 check and the QR rendering — runs locally in your browser. No payment detail is ever uploaded anywhere. Copy the raw payload as text, download the QR as an SVG or PNG, or generate a fresh one the moment you change a field.

FAQ

What format does this use?
EPC069-12, the European Payments Council standard for SEPA Credit Transfer QR codes — the same format used by Germany's GiroCode and most European banking apps.
Do I need to fill in the BIC?
No. SEPA has not required a BIC for transfers within the SEPA area since February 2016. Leave it empty unless a specific bank or app asks for it.
What happens if I leave the amount at 0?
The QR code carries no fixed amount, and the person scanning it enters their own — useful for donations or invoices with a variable total.
Why does it reject my recipient's name or reference?
EPC069-12 sets a hard character limit for each field (70 characters for the name, for example). The error message names the field to shorten.
Is my payment information uploaded anywhere?
No. The IBAN check, the payload string and the QR code are all built entirely in your browser. Nothing is sent to any server.