Switzerland IBAN
21 characters: the country code, two check digits, then the BBAN cut as below.
Anatomy of the official example
CH9300762011623852957
- Country code
- Check digits
- Bank code
- Account number
The example comes from the ISO 13616 registry; it belongs to nobody. Positions count from the first character of the IBAN.
The check digits of this official example pass, yet SIX BankMaster (Swiss IID / BC-Nummer register) says nobody holds its bank code: that is exactly what our bank-code check catches, and what a checksum alone cannot see.
| ISO code | CH |
|---|---|
| Length | 21 characters |
| Check digits | positions 3 to 4, ISO 7064 mod 97-10 |
| Bank code | positions 5 to 9 · 5!n |
| Account number | positions 10 to 21 · 12!c |
| Official example | CH93 0076 2011 6238 5295 7 |
| SEPA area | member · SCT, SDD |
| Verification of Payee | no duty to date |
| Bank-code register | SIX BankMaster (Swiss IID / BC-Nummer register) |
SWIFT notation: n = digits, a = upper-case letters, c = alphanumeric characters; the exclamation mark fixes the exact length.
What the API checks on a Switzerland IBAN
- The length, the charset of every field and the mod-97 check digits.
- The bank code against SIX BankMaster (Swiss IID / BC-Nummer register), refreshed monthly: institution, matching BIC, status.
- The country's SEPA reachability and the open schemes (SCT, SDD).
- The Verification of Payee duty that does, or does not, bind the country's providers.
What the API answers for this code
The block below is the route's own answer, produced by the same code that serves api.ibanforge.com, on the register as of the date shown. Nothing is edited.
{
"valid": true,
"country": {
"code": "CH",
"name": "Switzerland"
},
"bic": null,
"bank_code_check": {
"value": "00762",
"status": "not_in_register",
"reason": "not_allocated",
"match": null,
"register": "SIX BankMaster (Swiss IID / BC-Nummer register)",
"authoritative": true,
"as_of": "2026-10"
},
"sepa": {
"member": true,
"vop_required": false
},
"issuer": null,
"risk_indicators": {
"country_risk": "standard",
"sepa_reachable": true,
"vop_coverage": false,
"test_bic": false
}
}Source: ISO 13616 registry for the length, layout and example; API answer captured on 2026-10-21.