Payment QR code generator
Create a QR code the payer scans in their banking app – with the IBAN, amount and payment reference pre-filled.
QR code format
Enter the beneficiary's IBAN – the QR code is generated automatically.
How the generator works
Pick the format based on the country of the payer's bank: the EPC QR code (also known as GiroCode) works in euro-area banking apps (Germany, Austria, Slovenia and others), PAY by square is read by all Slovak banks, and QR Platba is the Czech banks' standard. Enter the IBAN – it is checked with the international MOD-97 algorithm, so typos are caught instantly – and the QR code redraws with every change. Download the finished code as a PNG for an invoice or e-mail.
Everything happens directly in your browser – IBANs, amounts and names are never sent anywhere. The QR code contains exactly the data you fill in, nothing more.
Which format to pick: EPC, PAY by square or QR Platba
What matters is the payer's bank, not yours. The EPC QR code (GiroCode) is the European standard for SEPA credit transfers and is supported by banking apps in Germany, Austria, the Netherlands, Finland and Slovenia. For a payer in Slovakia choose PAY by square; for one in Czechia choose QR Platba (the SPAYD format).
The formats also differ in what they can carry. EPC QR works for euros only, knows no payment symbols, and requires the beneficiary name — put your reference in the message field instead. PAY by square handles euros and Czech koruna plus the VS, KS and SS symbols. QR Platba is tied to Czech koruna for domestic payments and uses the same symbols.
Putting the QR code on an invoice
Fill in the IBAN, the amount and your reference — usually the invoice number — and the code redraws instantly. The Download PNG button gives you an image to drop into the invoice next to the payment details, ideally beside the total.
The code doesn't have to include an amount. Leave the field empty and you get a static QR code carrying just the account number — useful for recurring payments, a poster, or an email signature where the payer fills in the amount themselves.
The VS, KS and SS symbols
The variable symbol (VS, up to 10 digits) is the main payment reference — typically an invoice or contract number the recipient reconciles against. The specific symbol (SS, also up to 10 digits) adds a secondary distinction such as a period or branch. The constant symbol (KS, up to 4 digits) denotes the payment type and is optional in most cases today.
All three fields take digits only; letters and spaces are stripped out. The EPC QR code doesn't support symbols at all — use the message to the beneficiary there.
Accents, privacy and IBAN validation
With the QR Platba format, accents are stripped from the name and message, because the Czech SPAYD standard doesn't handle them reliably — 'Jan Novák' is encoded as 'Jan Novak'. PAY by square and EPC QR preserve accented characters.
The IBAN is checked with the international MOD-97 algorithm, so a typo in the account number surfaces before the invoice goes out. The whole QR code is produced in your browser — none of the values you enter is uploaded to a server or stored anywhere.
Format comparison
| Format | Where it works |
|---|---|
| EPC QR (SEPA) | Euro area – Germany, Austria, Slovenia and others; EUR only; no symbols |
| PAY by square | Slovakia – all banks; EUR and CZK; VS, KS, SS symbols |
| QR Platba (SPAYD) | Czechia – all banks; CZK only; VS, KS, SS symbols |
Frequently asked questions
What is an EPC QR code?
The European standard for SEPA credit transfers (also called GiroCode). Banking apps in Germany, Austria, the Netherlands, Finland and Slovenia support it. It only works for payments in euros, and the beneficiary name is mandatory.
Does it work with UK banking apps?
UK banks generally don't scan EPC QR codes, as the standard covers SEPA euro transfers. It is most useful for paying euro invoices to accounts in the euro area – for example a German or Austrian supplier.
What are PAY by square and QR Platba?
PAY by square is the Slovak banks' standard and QR Platba (SPAYD format) the Czech banks' standard. Both pre-fill the IBAN, amount and the payment symbols used in those countries.
Is my data sent to a server?
No. The QR code is generated entirely in your browser – the IBAN, amount and name never leave your device.
Why can't the payer scan the code?
Most often the wrong format is selected – the payer's banking app has to support the given standard. A German or Austrian bank needs the EPC code, a Slovak bank PAY by square, and a Czech bank QR Platba.
Do I have to enter an amount?
No. Without one you get a static QR code carrying just the account number and reference — the payer types the amount in their banking app. That suits recurring payments, posters and email signatures.
How do I use the QR code on an invoice?
Download it with the Download PNG button and place the image beside the payment details, ideally next to the total. Use the invoice number as the reference so the payment reconciles automatically.
Why do accented characters disappear?
Only with the QR Platba format — the Czech SPAYD standard doesn't handle accents reliably, so they're stripped from the name and message. PAY by square and EPC QR keep them.
Related tools
Last updated: 20 July 2026