Pricing and privacy at QR Kontor
Static QR codes are free, with no sign-up, no limit and no watermark. Dynamic QR codes, where you can change the destination after printing, cost €4.99 one-time per code. No subscription, no recurring fees. If you have seen other providers charge $49 to $197 for a "lifetime" code: a dynamic code is only a short redirect, no media storage, on EU hosting that costs little to run. That is why €4.99 covers it for good.
Your data is hosted in Frankfurt, Germany (Supabase EU and Vercel fra1). Only essential cookies for the login session, no marketing tracking and no third-party pixels.
What is a SEPA QR code?
The EPC069-12 standard (also GiroCode) is a uniform QR format defined by the European Payments Council in 2013. When scanned, your banking app fills in the transfer form automatically. You only confirm with your PIN or Face ID.
Advantage: no typos in the IBAN, no forgotten reference, faster payment. Ideal for invoices, donation campaigns, membership fees.
Important for UK and US readers: the format works for SEPA credit transfers in euros. It does not work for US bank accounts (routing and account numbers), and few UK banking apps support it for sterling transfers. If you invoice customers in the euro area from a euro account, it is useful. Otherwise a payment link (PayPal, Stripe, your bank's own request-to-pay link) as a URL QR code is the better choice.
How a SEPA QR code is structured
The QR code contains a plain text string with 8 to 11 lines, one field per line:
BCD
002
1
SCT
COBADEFFXXX
Jane Smith
DE89370400440532013000
EUR15.00
Donation for the animal shelter
| Line | Meaning | Example |
|---|---|---|
| 1 | Service tag (always BCD) |
BCD |
| 2 | Version (002) |
002 |
| 3 | Character set (1 = UTF-8) |
1 |
| 4 | Identification (SCT = SEPA Credit Transfer) |
SCT |
| 5 | Recipient's BIC (optional from version 002) | COBADEFFXXX |
| 6 | Recipient name (max 70 characters) | Jane Smith |
| 7 | Recipient's IBAN | DE89370400440532013000 |
| 8 | Amount with currency (optional, empty = payer enters the amount) | EUR15.00 |
| 9 | Purpose code (optional) | empty |
| 10 | Structured reference (optional) | empty |
| 11 | Remittance text (max 140 characters) | Donation for the animal shelter |
Step 1: Gather the data
- Recipient name (exactly as registered with the bank)
- IBAN
- BIC (optional within SEPA since version 002, the bank is identified from the IBAN)
- Amount (optional, leave empty if the payer should enter it, for example for donations)
- Reference (for example invoice number, donation purpose)
Step 2: Build the EPC string
Assemble the lines as in the example above. Watch out for:
- A line break after every line (LF or CRLF)
- Amounts in the format
EUR15.00(decimal point, no thousands separator) - Recipient name without problematic special characters
Step 3: Enter the string in the generator
The text mode is already open in the generator above. Paste the complete multi-line string there.
Step 4: Download and print
- PNG for invoices, donation flyers
- SVG for vector workflows
- Minimum size: 2.5 × 2.5 cm (1 × 1 in) on paper (scanning distance 20 to 30 cm, 8 to 12 in)
Practical examples
Example 1: Invoice with a fixed amount
BCD
002
1
SCT
Tom's Joinery
DE89370400440532013000
EUR450.00
Invoice 2026-042
Example 2: Donation without a fixed amount
BCD
002
1
SCT
Animal Shelter Munich
DE89370400440532013000
Donation
Example 3: Membership fee
BCD
002
1
SCT
FC Sampletown 1923
DE89370400440532013000
EUR60.00
Membership fee 2026 - Jane Smith
FAQ
Which banking apps support the QR code? Most banking apps in the euro area, with the widest adoption in Germany, Austria, the Netherlands, Belgium and Finland. Neobanks such as N26 and Revolut support it too. Check your own app: look for a "scan QR code" or "photo transfer" option on the transfer screen.
Does it work outside the euro area? In SEPA countries (the EU plus a few non-EU countries such as Switzerland and Norway) yes, as long as the account is in euros. Outside SEPA no, other countries have their own QR payment standards. For US accounts it does not apply at all.
Do I need an account with you? No, the QR code is generated entirely in your browser. We never see the IBAN, name or amount.
Can I change the amount afterwards? With a static code: no, you generate a new one. A dynamic QR code points to an intermediate URL, but for SEPA codes that is unusual because banking apps want to parse the code directly.
What if the recipient name contains accented characters?
EPC069-12 supports UTF-8 (line 3 = 1). Accents and umlauts work. Still scan a test with your banking app before printing a thousand flyers.
Is the QR code secure? The code contains IBAN and name, which are not secret anyway. Payment still happens inside your banking app with PIN or Face ID, no risk.
Maximum data length? EPC069-12 limits the total to 331 characters. With very long references or long IBANs you can hit that limit.
Use cases
| Where | Who |
|---|---|
| Invoices (PDF and paper) | Freelancers, small businesses |
| Donation appeals (posters, flyers) | Nonprofits, NGOs, animal shelters |
| Membership fees | Sports clubs, associations |
| Crowdfunding events | Venues, festivals |
| Hotel bill at check-out | Hoteliers |
| Tip jar display | Cafés, hair salons |
Need a dynamic QR code?
Change the target any time, even after printing. €4.99 one-time, no subscription.
Start for free