From the creators of Abundera Sign

Free EPC Girocode QR Code Generator (EU SEPA)

Generate Girocode (EPC069-12) QR codes for euro bank transfers across the SEPA zone. Scanned by Sparkasse, Volksbank, ING, and most German/Austrian banking apps.

0 outbound requests · 100% client-side · verify it yourself →

Need help choosing a type? Use the Wizard → · Got a code to test? Open QR Lab →

Compatibility legend
📱 Any phone camera 🏭 Pro / industrial scanner only 💳 Wallet or banking app 🔐 Authenticator app 📲 App-specific reader See full matrix →

Host your PDF anywhere — Google Drive (use the "anyone with link" share URL), Dropbox, your own server, S3, etc. Paste the public link here. We encode the URL so the QR works forever and never depends on us. Tip: for Google Drive, replace /view in the share URL with /preview for a cleaner mobile view.

Any downloadable file — installer (.exe / .dmg / .deb / .apk), archive (.zip / .tar.gz), document, dataset. Host it anywhere; we encode the URL. The user's browser handles the download per its own MIME-type rules.

JPEG, PNG, WebP, GIF, or HEIC — host it anywhere. Mobile browsers open the image full-screen; desktop browsers show it inline. Common pattern: print on flyers / business cards / packaging so a scan opens a product photo or gallery.

YouTube and Vimeo URLs open natively in their apps on phones. Direct .mp4 / .webm files open inline in any modern browser. Host self-encoded video on your own server, S3, or Cloudflare R2 and paste the URL.

MP3 / OGG / WAV / FLAC / M4A direct URLs play inline in mobile browsers. Spotify (open.spotify.com/track/…) and SoundCloud (soundcloud.com/…) URLs open in their apps. Apple Music / Bandcamp / Tidal links also work.

Restaurant / cafe / bar menu — point to a PDF, an HTML menu page, or your online-ordering platform (Toast / Square / DoorDash / Uber Eats). Print on table tents, host signs, or window stickers. Pro tip: use a frame ("Scan our menu") so customers know what to do.

Paste your form's share link — either the short forms.gle/… or the long docs.google.com/forms/d/e/…/viewform form. We auto-prefer forms.gle when both are available since the shorter URL produces a denser QR. Works for surveys, registrations, RSVPs, lead capture, classroom polls.

0 / 900

Local uploads stay in your browser and only appear on the printed card. The QR data uses the URL above.

More fields (optional)

Address

Social profiles

Tip: right-click any spot on Google Maps and copy the coordinates

A red Swiss flag is automatically overlaid on the QR — required by Swiss banks.

Paste a BOLT11 invoice (lnbc...) or a Lightning address. We prefix with the lightning: URI scheme so any Lightning wallet can scan it.

Compatible with Google Authenticator, Authy, 1Password, Bitwarden, and any standard TOTP app.

HOTP (RFC 4226) is the counter-based sibling of TOTP. Use it for hardware tokens like YubiKey OTP or for systems without reliable clocks. Same otpauth:// scheme; counter increments per code instead of advancing on time.

GSMA SGP.22 activation code per the LPA spec. iOS 17.4+ and Android 13+ scan these directly to provision eSIM profiles. Carriers issue the SM-DP+ address and matching ID; the confirmation code is optional second-factor.

Per RFC 3261, opens a SIP softphone (Linphone, Zoiper, Bria, etc.) and dials the address. sips: forces TLS for signalling. Works with Asterisk, FreeSWITCH, 3CX, and any standards-compliant PBX.

Opens the system MMS composer to send a multimedia message (text + image/audio/video attachment). Distinct from sms: in that the recipient receives an MMS-formatted message. iOS, Android and most carrier apps honour this scheme.

Paste the QR URL from your Alipay Receive Money page (Settings → My QR Code → Save). We pass it through verbatim. The Alipay app, AliPayHK, and any device with the Alipay+ scanner will recognise the URL or QR.

Personal receive codes start with wxp://f2f. Merchant codes are https://payapp.weixin.qq.com/... URLs from the Weixin Pay merchant portal. Paste either; we encode verbatim. The WeChat app and any Weixin-Pay-enabled scanner will resolve it.

