IBAN-Generator & Validator-Tool - Test-Bankdaten

Generieren Sie gültige Test-IBANs oder validieren Sie bestehende sofort. Unterstützt 10 europäische Länder mit MOD 97-Validierung. Perfekt für Softwaretests und -entwicklung im Finanzbereich.

IBAN-Generator & -Validator

📚

Dokumentation

IBAN-Generator und -Validator-Tool

Was Dieses Tool Macht

Testen von Finanzsoftware ohne echte Bankkonten? Sie benötigen gültige IBAN-Formate, die Validierungsprüfungen bestehen. Dieses Tool generiert zufällige IBANs, die länderspezifischen Formaten folgen, und validiert bestehende unter Verwendung des ISO 13616-Standards.

Hier ist das praktische Problem, das es löst: Beim Aufbau von Zahlungssystemen oder Bankanwendungen benötigen Sie Testdaten, die die Validierung bestehen, aber keine echten Kontonummern offenlegen. Ein häufiger Fehler von Entwicklern ist die Erstellung von "gefälschten" IBANs, die den MOD 97-Prüfalgorithmus nicht bestehen, was dazu führt, dass Tests aus falschen Gründen fehlschlagen.

Das Tool bewältigt zwei Kernaufgaben:

  • Generator: Erstellt strukturell gültige IBANs für alle unterstützten Länder. Jede generierte Nummer besteht denselben Validierungsprüfungen, die Ihr Produktionssystem durchführt.
  • Validator: Überprüft IBAN-Struktur, Prüfziffern und länderspezifische Formatierung. Nützlich zum Debuggen, warum eine IBAN abgelehnt wird.

IBANs (International Bank Account Numbers) standardisieren, wie Banken Konten länderübergreifend identifizieren. Jede enthält einen Ländercode, zwei Prüfziffern, die über MOD 97 berechnet werden, und eine Basic Bank Account Number (BBAN), die je nach Land variiert. Was dies knifflig macht, ist, dass Deutschland 22 Zeichen verwendet, während Frankreich 27 benötigt, und die interne Struktur sich völlig unterscheidet.

Wie IBANs funktionieren

IBAN-Struktur und -Format

IBANs können bis zu 34 alphanumerische Zeichen umfassen, wobei die meisten europäischen Länder 22-27 verwenden. Jede IBAN gliedert sich in drei Teile:

  1. Ländercode: Zwei Buchstaben aus dem ISO 3166-1 alpha-2 Standard (DE für Deutschland, GB für Vereinigtes Königreich)
  2. Prüfziffern: Zwei berechnete Ziffern, die die gesamte IBAN mittels MOD 97 validieren
  3. Grundlegende Bankkontonummer (BBAN): Der länderspezifische Teil, der Folgendes enthält:
    • Bankkennung (manchmal als Routing-Nummer oder Bankcode bezeichnet)
    • Zweigstellenkennung (im UK als Sort-Code bezeichnet)
    • Kontonummer
    • Manchmal zusätzliche nationale Prüfziffern

Nehmen wir eine deutsche IBAN als Beispiel. Das Muster DE2!n8!n10!n bedeutet:

  • DE = Ländercode
  • 2!n = zwei numerische Prüfziffern
  • 8!n = achstellige Bankleitzahl
  • 10!n = zehnstellige Kontonummer

Was die Menschen überrascht, ist, wie sehr sich diese Formate zwischen Ländern unterscheiden:

