IBAN Validator - IBAN nummer controleren met modulo 97
Voer een IBAN nummer in en controleer direct of het geldig is. Ondersteunt alle landen. Volledig client-side — geen data wordt opgeslagen.
Let op:alle gegenereerde gegevens zijn volledig fictief en mogen niet worden gebruikt als echte persoonsgegevens.
Hoe werkt IBAN MOD-97 validatie?
De MOD-97 check is gestandaardiseerd in ISO 7064 en ISO 13616 en werkt identiek voor elk SEPA-land. Het algoritme bestaat uit vier stappen.
- Verplaats de eerste 4 tekens (landcode + controlecijfers) naar het einde van de string.
- Vervang elke letter door een getal: A=10, B=11, ..., Z=35.
- Interpreteer het resultaat als groot geheel getal en deel door 97.
- Als de rest gelijk is aan 1, is het IBAN wiskundig geldig.
Voor de wiskundige achtergrond, voorbeeldberekeningen en een vergelijking met andere checksum-standaarden, zie de kennisbank-pagina over IBAN MOD-97.
Voorbeelden: geldig en ongeldig IBAN
Onderstaande voorbeelden zijn fictieve testnummers. Ze voldoen aan MOD-97 maar zijn niet gekoppeld aan een rekening bij een bank.
| IBAN | Land | Resultaat | Reden |
|---|---|---|---|
| NL91 ABNA 0417 1643 00 | Nederland | Geldig | MOD-97 rest = 1 |
| DE89 3704 0044 0532 0130 00 | Duitsland | Geldig | MOD-97 rest = 1 |
| BE68 5390 0754 7034 | België | Geldig | MOD-97 rest = 1 |
| NL91 ABNA 0417 1643 01 | Nederland | Ongeldig | Laatste cijfer gewijzigd, MOD-97 rest niet 1 |
| NL91 ABNA 0417 1643 | Nederland | Ongeldig | Te kort (NL-IBAN moet 18 tekens zijn) |
| XX12 3456 7890 1234 | — | Ongeldig | Onbekende landcode |
Valkuilen bij IBAN-validatie
IBANs uit externe bronnen (PDFs, e-mails, CSV imports) zijn zelden “schoon”. De meeste validatiefouten komen door formatterings- of encoding-problemen, niet door een foutief controlecijfer.
- Unicode-spaties— non-breaking spaces (U+00A0) en narrow no-break spaces (U+202F) komen vaak uit PDF-exports of Word. Een standaard
replace(/\s/g, '')werkt wel, maartrim()niet. - Streepjes— sommige bankafschriften drukken IBANs af met streepjes (
NL91-ABNA-0417-1643-00). Strip zowel spaties als streepjes voordat je valideert. - Lowercase letters — IBANs moeten uppercase zijn voor de letter-naar-cijfer conversie. Roep
toUpperCase()aan na het strippen van whitespace. - Niet-SEPA-landen — landen als Turkije (TR) of Saoedi-Arabië (SA) hebben geldige IBANs maar zitten niet in SEPA. Je betaalflow kan ze afwijzen ook al passeert de MOD-97 check. Check expliciet op SEPA-lidmaatschap als je SEPA Credit Transfer wilt uitvoeren.
- Landafhankelijke lengte — elk land heeft een vaste IBAN-lengte (NL=18, DE=22, BE=16, FR=27). MOD-97 alleen is niet genoeg: controleer ook de lengte per landcode.