Swish is Sweden's national P2P / merchant mobile-payment service. Payee can be a private mobile number (Swish-number) or a 1234-style merchant alias. The Swish app on iOS and Android scans the standard swish://payment?data=... URI.

Vipps is Norway's dominant mobile-payment app (now Vipps MobilePay across the Nordics). Send to phone emits a vipps://send?... deeplink for P2P; Merchant short-link wraps a https://qr.vipps.no/... URL.

Paste the link from your Mercado Pago Cobrar page (the https://mpago.la/..., https://link.mercadopago.com.br/..., or full mercadopago.com short-link). Works across MP apps in Argentina, Brazil, Mexico, Chile, Colombia, Uruguay and Peru.

Data Matrix is a square 2D matrix barcode (ISO/IEC 16022) used in healthcare, electronics, manufacturing, and direct-part marking. Holds up to ~2,335 alphanumeric characters in a single tag. Note: this is not a QR code — QR-only styling (eyes, dots, gradients, frames, logos) is disabled and the basic monochrome render is used.

Aztec Code (ISO/IEC 24778) is the 2D barcode used by airline boarding passes, train tickets, and electronic ID. Designed to scan well on phone screens and at low contrast. Holds up to ~3,067 alphanumeric characters. Not a QR; QR-only styling is disabled.

PDF417 (ISO/IEC 15438) is a stacked linear barcode used on US driver's licences, passports, FedEx airbills, and AAMVA-encoded ID cards. Holds up to ~1,800 ASCII characters. Not a QR; QR-only styling is disabled.

Use for legitimate purposes only: AAMVA parser testing, kiosk & age-gate development, accessibility tools, and demoing AAMVA workflows. Producing a counterfeit government ID is identity fraud and is prosecuted as a felony in every US state. Use real data only when you own the source license, or use synthetic data clearly marked as such.

Renders as a PDF417 barcode following the AAMVA Card Design Standard. Scan it back with this site's scanner to see the structured License Preview parser in action.

Code 128 (ISO/IEC 15417). Variable-length, high-density, encodes the full ASCII set. Used in shipping labels (UPS, FedEx, DHL all use it for their internal tracking), supply chain, and industrial labelling.

Code 39 (ISO/IEC 16388). The original alphanumeric barcode, supported by every scanner ever made. Used in healthcare patient bands, DOD military logistics (LOGMARS), and inventory tagging.

Code 93 — Symbol Technologies' more compact successor to Code 39. Mandatory two checksum characters (C and K) make it more reliable on scuffed labels.

Codabar (NW-7) — used by US blood banks, FedEx airbills (legacy), libraries (US/CA/EU), and photo finishing. Self-checking; does not require a check digit.

EAN-13 / GTIN-13 — global retail product identifier. Used outside North America (which uses UPC-A) on every retail consumer product. Use the 12-digit GS1 number; the 13th check digit is computed for you.

EAN-8 / GTIN-8 — compact retail product identifier for small packages where EAN-13 won't fit (chewing gum, batteries, etc.).

UPC-A / GTIN-12 — North American retail product identifier. Use the 11-digit GS1 number.

UPC-E — compact 8-digit zero-suppressed variant of UPC-A for small packages.

ITF-14 (Interleaved 2 of 5) — GS1's standard for shipping cartons / outer cases. Identifies the product inside (GTIN-14). Used by every major retailer and 3PL warehouse.

Vehicle Identification Number per ISO 3779. Encoded as a Code 39 barcode for compatibility with state DMV scanners, automotive registries, and insurance/title workflows. The 9th character is a check digit (auto-validated, not auto-computed — input invalid VINs are still encoded for testing).

Paste the link from your Payconiq merchant portal — typically https://payconiq.com/t/1/... for transactions or https://payconiq.com/l/1/... for static merchant QRs. Scanned by Payconiq, Bancontact, KBC Mobile, Belfius, ING, BNP Paribas Fortis, and most Benelux banking apps.

EPC QR Code (EPC069-12 / Girocode) — the European standard for SEPA Credit Transfer initiation via QR. Supported by most European banking apps including Sparkasse, ING, KBC, BNP Paribas, Rabobank, and all EPC-compliant banks.

Paste the URL to your .pkpass file or Apple Wallet deep link. Scanning opens the pass directly in Apple Wallet on iOS devices.

Paste the Google Wallet save link from the Google Pay API or your pass issuer. Scanning opens the pass directly in Google Wallet on Android devices.

Encodes the entire authorized_keys line. Scan to copy/paste the key onto a new machine.

For very long keys, use rMQR landscape or split into multiple QRs. Standard QR caps around ~2KB.

The official WireGuard mobile apps scan these directly. Never include your private key in a printed QR — only digital sharing.

GS1 Sunrise 2027: retailers must scan 2D codes at POS by 1 Jan 2027. Learn more →

GS1 Digital Link — the Sunrise 2027 successor to EAN-13. Resolver domain defaults to id.gs1.org. GTIN check digit is validated live.

Paste the share link from the Spotify app, or just the ID. We build the open.spotify.com URL automatically.

Format depends on platform — for Mastodon use @user@instance, for Bluesky use handle.bsky.social, for Nostr paste the npub key.

Geo URI (RFC 5870) opens directly in any maps app on the device — Google Maps, Apple Maps, OsmAnd, etc. — without picking a vendor.

Standard BitTorrent magnet link. Scanned by any BitTorrent client that supports URI scheme handlers.

Paste a full RFC 5545 iCalendar payload — supports multiple events, alarms, recurring rules. Most calendar apps import the QR directly.

Scanning the QR opens the native calendar app with a Subscribe prompt. Standard webcal:// URI scheme.

Your entire bio page is encoded into the QR's URL hash — no backend, no account, no tracking. The /bio/ page decodes and renders it client-side.

Paste the 11-character video ID, a youtu.be URL, or a youtube.com/watch URL. We normalize to youtu.be/{id}.

Paste a share link from the Apple Music app or just the numeric ID + storefront.

Find your Place ID at https://developers.google.com/maps/documentation/places/web-service/place-id. Scanning opens the Google Review dialog for your business.

The slug in your Yelp URL after /biz/. Scanning opens the Yelp Write A Review page.

The d + numeric ID from your TripAdvisor listing URL. Scanning opens the Write Review page.

Routes happy customers to your public review page and unhappy ones to a private channel. The branching happens in the user's browser via a hash splash at /review/ — no backend, no tracking. Important: Google's review-gating policies prohibit hiding negative reviews — use this only to collect private feedback in addition to allowing all customers to leave a public review if they choose.

Tries the deep link first; if the app isn't installed, shows the right store button (App Store on iOS, Play Store on Android). On desktop, opens the web fallback. OS detection happens at /app/ — no backend.

Paste any meeting invite link. For Zoom, Google Meet, and Teams we extract the canonical join URL automatically.

If a URL is provided, the QR opens the page with your promo code appended as ?code=YOURCODE. Without a URL, the QR encodes the plain promo code text.

Requires the Venmo mobile app. Desktop browsers will redirect to venmo.com instead.

Opens the Cash App with your $cashtag pre-filled.

Creator-support platforms. We build the canonical profile URL automatically.

TWINT is Switzerland's most popular mobile payment app, supported by every Swiss bank.

Bizum is the dominant P2P payment service in Spain, operated by the consortium of Spanish banks.

Accepted by every Singapore bank app. Uses the EMVCo Merchant-Presented Mode QR standard.

Japanese JPQR unified QR payment standard. Accepted by PayPay, LINE Pay, Rakuten Pay, and 20+ Japanese payment apps.

Hong Kong Faster Payment System. Works with every Hong Kong retail bank and HKICL's FPS service.

DuitNow by PayNet — Malaysia's national real-time payment network. Works with all Malaysian retail banks and e-wallets.

MoMo e-wallet URI — Vietnam's most-used mobile payment app with 30+ million users.

M-PESA by Safaricom — Kenya's dominant mobile money network. EMVCo MPM QR, readable by the M-PESA app and Safaricom-compatible scanners.

BLIK — Poland's dominant mobile payment system used by all major Polish banks. The 6-digit code is time-limited and confirms the transaction in the payer's banking app.

Interac e-Transfer — Canada's national real-time money transfer service, supported by all major Canadian banks and credit unions.

MB WAY — Portugal's leading mobile payment app linked to SIBS/Multibanco. The phone number identifies the recipient in the MB WAY network.

GCash — the Philippines' largest mobile wallet with 80+ million users. EMVCo MPM QR format, scannable by the GCash app.

Maya (formerly PayMaya) — major Philippine e-wallet and digital bank. EMVCo MPM QR format, scannable by the Maya app.

Kakao Pay — South Korea's leading mobile payment platform from KakaoTalk (50+ million users). Paste a merchant code or a full https://qr.kakaopay.com/ link from your Kakao Pay for Business dashboard.

Naver Pay — major South Korean e-wallet operated by Naver, integrated with the Naver shopping and content ecosystem. Paste a merchant ID or a full https://npay.naver.com/payments/ link.

LINE Pay — mobile wallet from LINE Corporation, widely used in Japan, Taiwan, and Thailand. Paste a merchant ID or a full https://line.me/pay/ link from your LINE Pay merchant dashboard.

iDEAL — the Netherlands' national bank transfer payment scheme, used by 70%+ of Dutch online shoppers. Paste the full iDEAL payment URL issued by your payment processor (Mollie, Stripe, Adyen, etc.).

Boleto Bancário — Brazil's ubiquitous printed-invoice payment method, accepted by every Brazilian bank. Paste the 44-digit linha digitável (bank slip) or the 48-digit concessionária code. Banking apps recognize the digit pattern and auto-fill the payment.

Australian New Payments Platform PayID. Works with Osko-enabled bank apps.

Saudi Arabia's ZATCA FATOORA e-invoice QR. Legally required on every commercial invoice in KSA since 2023. TLV format, base64-encoded.

Unified QR — modern Bitcoin wallets pick the Lightning route for small/fast payments and fall back to on-chain. Recommended format for Bitcoin receivers.

Local uploads stay in your browser and only appear on the printed card. MeCard QR data has no photo field.

MeCard is a simpler alternative to vCard, preferred by some Android devices

More fields (optional)

Address

0 chars

Micro QR capacity: 35 digits, 21 uppercase alphanumeric, or ~15 bytes (lowercase/URLs). Best for short codes, serial numbers, and IDs. For URLs, use standard QR instead.

Most phone cameras cannot scan Micro QR codes. This format requires specialized industrial scanners (e.g. Scandit, Cognex). Use standard QR for general-purpose scanning.

Rectangular Micro QR — a narrow, wide format ideal for test tubes, wristbands, and ticket strips. Up to 361 characters.

Most phone cameras cannot scan rMQR codes. This format requires specialized industrial scanners. Use standard QR for general-purpose scanning.

This barcode format renders monochrome with foreground and background colours only. Templates, dot/eye shapes, gradients, frames, and centre logos apply to QR codes only and are hidden here.

Show 30 more templates

Save a style with the button above to keep your favourites here.

#000000
#FFFFFF

Or pick a built-in icon:

Show 108 more icons

Renders behind the QR at adjustable opacity. Auto-forces EC=H so the QR still scans through the photo.

Batch Generation

Upload a CSV to generate up to 500 QR codes in a single batch. Each row becomes its own QR — pick a template or override 21 properties on a per-row basis: colors, frames, dot/eye/eyeball styles, gradients, transparency, size, error correction, format, built-in logo, and more.

21 columns: type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor. Only type and data are required. Use | to separate fields inside data (e.g. ssid|password|WPA).

All 104 QR/barcode types supported, including URL, WiFi, vCard, TOTP, Swiss QR-bill, PIX, PromptPay, ZATCA, PayNow, Bitcoin + Lightning, and more. Download the sample CSV to see every column, all 50 templates, 11 frame styles, and 336 built-in logo icons in action.

1. Download the sample CSV  ·  2. Edit it in Google Sheets, Excel, Numbers, or any text editor  ·  3. Upload it here

Save the entire QR — type, all field values, style, frame, logo, business card design — as a single .qr.json file. Load it later to recreate everything in one click.

Ctrl+D Download PNG
Ctrl+Shift+D Download SVG
Ctrl+Shift+C Copy QR
Ctrl+P Print

Enter content to generate your QR code

Also by Abundera

E-signatures that hold up in court

Abundera Sign goes beyond basic e-signatures. Every document gets cryptographic proof, independent verification, and a tamper-evident evidence package.

  • Auto-generated court-ready evidence packages
  • Personal Document Seal — detects tampering instantly
  • Anchored to 5 independent systems — no single point of failure
Try Abundera Sign

What is EPC Girocode?

EPC Girocode is the European Payments Council's standard for encoding SEPA Credit Transfer details into a QR code (specification EPC069-12). It's most widely used in Germany, Austria, and Switzerland, where it appears on invoices, donation forms, and utility bills under the name "Girocode" or "GiroCode". When a customer scans it with their banking app, the recipient name, IBAN, amount, and reference are pre-filled — they only need to confirm and authenticate.

Girocode vs SEPA QR — what's the difference?

They use the same EPC069-12 payload format. "Girocode" is the German/Austrian brand name and is recognized by virtually every banking app in the DACH region (Sparkasse, Volksbank, Deutsche Bank, Commerzbank, ING, DKB, N26, Erste, Raiffeisen, etc.). "SEPA QR" is the broader European term. Our generator outputs an identical payload either way — pick the page that matches the audience you're printing for.

How to create a Girocode

  1. Recipient name — the name on the receiving account (max 70 chars).
  2. IBAN — international bank account number (e.g. DE89 3704 0044 0532 0130 00).
  3. Amount (optional) — fixed payment amount in EUR. Leave blank for open-amount QRs.
  4. Reference / Purpose (optional) — invoice number or payment description (max 140 chars).
  5. BIC (optional) — required only for non-EEA SEPA countries; most banks derive it from the IBAN.

Common uses

Available in 26 Languages

Fully translated UI, native script rendering, and right-to-left support for Arabic and Urdu.

Frequently Asked Questions

Which banking apps scan Girocode?

Almost every German, Austrian, and Swiss banking app: Sparkasse, Volksbank, Deutsche Bank, Commerzbank, ING-DiBa, DKB, comdirect, N26, Postbank, Erste Bank, Raiffeisen, Bank Austria, BAWAG, Hypo, UBS, Credit Suisse, Raiffeisen Switzerland, and most fintech apps. Outside DACH, support is more uneven — many banks recognize the underlying SEPA QR format even if they don't market it as Girocode.

Is Girocode the same as Swiss QR-bill?

No. Switzerland has its own newer standard (Swiss QR-bill, also called QR-Rechnung) that replaced the old red and orange payment slips in 2022. Swiss QR-bill is a different payload format and includes a Swiss cross in the middle. Girocode is the EPC EU standard and is also accepted by many Swiss banking apps for SEPA EUR transfers — but for domestic CHF payments inside Switzerland, use Swiss QR-bill instead.

Does the QR need a logo or specific branding?

The EPC069-12 spec doesn't require any logo — the QR works on its own. In practice, most printed Girocodes carry a small "Girocode" or banking-app icon next to the code so users recognize they can scan it with their banking app. You can add one with our logo overlay feature if you like.

Can I use Girocode for non-euro payments?

No. The EPC069-12 specification is locked to EUR. For other currencies you need a different rail entirely — wire transfer, SWIFT, or a payment URL.

What's the maximum amount?

The EPC069-12 spec allows up to 999,999,999.99 EUR per transaction, but the practical limit is set by your bank's daily transfer cap. SEPA Instant Credit Transfer is capped at 100,000 EUR per transaction in many countries; standard SEPA has no inherent cap but banks impose their own.