π What We'll Cover
- What is a SEPA QR code?
- How SEPA QR codes differ from PayPal, crypto, and UPI
- The EPC QR code standard format
- SEPA Instant vs SEPA Standard transfers
- Use cases: freelancers, small business, events, landlords
- Generate a SEPA QR code with our tool
- SEPA QR vs Request-to-Pay (R2P)
- Country-specific IBAN formats and quirks
What Is a SEPA QR Code?
SEPA (Single Euro Payments Area) covers 36 European countries β all 27 EU member states plus the UK, Switzerland, Norway, Iceland, Liechtenstein, Monaco, San Marino, Andorra, and Vatican City. Any bank account in any SEPA country can send and receive euros with the same rules, timelines, and legal protections.
A SEPA QR code encodes an EPC QR code β the standard defined by the European Payments Council. The QR code contains the recipient's IBAN, name, amount, and an optional reference or purpose string. When someone scans it with their banking app, the app reads the EPC-formatted data and pre-fills the entire transfer form. The payer reviews it, taps "Send," and the money moves.
If both banks support SEPA Instant Credit Transfer (SCT Inst), the money arrives in under 10 seconds, 24 hours a day, 365 days a year β including weekends and public holidays. That's faster than PayPal withdrawing to your bank account.
How SEPA QR Codes Differ from Other Payment QR Codes
| Payment Method | Fee (Receiving) | Settlement Time | Network |
|---|---|---|---|
| SEPA QR | 0% β no processor fees | <10 sec (Instant) or 1-2 days (Standard) | Direct bank-to-bank |
| PayPal / Venmo QR | 2.49-3.49% + β¬0.35 (business accounts) | Instant to PayPal wallet, 1-3 days to bank | Payment processor |
| Crypto QR | Variable network fees (β¬0.10-β¬10+ depending on chain) | Minutes to hours (confirmation blocks) | Blockchain (no intermediary) |
| UPI QR (India) | 0% | <5 sec | India-specific payment system |
SEPA QR wins on fees: Payment processors charge 2-4% per transaction. For a β¬5,000 invoice, that's β¬100-200 in fees. A SEPA QR code costs exactly β¬0. Over 100 invoices, the savings pay for a lot of coffee.
SEPA QR wins on speed (with Instant): SEPA Instant transfers clear in under 10 seconds. PayPal to bank withdrawal takes 1-3 business days. Crypto requires block confirmations (minutes to hours).
SEPA QR wins on finality: Bank transfers cannot be reversed by the sender without your consent. PayPal chargebacks and crypto blockchain reorgs are real risks. A SEPA credit transfer that arrives in your account is yours.
Where SEPA QR falls short: It requires the payer to have a SEPA bank account and banking app that supports QR scanning (most major European banking apps do). It's not useful for one-off consumers who don't have a European bank account β for that, you still need a card processor.
The EPC QR Code Standard Format
The European Payments Council defines the EPC QR code standard (available at epc-qr.eu). The encoded string is not JSON or XML β it's a simple newline-separated format:
BCD 002 1 SCT [Recipient Name] [IBAN] EUR[Amount] [Reference] [Purpose]
Here's what each field means:
- BCD β "Banking Customer Data" identifier. Always "BCD". Tells the banking app this is a payment QR code, not a URL or WiFi config.
- 002 β Version number. Current version is 002. Version 001 is deprecated. If you see a reader that only supports 001, the bank needs to update its app.
- 1 β Character encoding.
1= UTF-8. Most SEPA countries use UTF-8 for names with accented characters (MΓΌller, GarcΓa, LΓ©vy). - SCT β Service indicator.
SCT= SEPA Credit Transfer (standard). SCT Inst is handled the same way β the bank network negotiates instant vs standard, not the QR code. - Empty line β Reserved for BIC (Bank Identifier Code). If omitted, the bank derives the BIC from the IBAN automatically. Most modern QR codes leave this blank.
- Recipient Name β The payee's name. Up to 70 characters. For businesses, use the registered legal name. Personal name also works.
- IBAN β International Bank Account Number. Starts with a 2-letter country code (DE, FR, ES, IT, NL, etc.). The QR reader validates checksum and length before pre-filling.
- EUR + Amount β Currency code and amount.
EUR2500.00for β¬2,500. Optional β leave blank for an open-amount QR code (useful for recurring invoices where the amount changes each month). - Reference β Payment reference. Structured reference (ISO 11649, e.g.
RF123456789) or unstructured text (invoice number, customer ID). - Purpose β Optional purpose code from the ISO 20022 purpose code list. Used by corporate banking for reconciliation. Most individual transfers leave this blank.
SEPA Instant vs SEPA Standard Transfers
Since 2023, EU regulation requires all banks that receive SEPA transfers to also support SEPA Instant (SCT Inst). The sending bank needs to support it too β and most major European banks now do. According to the European Payments Council, over 2,500 payment service providers in 29 countries offer SEPA Instant as of 2025.
SEPA Standard takes 1-2 business days. You send the payment on Monday before the cut-off time, it arrives on Tuesday or Wednesday. No transfers on weekends. Cut-off times vary by bank (typically 14:00-16:00 CET).
SEPA Instant arrives in under 10 seconds. Works 24/7/365 β Saturday at midnight? The money arrives. Christmas morning? Arrives. No cut-off times, no waiting for the next business day.
The practical impact for QR codes: When someone scans your SEPA QR code, their banking app processes the payment using whichever settlement method is available. Most apps default to SEPA Instant if both banks support it. Your QR code doesn't need a special "instant" flag β the bank network handles the routing.
Use Cases for SEPA QR Codes
Freelancer Invoices
Add a SEPA QR code to every invoice you send. Clients scan it, pre-fills your IBAN and the invoice amount, and tap send. No more "I typed the IBAN wrong and sent it to someone else" incidents. One German freelancer who writes for SaaS companies reported payment time dropping from 14 days to 2 hours after adding SEPA QR codes to every invoice. The client didn't need to log into online banking, find the IBAN from a previous payment, or type 22 characters from a PDF. Two seconds with a camera app.
Small Business Checkout
Print a SEPA QR code at your physical counter. Customer scans with their banking app, confirms the amount, pays, and shows you the confirmation screen. No card terminal rental (β¬20-50/month). No interchange fees (1.5-3% per transaction). No monthly minimums. For a bakery doing β¬2,000/day in average transactions, that's β¬10,950-21,900 saved per year in card processing fees. The trade-off: no instant receipt to the customer's bank (they see the confirmation screen, not a card statement line) and no chargeback protection (but with bank transfers, the customer can't reverse it either).
Event Ticket Sales
Selling tickets for a workshop, conference, or meetup? Put a SEPA QR code on the ticket purchase page. No PayPal/Stripe fees eating 3-4% of your ticket revenue. For a β¬100 ticket, you keep β¬100 instead of β¬96-97. For a 500-ticket event, that's an extra β¬1,500-2,000 in your pocket β real money for a small organizer. The downside: attendees who don't have European bank accounts (international speakers, for example) still need a card option.
Rent Collection (Landlords)
Add a SEPA QR code to every rent invoice. Tenant scans, picks the amount, hits send. Standing orders still work and are great for monthly recurring rent, but the QR code makes the first payment frictionless β no need to type the landlord's IBAN from a PDF or paper contract. Some landlords in Germany and the Netherlands now include a QR code in the lease agreement itself for the first month's rent plus deposit.
Generate a SEPA QR Code with Our Tool
- Go to the SEPA QR Code Generator
- Enter your IBAN β validated in-browser: country code, checksum, and length all verified automatically
- Enter the recipient name (business or personal)
- Enter the amount (optional β leave blank for pay-what-you-want or variable amounts)
- Enter a reference or purpose β invoice number, customer ID, "Rent July 2026"
- Customize the QR design: colors, add your logo in the center
- Download PNG or SVG
The entire process runs in your browser. No data is sent to any server. Your IBAN stays on your computer. The generated QR code is a valid EPC QR standard code β any European banking app that supports QR scanning will read it correctly.
SEPA QR vs Request-to-Pay (R2P)
Request-to-Pay (R2P) is the newer standard (introduced 2021, gaining traction 2023-2025). It works differently: instead of the payer scanning a QR code to pre-fill a transfer, the payee sends a digital payment request directly to the payer's banking app. The payer receives a notification: "[Business] is requesting β¬250.00. Approve with Face ID?" They approve, money moves in seconds.
Advantages of R2P over SEPA QR:
- Confirmation: the payee receives a confirmation that the payment request was accepted
- Refund capability: R2P can handle payment cancellations and refunds through the same channel
- Payment guarantees: some R2P implementations include a payment guarantee (the bank confirms funds are available)
- No scanning: the payer doesn't need to have a camera handy
Disadvantages of R2P vs SEPA QR:
- Requires bank API integration on the payee side β not practical for freelancers or small businesses
- Not all banks support R2P yet. Most major European banks are implementing it, but adoption is uneven
- The payer needs the specific banking app that supports R2P β SEPA QR works with any banking app that can scan a QR code
Verdict: SEPA QR is the pragmatic choice for freelancers and small businesses today. R2P will likely become the standard in 2-4 years as banks complete their API integrations. For now, SEPA QR is simpler, more widely supported, and zero-integration.
Country-Specific IBAN Formats and Quirks
IBAN length varies by country. Here are the most common SEPA country IBANs you'll encounter:
| Country | Code | Length (chars) | Example |
|---|---|---|---|
| Germany | DE | 22 | DE89370400440532013000 |
| France | FR | 27 | FR1420041010050500013M02606 |
| Spain | ES | 24 | ES9121000418450200051332 |
| Italy | IT | 27 | IT60X0542811101000000123456 |
| Netherlands | NL | 18 | NL91ABNA0417164300 |
| Belgium | BE | 16 | BE68539007547034 |
| Austria | AT | 20 | AT611904300234573201 |
| Ireland | IE | 22 | IE29AIBK93115212345678 |
| Portugal | PT | 25 | PT50000201231234567890154 |
| Finland | FI | 18 | FI2112345600000785 |
IBAN quirks to watch for:
- French IBANs (FR) have a 5-digit branch code and 11-digit account number format with a French RIB structure. The checksum includes the RIB key plus the traditional IBAN checksum.
- Italian IBANs (IT) include a CIN (Control Internal Number) at position 5 β a letter that checks the bank and branch code validity. Many Italian banking apps validate this strictly.
- German IBANs (DE) are the most straightforward: BLZ (bank routing) + account number, 22 characters total. The Bundesbank provides a free IBAN validator API.
- Dutch IBANs (NL) are only 18 characters, the shortest in SEPA. They include a 2-letter bank code (ABNA, INGB, RABO, etc.) derived from the old Dutch bank codes.
- Belgian IBANs (BE) are only 16 characters β the shortest in the entire SEPA zone.
Our SEPA QR generator validates each IBAN format automatically by checking the country code against the expected length and running the MOD-97 checksum algorithm. You don't need to memorize any of the above β just paste your IBAN and the tool tells you if it's valid.
Ready to create your SEPA QR code?
Generate SEPA QR Code β