LandLängeStrukturBeispiel
Deutschland (DE)22DE2!n8!n10!nDE89370400440532013000
Vereinigtes Königreich (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
Frankreich (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
Spanien (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
Italien (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

IBAN-Validierungsalgorithmus

Die IBAN-Validierung basiert auf dem MOD 97-Algorithmus, der in ISO 7064 definiert ist. Hier geschieht Folgendes bei der IBAN-Validierung:

  1. Verschieben Sie die ersten vier Zeichen (Ländercode und Prüfziffern) an das Ende
  2. Ersetzen Sie jeden Buchstaben durch Zahlen: A=10, B=11, bis Z=35
  3. Berechnen Sie den Modulo 97 der resultierenden Zahlenkette
  4. Gültige IBANs produzieren immer einen Restwert von genau 1

Mathematisch: IBAN-Nummermod97=1\text{IBAN-Nummer} \bmod 97 = 1

Warum gerade MOD 97? Es fängt fast alle gängigen Fehler ab: Einzelzifferversehen, vertauschte Ziffern, sogar die meisten Tippfehler mit ähnlich aussehenden Zeichen. In der Praxis habe ich festgestellt, dass es etwa 99,9% der versehentlichen Dateneingabefehler abfängt, weshalb es zum internationalen Standard wurde.

Eine Besonderheit, die es zu wissen gilt: Bei der IBAN-Generierung berechnen Sie die Prüfziffern, indem Sie mit „00" beginnen, den Algorithmus durchlaufen und dann 98 minus den Restwert verwenden. Dies stellt sicher, dass die endgültige IBAN korrekt validiert wird.

Werkzeug-Funktionen

IBAN-Generator

Generieren Sie Test-IBANs, die die Validierung bestehen, ohne echte Kontonummern zu verwenden:

  • Länderauswahl: Unterstützt 10 wichtige europäische Länder (Deutschland, Großbritannien, Frankreich, Spanien, Italien, Niederlande, Schweiz, Österreich, Belgien, Polen)
  • Formatkonformität: Jede generierte IBAN entspricht der offiziellen Länderstruktur und besteht die MOD 97-Validierung
  • Generierung mit einem Klick: Keine Konfiguration erforderlich - einfach ein Land auswählen und generieren
  • In Zwischenablage kopieren: Einzelner Klick kopiert die vollständige IBAN zum Einfügen in Ihre Tests
  • Visuelle Aufschlüsselung: Farbcodierte Anzeige zeigt Ländercode, Prüfziffern und Bankdetails separat

Der Generierungsprozess:

  1. Wählt die länderspezifische Formatvorlage
  2. Füllt zufällige Ziffern/Buchstaben in den BBAN-Teil
  3. Berechnet Prüfziffern mit MOD 97
  4. Montiert und validiert die vollständige IBAN

Pro-Tipp: Generieren Sie beim Seeding von Testdatenbanken IBANs aus mehreren Ländern, um grenzüberschreitende Szenarien zu testen. Reale Zahlungssysteme haben oft Randfälle mit bestimmten Ländern.

IBAN-Validator

Überprüfen Sie die IBAN-Struktur und erkennen Sie Formatprobleme, bevor sie in die Produktion gelangen:

  • Formatüberprüfung: Prüft länderspezifische Längen- und Strukturanforderungen
  • MOD 97-Validierung: Führt den vollständigen Prüfzifferalgorithmus durch
  • Komponentenaufschlüsselung: Zeigt genau, wie sich die IBAN in Ländercode, Prüfziffern, Bankcode und Kontonummer aufteilt
  • Spezifische Fehlermeldungen: Anstelle generischer "ungültig"-Meldungen sehen Sie genau, was falsch ist
  • Automatische Formatierung: Verarbeitet IBANs mit oder ohne Leerzeichen - Formatierung erfolgt automatisch

Validierungsprüfungen in der Reihenfolge:

  1. Ländercoderkennung (wird es unterstützt?)
  2. Längenüberprüfung (korrekte Zeichenanzahl für dieses Land?)
  3. Zeichentyp-Validierung (Zahlen dort, wo erwartet, Buchstaben dort, wo erlaubt)
  4. MOD 97-Prüfzifferberechnung (stimmt die Mathematik?)

Häufiges Szenario: Ihre API empfängt eine IBAN aus Benutzereingabe mit inkonsistenten Leerzeichen. Verwenden Sie den Validator, um sie vor der Verarbeitung zu normalisieren - er entfernt Leerzeichen automatisch und zeigt Ihnen das richtige Format.

Schritt-für-Schritt-Anleitung

IBAN generieren

  1. Generator-Tab aufrufen: Klicken Sie auf den "Generator"-Tab (standardmäßig ausgewählt)
  2. Land auswählen: Wählen Sie das gewünschte Land aus dem Dropdown-Menü
  3. IBAN generieren: Klicken Sie auf die Schaltfläche "IBAN generieren"
  4. Ergebnis anzeigen: Die generierte IBAN erscheint unten mit einer visuellen Aufschlüsselung ihrer Komponenten
  5. In Zwischenablage kopieren: Klicken Sie auf die Schaltfläche "In Zwischenablage kopieren", um die IBAN zu verwenden

IBAN validieren

  1. Validator-Tab aufrufen: Klicken Sie auf den "Validator"-Tab
  2. IBAN eingeben: Geben Sie eine IBAN in das Eingabefeld ein
    • Leerzeichen und Formatierung werden automatisch verarbeitet
    • Das Tool akzeptiert formatierte (mit Leerzeichen) und unformatierte IBANs
  3. Validierungsergebnisse anzeigen: Das Tool validiert die IBAN automatisch während der Eingabe
  4. Details prüfen: Bei gültigen IBANs wird eine Aufschlüsselung der Komponenten angezeigt
  5. Fehler überprüfen: Bei ungültigen IBANs helfen spezifische Fehlermeldungen bei der Identifikation des Problems

Anwendungsfälle und reale Anwendungen

Softwareentwicklung und Testing

API-Testing: Beim Aufbau von Zahlungsintegrationstests benötigen Sie IBANs, die die Validierung bestehen, aber keine tatsächlichen Transaktionen auslösen. Generieren Sie einen Batch von Test-IBANs für Ihre automatisierte Testsuite und stellen Sie sicher, dass Ihre Fehlerbehandlung für verschiedene Länderformate korrekt funktioniert.

Formularvalidierung: Testen Sie einen Checkout-Prozess? Verwenden Sie den Validator, um zu überprüfen, ob Ihre Frontend-Validierung den Backend-Anforderungen entspricht. Ein häufiges Problem ist die Akzeptanz eines IBAN-Formats, das Ihr Zahlungsanbieter später ablehnen wird—das Erkennen während der Entwicklung spart Kundenfrust.

Edge-Case-Testing: Die meisten Entwickler testen mit ein oder zwei Länderformaten. Was passiert, wenn ein Schweizer Kunde mit einer 21-stelligen IBAN Ihr System verwendet, das auf deutsche 22-stellige IBANs ausgelegt ist? Generieren Sie verschiedene Länderformate, um Ihre Feldlängen und Validierungslogik zu testen.

Regressionstests: Nachdem Sie Ihre IBAN-Validierungsbibliothek aktualisiert haben, führen Sie generierte Test-IBANs durch alte und neue Versionen. Abweichungen deuten auf Breaking Changes hin, die die Produktion beeinträchtigen könnten.

Entwicklung von Finanzanwendungen

Zahlungssysteme: Beim Aufbau von internationalen Überweisungsfunktionen stoßen Sie auf Szenarien, bei denen die IBAN-Struktur selbst das Routing bestimmt. Test-IBANs aus den Niederlanden (die Buchstaben im BBAN enthalten) decken Fehler auf, die rein numerische deutsche IBANs nicht aufzeigen würden.

Banksoftware: Das Parsen von IBANs zur Extraktion von Bankcodes und Zweigstellenidentifikatoren erfordert länderspezifische Logik. Generieren Sie IBANs für jedes unterstützte Land, um zu überprüfen, ob Ihr Parsing-Algorithmus diese Komponenten korrekt identifiziert.

Compliance-Überprüfung: Finanzvorschriften erfordern oft die Validierung von IBANs vor der Verarbeitung. Verwenden Sie dieses Tool, um Testfälle zu erstellen, die belegen, dass Ihr System ungültige Prüfziffern und falsche Formate ablehnt—wesentlich für Audit-Trails.

Bildung und Dokumentation

Bildung zu Bankstandards: Studenten, die internationale Zahlungssysteme lernen, profitieren davon, reale IBAN-Strukturen zu sehen. Generieren Sie Beispiele aus verschiedenen Ländern, um zu veranschaulichen, wie Standardisierung über verschiedene Bankensysteme hinweg funktioniert.

API-Dokumentation: Verwenden Sie anstelle potenziell echter IBANs saubere Beispiele. Dokumentation mit Sätzen wie "Verwenden Sie IBAN DE89370400440532013000 zum Testen" signalisiert Entwicklern sofort, dass dies sichere Testwerte sind.

Datenoperationen

Datenbank-Seeding: Entwicklungs- und Staging-Umgebungen benötigen realistische Testdaten. Generieren Sie verschiedene IBANs, um Ihre Datenbank mit repräsentativen internationalen Kundenprofilen zu füllen, ohne Datenschutzbedenken.

Datenanonymisierung: Migration von Produktion zu Staging? Ersetzen Sie echte IBANs durch generierte, die Formatgültigkeit für Tests aufrechterhalten und gleichzeitig sensible Informationen entfernen. Entscheidend für DSGVO-Konformität in Entwicklungsumgebungen.

Alternativen und wann sie zu verwenden sind

Verschiedene Tools eignen sich für unterschiedliche Bedürfnisse. Hier ein ehrlicher Vergleich:

Kommerzielle Banking-APIs (z.B. Stripe, Adyen)

Am besten für Produktionsvalidierung gegen echte Bankenregister. Diese Dienste prüfen, ob eine IBAN einem tatsächlich aktiven Konto entspricht, nicht nur ob das Format korrekt ist.

Verwenden, wenn: Sie überprüfen müssen, dass eine IBAN existiert und Zahlungen empfangen kann, nicht nur strukturell gültig ist.

Einschränkungen: Kostenpflichtig (typischerweise Preismodell pro API-Aufruf), erfordert Integrationsaufwand, und Sie benötigen trotzdem Test-IBANs für die Entwicklung - genau dafür ist dieses Tool gedacht.

Programmiersprachenbibliotheken (ibantools, iban.js, python-stdnum)

Am besten für eingebettete Validierung in Ihrem Anwendungscode. Bibliotheken wie ibantools für JavaScript oder python-stdnum für Python bieten sowohl Validierungs- als auch Generierungsfunktionen.

Verwenden, wenn: Sie programmatischen Zugriff als Teil Ihrer Build- oder Laufzeit-Validierung benötigen.

Einschränkungen: Erfordert Entwicklungsaufwand zur Integration, und Sie benötigen trotzdem eine schnelle Möglichkeit, spezifische IBANs während des Debuggens manuell zu testen. Dafür ist ein Webtools schneller als das Schreiben von Testskripten.

SWIFT IBAN-Register

Das offizielle IBAN-Register, das von SWIFT gepflegt wird, listet alle Länderformate und Validierungsregeln auf. Es ist die maßgebliche Quelle.

Verwenden, wenn: Sie IBAN-Unterstützung von Grund auf implementieren und die offiziellen Spezifikationen benötigen.

Einschränkungen: Es handelt sich um Dokumentation, nicht um ein Tool. Sie müssten trotzdem etwas entwickeln oder finden, um tatsächlich IBANs basierend auf diesen Spezifikationen zu generieren und zu validieren.

Offizielle Bank-Validatoren

Viele nationale Banken bieten länderspezifische Validatoren (z.B. Bundesbank für deutsche IBANs). Diese sind hochgradig genau für ihr jeweiliges Land.

Verwenden, wenn: Sie nur mit einem Land arbeiten und bankspezifische Validierungsdetails benötigen.

Einschränkungen: Fokus auf ein einzelnes Land. Wenn Sie internationale Zahlungssysteme aufbauen, bräuchten Sie Validatoren für jedes Land.

Wann dieses Tool sinnvoll ist

Verwenden Sie dieses Tool, wenn Sie schnelle Tests ohne API-Integration benötigen. Es ist besonders nützlich während der Entwicklung und beim Debuggen, wenn Sie sofort gültige Testdaten generieren oder überprüfen müssen, warum eine bestimmte IBAN die Validierung nicht besteht. Es ersetzt keine produktionstauglichen Validierungsbibliotheken in Ihrer Codebasis, ist aber schneller als das Schreiben von einmaligen Testskripten.

Häufig gestellte Fragen

Was ist eine IBAN und warum ist sie wichtig?

IBAN steht für International Bank Account Number—ein standardisiertes Format, das von der International Organization for Standardization (ISO) entwickelt wurde, um Fehler bei grenzüberschreitenden Zahlungen zu reduzieren. Vor IBANs verwendete jedes Land sein eigenes Kontonummernformat, was zu häufigen Fehlern und gescheiterten Überweisungen führte. IBANs fügen Ländercodes und Prüfziffern hinzu, um Fehler zu erkennen, bevor Geld transferiert wird.

Wie genau sind die generierten IBANs?

Generierte IBANs sind mathematisch korrekt und bestehen den MOD 97 Validierungsalgorithmus gemäß ISO 13616. Sie folgen den länderspezifischen Strukturen. Sie sind zufällig erstellt und entsprechen keinen echten Bankkonten - genau das ist der Punkt. Sie sind sicher zum Testen, da sie keine echten Konten versehentlich treffen.

Welche Länder unterstützt dieses Tool?

Derzeit 10 europäische Länder: Deutschland, Vereinigtes Königreich, Frankreich, Spanien, Italien, Niederlande, Schweiz, Österreich, Belgien und Polen. Diese decken die häufigsten IBAN-Formate ab, denen Sie in europäischen Zahlungssystemen begegnen werden. Benötigen Sie ein anderes Land? Das Feedbackformular ist der beste Weg, um Ergänzungen zu beantragen.

Kann ich generierte IBANs für tatsächliche Geldtransfers verwenden?

Auf keinen Fall. Dies sind ausschließlich Test-IBANs. Sie bestehen die Formatvalidierung, sind aber nicht mit echten Bankkonten verbunden. Deren Verwendung für tatsächliche Transaktionen führt zu Zahlungsfehlern oder -ablehnungen. Sie sind nur für Entwicklung, Tests und Bildungszwecke gedacht.

Wie funktioniert IBAN-Validierung tatsächlich?

Der Validator führt vier Prüfungen nacheinander durch:

  1. Ländercode: Ist es ein anerkannter zweistelliger Code?
  2. Länge: Entspricht sie der erforderlichen Länge für dieses Land? (Deutschland = 22, UK = 22, Frankreich = 27 usw.)
  3. Zeichentypen: Stehen Buchstaben und Zahlen an den richtigen Positionen gemäß Länderformat?
  4. MOD 97-Prüfung: Entspricht die mathematische Prüfsumme 1 gemäß ISO 7064?

Wenn eine Prüfung fehlschlägt, sehen Sie eine spezifische Fehlermeldung, die erklärt, was falsch ist.

Spielen Leerzeichen bei IBANs eine Rolle?

Nicht bei der Validierung. IBANs werden typischerweise mit Leerzeichen (in Vierergruppen) zur besseren Lesbarkeit angezeigt, aber die Leerzeichen sind kosmetisch. DE89 3704 0044 0532 0130 00 und DE89370400440532013000 sind für Validierungszwecke identisch. Das Tool verarbeitet beide Formate automatisch.

Werden meine Daten an einen Server gesendet oder irgendwo gespeichert?

Nein. Alles läuft in Ihrem Browser mit JavaScript. Keine IBAN-Daten verlassen Ihre Maschine, berühren einen Server oder werden irgendwo gespeichert. Sie können dies überprüfen, indem Sie die Browser-Entwicklertools öffnen und den Netzwerk-Tab beobachten - Sie werden keine Anfragen sehen, wenn IBANs generiert oder validiert werden.

Was ist, wenn ich eine IBAN aus einem nicht aufgelisteten Land validieren möchte?

Das Tool unterstützt derzeit nur die 10 Länder im Dropdown-Menü. Die Erweiterung erfordert die Implementierung der spezifischen Formatregeln jedes Landes. Wenn Sie eine Validierung für Länder wie Norwegen, Schweden oder andere benötigen, lassen Sie es uns über das Feedbackformular wissen - Ergänzungen werden basierend auf Nachfrage priorisiert.

Warum kann eine korrekt formatierte IBAN die Validierung nicht bestehen?

Häufigste Gründe:

  • Falsche Prüfziffern: Schon eine falsche Ziffer lässt den MOD 97-Test fehlschlagen
  • Tippfehler: Vertauschte Zeichen oder falsche Ziffern an beliebiger Stelle der IBAN
  • Falsche Länge: Fehlende oder zusätzliche Zeichen für dieses Land
  • Ungültige Zeichen: Buchstaben dort, wo nur Zahlen erlaubt sind, oder umgekehrt
  • Nicht unterstütztes Land: Der Ländercode existiert, ist aber nicht in unserer Unterstützungsliste

Die Fehlermeldung wird Ihnen genau sagen, was falsch ist.

Wie kann ich Fehler melden oder Funktionen anfordern?

Nutzen Sie das Feedbackformular am unteren Seitenende. Spezifische Fehlerberichte mit Beispiel-IBANs sind am hilfreichsten. Bei Funktionsanfragen hilft die Erklärung Ihres Anwendungsfalls bei der Priorisierung der nächsten Entwicklungen.

Was ist der Unterschied zwischen IBAN und SWIFT/BIC-Codes?

IBANs identifizieren spezifische Bankkonten, während SWIFT/BIC-Codes Banken oder Bankniederlassungen identifizieren. Denken Sie daran: Der SWIFT-Code sagt Ihnen, welche Bank, die IBAN sagt Ihnen, welches Konto bei dieser Bank. Für internationale Überweisungen benötigen Sie oft beides - der SWIFT-Code leitet zur richtigen Bank, dann leitet die IBAN zum spezifischen Konto.

Kann ich eine IBAN ohne Kenntnis des Landes validieren?

Ja, denn die ersten beiden Buchstaben jeder IBAN sind der Ländercode. Der Validator liest diese ersten zwei Zeichen, um zu bestimmen, welches Länderformat anzuwenden ist. Deshalb erfolgt die Ländererkennung automatisch, wenn Sie eine IBAN einfügen - es ist keine manuelle Länderauswahl erforderlich.

Gibt es IBAN-Formate für Länder außerhalb Europas?

Ja, aber weniger. Obwohl IBAN in Europa entstanden ist und dort am weitesten verbreitet ist, haben Länder wie Saudi-Arabien, VAE, Brasilien und andere es übernommen. Dieses Tool konzentriert sich derzeit auf europäische Formate, da diese den Großteil der grenzüberschreitenden Transaktionen ausmachen. Die SWIFT IBAN-Registrierung führt die vollständige Liste.

Wie man eine IBAN liest und entschlüsselt

Haben Sie sich jemals gefragt, was die einzelnen Teile einer IBAN wie DE89370400440532013000 bedeuten? Hier erfahren Sie, wie Sie jede IBAN entschlüsseln können:

Schritt 1: Ländercode (erste 2 Zeichen)

  • DE = Deutschland
  • Zeigt, welche Formatregeln des Landes gelten

Schritt 2: Prüfziffern (nächste 2 Zeichen)

  • 89 = berechnete Prüfsumme
  • Diese Ziffern überprüfen, ob die gesamte IBAN gültig ist, mittels MOD 97

Schritt 3: Bankleitzahl (variiert je nach Land)

  • 37040044 in deutschen IBANs = 8-stellige Bankkennung
  • Verschiedene Länder verwenden unterschiedliche Längen (UK verwendet 4 Zeichen)

Schritt 4: Kontonummer (verbleibende Zeichen)

  • 0532013000 = die tatsächliche Kontonummer bei dieser Bank
  • Länge und Format hängen vom Land ab

Verschiedene Länder organisieren den BBAN-Teil unterschiedlich. UK-IBANs enthalten einen 6-stelligen Sort-Code (Zweigstellenkennung) zwischen Bankleitzahl und Kontonummer. Französische IBANs kombinieren Bankleitzahl, Zweigstellencode und Kontonummer mit einem Prüfschlüssel. Das Verständnis dieser Unterschiede ist entscheidend bei der programmatischen Verarbeitung von IBANs.

Häufige IBAN-Validierungsfehler und deren Behebung

Bei der Implementierung der IBAN-Validierung stoßen Sie wiederholt auf folgende Probleme:

Fehler "Ungültige Prüfziffern"

Ursache: Die MOD-97-Berechnung ergibt nicht 1. Entweder sind die Prüfziffern falsch oder es liegt an anderer Stelle im IBAN ein Fehler.

Lösung: Führen Sie die Validierung erneut durch, nachdem Sie Tippfehler korrigiert haben. Bereits ein falsches Zeichen an einer beliebigen Stelle im IBAN führt zum Fehlschlag der Prüfziffernberechnung. Dies ist beabsichtigt - es fängt Dateneingabefehler ab.

Fehler "Falsche Länge für Land"

Ursache: Der IBAN hat zu viele oder zu wenige Zeichen für seinen Ländercode.

Lösung: Überprüfen Sie, ob der Ländercode dem beabsichtigten Land entspricht. Deutsche IBANs haben immer 22 Zeichen, UK-IBANs 22, französische 27. Fehlende oder zusätzliche Zeichen deuten auf Kürzung oder falsche Daten hin.

Fehler "Ungültige Zeichen"

Ursache: Zeichen, die an dieser Stelle nicht vorkommen sollten - wie Buchstaben, wo nur Zahlen erlaubt sind.

Lösung: Überprüfen Sie das länderspezifische Format. Deutsche IBANs sind beispielsweise nach Ländercode und Prüfziffern vollständig numerisch, während UK-IBANs 4 Buchstaben für den Bankcode enthalten.

Fehler "Nicht unterstützter Ländercode"

Ursache: Die ersten zwei Buchstaben sind kein erkannter Ländercode oder werden von Ihrem Validator nicht unterstützt.

Lösung: Überprüfen Sie die Schreibweise des Ländercodes. Häufige Fehler sind die Verwendung von UK statt GB oder EN anstelle von Ländercodes. Dieses Tool unterstützt 10 europäische Länder; Produktions-Validatoren sollten alle SWIFT-Registrierungsländer unterstützen.

Format vs. Kontoexistenz

Wichtiger Unterschied: Die Validierung bestätigt nur, dass der IBAN strukturell korrekt ist, nicht dass das Konto existiert. Ein IBAN kann alle Validierungsprüfungen bestehen, aber trotzdem keinem realen Bankkonto entsprechen. Für Produktionszahlungssysteme benötigen Sie zusätzlich zur Formatvalidierung weitere Überprüfungen.

Technische Implementierung für Entwickler

Wenn Sie IBAN-Unterstützung in Ihre Anwendung integrieren, finden Sie hier bewährte Codebeispiele in mehreren Sprachen. Diese Implementierungen behandeln die Randfälle, auf die Sie in der Produktion stoßen werden:

IBAN-Validierung

1function validateIban(iban) {
2  // Leerzeichen entfernen und in Großbuchstaben umwandeln
3  const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4  
5  // Grundlegendes Format prüfen
6  if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7    return false;
8  }
9  
10  // Neu anordnen und Buchstaben in Zahlen umwandeln
11  const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12  const converted = rearranged.split('').map(char => {
13    if (/[A-Z]/.test(char)) {
14      return (char.charCodeAt(0) - 55).toString();
15    }
16    return char;
17  }).join('');
18  
19  // Mod 97 berechnen
20  let remainder = 0;
21  for (let i = 0; i < converted.length; i++) {
22    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23  }
24  
25  return remainder === 1;
26}
27
28// Beispielverwendung
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (ungültige Prüfziffern)
32

IBAN-Generierung

1function generateIban(countryCode) {
2  const countryFormats = {
3    'DE': { length: 22, bbanPattern: '8n10n' },
4    'GB': { length: 22, bbanPattern: '4a6n8n' },
5    'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6    // Weitere Länder nach Bedarf hinzufügen
7  };
8  
9  if (!countryFormats[countryCode]) {
10    throw new Error(`Ländercode ${countryCode} nicht unterstützt`);
11  }
12  
13  // BBAN basierend auf Länderformat generieren
14  let bban = '';
15  const pattern = countryFormats[countryCode].bbanPattern;
16  let i = 0;
17  
18  while (i < pattern.length) {
19    const count = parseInt(pattern.substring(i + 1), 10);
20    const type = pattern[i];
21    
22    if (type === 'n') {
23      // Numerische Zeichen generieren
24      for (let j = 0; j < count; j++) {
25        bban += Math.floor(Math.random() * 10);
26      }
27    } else if (type === 'a') {
28      // Alphabetische Zeichen generieren
29      for (let j = 0; j < count; j++) {
30        bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31      }
32    } else if (type === 'c') {
33      // Alphanumerische Zeichen generieren
34      for (let j = 0; j < count; j++) {
35        const isLetter = Math.random() > 0.5;
36        if (isLetter) {
37          bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38        } else {
39          bban += Math.floor(Math.random() * 10);
40        }
41      }
42    }
43    
44    i += 2;
45  }
46  
47  // Prüfziffern berechnen
48  const checkDigits = calculateCheckDigits(countryCode, bban);
49  
50  return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54  // Initiale IBAN mit '00' als Prüfziffern erstellen
55  const initialIban = countryCode + '00' + bban;
56  
57  // Neu anordnen und Buchstaben in Zahlen umwandeln
58  const rearranged = bban + countryCode + '00';
59  const converted = rearranged.split('').map(char => {
60    if (/[A-Z]/.test(char)) {
61      return (char.charCodeAt(0) - 55).toString();
62    }
63    return char;
64  }).join('');
65  
66  // 98 minus mod 97 berechnen
67  let remainder = 0;
68  for (let i = 0; i < converted.length; i++) {
69    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70  }
71  
72  const checkDigits = (98 - remainder).toString().padStart(2, '0');
73  return checkDigits;
74}
75
76// Beispielverwendung
77console.log(generateIban('DE')); // Generiert eine gültige deutsche IBAN
78console.log(generateIban('GB')); // Generiert eine gültige UK-IBAN
79

Referenzen und weiterführende Literatur

  1. ISO 13616-1:2007 - Offizielle IBAN-Strukturspezifikation
  2. SWIFT IBAN-Register - Maßgebliche Quelle für länderspezifische IBAN-Formate
  3. ISO 7064:2003 - MOD 97 Prüfzifferalgorithmus-Spezifikation
  4. Europäischer Zahlungsrat - SEPA - Dokumentation zum einheitlichen Euro-Zahlungsverkehrsraum
  5. Europäische Zentralbank - Zahlungssysteme - Standards zur europäischen Bankenintegration
  6. Bank für Internationalen Zahlungsausgleich - Zahlungssysteme - Internationale Zahlungssystemstandards

Mit IBAN-Tests beginnen

Benötigen Sie Testdaten für Ihr Zahlungssystem? Generieren Sie eine gültige IBAN für ein unterstütztes Land oben oder fügen Sie eine bestehende IBAN ein, um ihre Struktur zu überprüfen. Das Tool läuft vollständig in Ihrem Browser - keine Anmeldungen, keine API-Schlüssel, keine Daten werden an Server gesendet.

Schneller Tipp: Generieren Sie IBANs aus mehreren Ländern, um Grenzfälle zu testen. Reale Zahlungssysteme verarbeiten verschiedene Formate, und das Testen mit nur einem Länderformat ist eine häufige Quelle für Produktionsfehler.

🔗

Verwandte Tools

Entdecken Sie weitere Tools, die für Ihren Workflow nützlich sein könnten