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 bank code of this official example is not allocated in SIX BankMaster (Swiss IID / BC-Nummer register): the API says so as it is, which is the expected behaviour on a demonstration IBAN.
| 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-09"
},
"sepa": {
"member": true,
"schemes": [
"SCT",
"SDD"
],
"vop_required": false,
"vop_participant": null,
"basis": "country_default"
},
"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-09-23.