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.

  1. Verplaats de eerste 4 tekens (landcode + controlecijfers) naar het einde van de string.
  2. Vervang elke letter door een getal: A=10, B=11, ..., Z=35.
  3. Interpreteer het resultaat als groot geheel getal en deel door 97.
  4. 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.

IBANLandResultaatReden
NL91 ABNA 0417 1643 00NederlandGeldigMOD-97 rest = 1
DE89 3704 0044 0532 0130 00DuitslandGeldigMOD-97 rest = 1
BE68 5390 0754 7034BelgiëGeldigMOD-97 rest = 1
NL91 ABNA 0417 1643 01NederlandOngeldigLaatste cijfer gewijzigd, MOD-97 rest niet 1
NL91 ABNA 0417 1643NederlandOngeldigTe kort (NL-IBAN moet 18 tekens zijn)
XX12 3456 7890 1234OngeldigOnbekende 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, maar trim() 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.

Veelgestelde vragen

Hoe werkt de IBAN validatie?
De validator gebruikt het modulo 97 algoritme (ISO 7064). De eerste 4 tekens van het IBAN worden naar het einde verplaatst, alle letters worden omgezet naar cijfers (A=10, B=11, etc.) en het resulterende getal moet bij deling door 97 rest 1 opleveren.
Welke landen worden ondersteund?
De validator ondersteunt IBAN nummers van alle landen die het IBAN-systeem gebruiken, waaronder Nederland, Duitsland, België, Frankrijk, Spanje, het Verenigd Koninkrijk en meer dan 70 andere landen.
Kan ik hiermee checken of een IBAN echt bestaat?
Nee. De validator controleert alleen of het IBAN wiskundig geldig is (modulo 97 check). Of het IBAN daadwerkelijk bij een bank geregistreerd is, kan alleen worden geverifieerd bij de betreffende bank.
Worden ingevoerde IBAN nummers opgeslagen?
Nee. De validatie draait volledig in je browser (client-side). Er wordt geen data verstuurd of opgeslagen.
Waarvoor gebruiken developers een IBAN validator?
Developers gebruiken IBAN validators om invoervalidatie te testen, om te controleren of gegenereerde testdata correct is, en voor het bouwen van betaalformulieren die IBAN nummers accepteren.

Gerelateerde tools