Erstellen Sie zufällige, formatkonforme IBANs oder validieren Sie vorhandene mit unserem einfachen Tool. Perfekt für Tests von Finanzanwendungen, Bankensoftware und Bildungszwecken.
Das International Bank Account Number (IBAN) Generator- und Validator-Tool ist ein umfassendes Werkzeug, das für Test- und Verifizierungszwecke in Finanzanwendungen, Bankensoftware und Bildungskontexten konzipiert wurde. Diese benutzerfreundliche Anwendung bietet zwei wesentliche Funktionen: die Generierung von zufälligen, aber formatkonformen IBANs und die Validierung der strukturellen Integrität von vom Benutzer eingegebenen IBANs. Egal, ob Sie ein Entwickler sind, der Finanzsoftware testet, ein QA-Spezialist, der Banking-Anwendungen verifiziert, oder ein Pädagoge, der internationale Bankstandards erklärt, dieses Tool bietet eine unkomplizierte Lösung, ohne dass komplexe Konfigurationen oder Drittanbieter-Integrationen erforderlich sind.
IBANs (International Bank Account Numbers) sind standardisierte Kontenidentifikatoren, die international verwendet werden, um grenzüberschreitende Transaktionen zu erleichtern und Fehler bei internationalen Geldtransfers zu reduzieren. Jede IBAN besteht aus einem Ländercode, Prüfziffern und einer Basisbankkontonummer (BBAN), die länderspezifischen Formaten folgt. Unser Tool unterstützt mehrere Länderformate und stellt sicher, dass alle generierten IBANs den MOD 97 Validierungsalgorithmus bestehen, der im ISO 13616 Standard festgelegt ist.
Eine IBAN besteht aus bis zu 34 alphanumerischen Zeichen, obwohl die genaue Länge je nach Land variiert. Die Standardstruktur umfasst:
Zum Beispiel folgt eine deutsche IBAN der Struktur DE2!n8!n10!n
, wobei:
DE
der Ländercode ist2!n
zwei numerische Prüfziffern darstellt8!n
eine achtstellige Bankleitzahl darstellt10!n
eine zehnstellige Kontonummer darstelltVerschiedene Länder haben unterschiedliche BBAN-Formate, was zu variierenden IBAN-Längen führt:
Land | Länge | Struktur | Beispiel |
---|---|---|---|
Deutschland (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Vereinigtes Königreich (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Frankreich (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spanien (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italien (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Der IBAN-Validierungsprozess verwendet den MOD 97 Algorithmus, wie im ISO 7064 Standard festgelegt. So funktioniert es:
Mathematisch wird dies dargestellt als:
Unser Validator implementiert diesen Algorithmus, um die strukturelle Integrität jeder von Benutzern eingegebenen IBAN zu überprüfen.
Der IBAN-Generator erstellt zufällige, aber gültige IBANs für Testzwecke. Wichtige Funktionen umfassen:
Der Generator erstellt IBANs, indem er:
Der IBAN-Validator überprüft die strukturelle Integrität von vom Benutzer eingegebenen IBANs. Wichtige Funktionen umfassen:
Der Validator führt mehrere Überprüfungen durch:
Das IBAN-Generator- und -Validator-Tool dient mehreren Zwecken in verschiedenen Bereichen:
Obwohl unser IBAN-Generator- und -Validator-Tool eine vereinfachte Erfahrung für Testzwecke bietet, gibt es alternative Ansätze, die in Betracht gezogen werden können:
Unser Tool schließt die Lücke zwischen diesen Alternativen, indem es eine einfache, zugängliche Schnittstelle für sowohl Generierung als auch Validierung bietet, ohne dass technische Integrationen oder kostenpflichtige Abonnements erforderlich sind.
Eine IBAN (International Bank Account Number) ist ein standardisiertes internationales Nummerierungssystem, das entwickelt wurde, um Bankkonten über nationale Grenzen hinweg zu identifizieren. Es wurde von der International Organization for Standardization (ISO) eingerichtet, um fehlerfreie internationale Transaktionen zu erleichtern.
Der IBAN-Generator erstellt strukturell gültige IBANs, die den MOD 97 Prüfalgorithmus gemäß dem ISO 13616 Standard bestehen. Während die generierten IBANs mathematisch gültig sind, sind sie zufällig und nicht mit tatsächlichen Bankkonten verbunden, was sie perfekt für Tests, aber nicht für echte Transaktionen macht.
Das Tool unterstützt derzeit IBAN-Formate für Deutschland, das Vereinigte Königreich, Frankreich, Spanien, Italien, die Niederlande, die Schweiz, Österreich, Belgien und Polen. Diese decken die am häufigsten verwendeten IBAN-Formate in Europa ab.
Nein. Die vom Generator erstellten IBANs sind strukturell gültig, aber zufällig generiert. Sie sind nicht mit echten Bankkonten verbunden und sollten nur für Test-, Bildungs- oder Demonstrationszwecke verwendet werden.
Der Validator überprüft mehrere Aspekte einer IBAN:
Nein. Während IBANs oft mit Leerzeichen zur besseren Lesbarkeit angezeigt werden (normalerweise in Gruppen von vier Zeichen), werden die Leerzeichen während der Validierung ignoriert. Unser Tool behandelt sowohl formatierte als auch unformatierte IBANs.
Nein. Dieses Tool funktioniert vollständig in Ihrem Browser. Keine IBAN-Daten werden an einen Server gesendet, gespeichert oder mit Dritten geteilt. Ihre Daten bleiben privat und sicher.
Derzeit validiert das Tool nur IBANs aus den unterstützten Ländern, die in der Dropdown-Liste aufgeführt sind. Wenn Sie eine Validierung für zusätzliche Länder benötigen, lassen Sie es uns bitte über das Feedback-Formular wissen.
Eine IBAN könnte aus mehreren Gründen die Validierung nicht bestehen:
Wir freuen uns über Feedback zur Verbesserung des Tools. Bitte verwenden Sie das Feedback-Formular, das über den Link am Ende der Seite zugänglich ist, um Probleme zu melden oder Verbesserungen vorzuschlagen.
Für Entwickler, die an der Implementierung der IBAN-Validierung und -Generierung in ihren eigenen Anwendungen interessiert sind, finden Sie hier Codebeispiele in verschiedenen Programmiersprachen:
1function validateIban(iban) {
2 // Leerzeichen entfernen und in Großbuchstaben umwandeln
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Grundlegende Formatüberprüfung
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Umstellen 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 // Modulo 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
1def validate_iban(iban):
2 # Leerzeichen entfernen und in Großbuchstaben umwandeln
3 iban = iban.replace(' ', '').upper()
4
5 # Grundlegende Formatüberprüfung
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Die ersten 4 Zeichen verschieben
10 rearranged = iban[4:] + iban[:4]
11
12 # Buchstaben in Zahlen umwandeln (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # Überprüfen, ob mod 97 gleich 1 ist
21 return int(converted) % 97 == 1
22
23# Beispielverwendung
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (ungültige Prüfziffern)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Leerzeichen entfernen und in Großbuchstaben umwandeln
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Grundlegende Formatüberprüfung
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Die ersten 4 Zeichen verschieben
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Buchstaben in Zahlen umwandeln
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // Modulo 97 berechnen
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
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 hinzufügen, falls erforderlich
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Ländercode ${countryCode} nicht unterstützt`);
11 }
12
13 // Zufälligen BBAN basierend auf dem 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 // Erstellen Sie eine Anfangs-IBAN mit '00' als Prüfziffern
55 const initialIban = countryCode + '00' + bban;
56
57 // Umstellen 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 britische IBAN
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # Weitere Länder hinzufügen, falls erforderlich
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Ländercode {country_code} nicht unterstützt")
14
15 # Zufälligen BBAN basierend auf dem Länderformat generieren
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # Numerisch
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alphabetisch
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alphanumerisch
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Prüfziffern berechnen
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # Erstellen Sie eine Zeichenfolge für die Berechnung der Prüfziffern
40 check_string = bban + country_code + '00'
41
42 # Buchstaben in Zahlen umwandeln (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # 98 minus mod 97 berechnen
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Beispielverwendung
57print(generate_iban('DE')) # Generiert eine gültige deutsche IBAN
58print(generate_iban('GB')) # Generiert eine gültige britische IBAN
59
Das IBAN-Generator- und -Validator-Tool bietet eine einfache, aber leistungsstarke Lösung für Test- und Bildungszwecke im Zusammenhang mit internationalen Bankidentifikatoren. Durch die Bereitstellung sowohl von Generierungs- als auch von Validierungsfunktionen in einer benutzerfreundlichen Schnittstelle beseitigt es die Notwendigkeit für komplexe Konfigurationen oder Drittanbieter-Integrationen.
Egal, ob Sie Finanzanwendungen entwickeln, Zahlungssysteme testen oder über internationale Bankstandards lernen, dieses Tool bietet eine unkomplizierte Möglichkeit, mit IBANs zu arbeiten. Die umfassende Validierung stellt sicher, dass alle generierten IBANs strukturell einwandfrei und konform mit internationalen Standards sind.
Versuchen Sie jetzt, eine IBAN zu generieren oder zu validieren, um die Fähigkeiten des Tools aus erster Hand zu erleben!
Entdecken Sie weitere Tools, die für Ihren Workflow nützlich sein könnten