About qrcode4payment

qrcode4payment is a small, single-page tool that generates valid Swiss QR-bill payment QR codes directly in your browser. There is no backend, no account, no analytics; nothing you enter on the form is sent anywhere.

What is a Swiss QR-bill?

The QR-bill is the Swiss payment slip that replaced the orange and red slips in 2020. It contains all the information a payer needs (account, amount, reference, message) inside a single QR code with a distinctive Swiss-cross overlay. Every Swiss eBanking app can read it; scan the code and the payment form is pre-filled.

Which standard does this site implement?

The site follows the Swiss Implementation Guidelines QR-bill v2.3 published by SIX Interbank Clearing. The payload is the Swiss Payments Code (SPC): a UTF-8 string with a fixed line order, embedded in a Model-2 QR symbol with error-correction level M and a centered Swiss cross.

For the field-level reference used by the site's validators, see docs/SWISS_QR_SPEC.md in the repository.

What does it validate?

Privacy

The page is a static HTML/CSS/JS bundle hosted on Cloudflare Pages. Once the page has loaded, the QR is generated entirely client-side and is never transmitted. There is no telemetry, no cookies, and no third-party scripts other than the QR-code library loaded from a public CDN. We do not store your IBAN, debtor information, or any other field.

Limitations & disclaimer

This is a community tool. It produces payloads that conform to the public Swiss QR-bill specification, but no warranty is given that a specific eBanking app will accept a specific payload. Always scan a new code with your own bank before sharing it widely. The site does not process or settle any payments — it only encodes the data into the standard QR format.

Source code

The full source is on GitHub. Contributions, bug reports, and example payloads are welcome.

← Back to the generator