Albania IBAN
28 characters: the country code, two check digits, then the BBAN cut as below.
Anatomy of the official example
AL47212110090000000235698741
- 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.
| ISO code | AL |
|---|---|
| Length | 28 characters |
| Check digits | positions 3 to 4, ISO 7064 mod 97-10 |
| Bank code | positions 5 to 12 · 8!n |
| Account number | positions 13 to 28 · 16!c |
| Official example | AL47 2121 1009 0000 0002 3569 8741 |
| SEPA area | member · SCT, SDD, SCT Inst |
| Verification of Payee | no duty to date |
| Bank-code register | IBANforge composite map, assembled from BIC directories (not a national 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 Albania IBAN
- The length, the charset of every field and the mod-97 check digits.
- The bank code against our composite map assembled from BIC directories: a BIC and a bank name when they are listed, without the weight of a national register.
- The country's SEPA reachability and the open schemes (SCT, SDD, SCT Inst).
- 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": "AL",
"name": "Albania"
},
"bic": null,
"bank_code_check": {
"value": "21211009",
"status": "not_in_register",
"reason": "absent_from_reference_data",
"match": null,
"register": "IBANforge composite bank-code map (assembled from BIC directories, not a national bank-code register)",
"authoritative": false,
"as_of": "2026-09"
},
"sepa": {
"member": true,
"schemes": [
"SCT",
"SDD",
"SCT_INST"
],
"vop_required": false,
"vop_participant": null,
"basis": "country_default"
},
"issuer": null,
"risk_indicators": {
"country_risk": "elevated",
"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.