Luxembourg IBAN
20 characters: the country code, two check digits, then the BBAN cut as below.
Anatomy of the official example
LU280019400644750000
- 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 | LU |
|---|---|
| Length | 20 characters |
| Check digits | positions 3 to 4, ISO 7064 mod 97-10 |
| Bank code | positions 5 to 7 · 3!n |
| Account number | positions 8 to 20 · 13!c |
| Official example | LU28 0019 4006 4475 0000 |
| SEPA area | member · SCT, SDD, SCT Inst |
| Verification of Payee | mandatory for the country's providers |
| 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 Luxembourg 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": "LU",
"name": "Luxembourg"
},
"bic": {
"code": "BCEELULL",
"bic8": "BCEELULL",
"bank_name": "Banque et Caisse d'Epargne de l'Etat, Luxembourg",
"city": "Luxembourg",
"source": "IBANforge curated bank-code map",
"as_of": "2026-09",
"basis": "curated_map",
"authoritative": false,
"lei": "R7CQUF1DQM73HUTV1078"
},
"bank_code_check": {
"value": "001",
"status": "verified",
"match": "register",
"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": true,
"vop_participant": true,
"basis": "epc_register"
},
"issuer": {
"type": "bank",
"name": "Banque et Caisse d'Epargne de l'Etat, Luxembourg",
"classification": "default"
},
"risk_indicators": {
"country_risk": "standard",
"sepa_reachable": true,
"vop_coverage": true,
"test_bic": false
}
}Source: ISO 13616 registry for the length, layout and example; API answer captured on 2026-09-23.