Switzerland is the SEPA participant that is not an EU member, and its payment stack has some domestic peculiarities worth reflecting in test data. A Swiss test IBAN is 21 characters: CH, two ISO mod-97 check digits, a 5-digit institution identifier (IID) naming the bank, and a 12-character account number that, unlike many neighbours, may contain uppercase letters as well as digits.
The QR-bill wrinkle
Since Switzerland replaced its orange and red payment slips with the QR-bill, there are effectively two flavours of CH account identifiers in the wild: ordinary IBANs and QR-IBANs. A QR-IBAN validates identically (same length, same mod-97 rule) but uses an IID from a reserved range, and payment software is expected to route it through the QR reference procedure. If your product parses Swiss payment slips or generates QR-bills, your test matrix needs both flavours; if you only validate account input, ordinary structurally valid CH IBANs from this generator are exactly what your fixtures need.
Development scenarios that need CH values
A few real ones: asserting that your SEPA country table includes non-EU participants (Switzerland is the canonical case people forget); testing CHF versus EUR currency handling on the same IBAN format; and onboarding flows in payment sandboxes where a Swiss merchant’s payout IBAN must pass syntax checks before test payouts can be simulated. In an e2e test, filling a payout-details form with a generated CH IBAN lets the run proceed to KYC and payout-schedule screens instead of dying at field validation.
Every IBAN here is produced locally in your browser, never transmitted or stored, and visibly marked TEST.
Valid string, nonexistent account
Mod-97 arithmetic confirms internal consistency, nothing else. No generated CH IBAN belongs to a real account at UBS, PostFinance or anywhere else. Use them for software testing, never for actual transfers or as purported real bank details; recipient verification checks in modern payment rails, including the EU’s Verification of Payee for euro transfers, exist precisely to catch mismatched or fabricated account data.