IBAN Generator - Generate Fictional Dutch IBAN Numbers with Modulo 97
Generate valid fictional Dutch IBAN numbers that comply with the modulo 97 algorithm. Select your bank, generate in bulk and export to Excel, CSV or JSON. Ideal for testing payment functionality.
Note:All generated data is entirely fictional and not suitable for use as real personal information.
Example Dutch IBAN numbers (click to copy)
Five valid fictional Dutch IBAN numbers passing mod-97 validation (ISO 7064). Click an IBAN to copy it. Not linked to real bank accounts — for testing only.
- NL91ABNA0417164300ABN AMRO
- NL69INGB0123456789ING Bank
- NL44RABO0123456789Rabobank
- NL88BUNQ2025123456bunq
- NL61KNAB0258123456Knab
Need more IBANs? Use the generator above for 1 to 10,000 unique valid IBANs across all major Dutch banks.
How does IBAN validation work?
A Dutch IBAN (International Bank Account Number) consists of exactly 18 characters and follows a fixed format: the country code NL, followed by 2 check digits, a 4-letter bank code and a 10-digit account number. The full format is: NLcc BBBB 0000 0000 00.
The mod-97 algorithm
The check digits in an IBAN are calculated using the mod-97 algorithm (ISO 7064). This works in the following steps:
- Move the first 4 characters (country code + check digits) to the end of the IBAN.
- Replace each letter with a number: A=10, B=11, ..., Z=35. The country code NL becomes 23 and 21.
- The resulting number is divided by 97. The remainder (modulo) must equal 1.
- When generating, the check digits are chosen so that 98 minus the modulo-97 remainder yields exactly the correct value.
Supported bank codes
This IBAN generator supports the main Dutch bank codes:
- ABNA — ABN AMRO Bank
- INGB — ING Bank
- RABO — Rabobank
- SNSB — SNS Bank
- ASNB — ASN Bank
- KNAB — Knab
- TRIO — Triodos Bank
- BUNQ — bunq
Example: For IBAN NL91 ABNA 0417 1643 00, the check digits 91 are calculated via the mod-97 algorithm. The full number (after rearrangement and letter replacement) divided by 97 yields remainder 1, confirming the IBAN is valid.
All IBAN numbers generated by this tool are fictional and not linked to real bank accounts. Use them for testing form validation, API integrations or complete test datasets. Combine them with a fictional BSN number for realistic test data.
Example IBAN Numbers
The table below lists fictional Dutch IBAN numbers that pass mod-97 validation. These are structurally correct test IBANs — they are not linked to any real bank account and cannot be used for actual transactions.
| IBAN | Bank | Mod-97 |
|---|---|---|
| NL91 ABNA 0417 1643 00 | ABN AMRO | ✓ |
| NL20 INGB 0001 2345 67 | ING | ✓ |
| NL64 RABO 0315 0000 01 | Rabobank | ✓ |
| NL44 RABO 0123 4567 89 | Rabobank | ✓ |
| NL32 INGB 0000 0123 45 | ING | ✓ |
Use the generator above to create more fictional IBAN numbers, or generate bulk datasets with IBAN, name, address and email via the Dataset Generator.
Using Fake IBAN Numbers in Software Development
Fictional IBAN numbers that pass mod-97 validation are essential when building or testing any application that handles bank account data. Here are the most common developer use cases.
- Form validation testing — test IBAN input fields, country-prefix detection, length validation, and real-time mod-97 verification without using real account numbers.
- Payment API integration testing — test SEPA credit transfers, direct debits, and payment initiation API calls against sandbox environments using fictional IBANs that pass structural validation.
- Open Banking / PSD2 development — test account information and payment initiation flows required by PSD2 without exposing real customer account data during development.
- Payroll and HR system testing — populate employee records and test salary payment workflows without storing real employee bank details in a non-production environment.
- Database seeding and load testing — generate thousands of unique fictional IBANs to fill test databases and simulate realistic transaction volumes in load testing scenarios.
IBAN Numbers and GDPR: What Developers Need to Know
Bank account numbers — including IBANs — are classified as personal data under the EU General Data Protection Regulation (GDPR). Storing real IBANs in development or test environments creates compliance risk.
- No real IBANs in test environments — GDPR Article 5(1)(b) limits personal data to specified, explicit purposes. Test environments are not a lawful purpose for storing real IBANs.
- PSD2 and account data — PSD2 requires explicit customer consent before accessing payment account information. Fictional IBANs let you build and test PSD2 integrations without requiring real customer consent in development.
- Data minimization — GDPR Article 5(1)(c) requires using the minimum amount of personal data necessary. Fictional IBANs fully satisfy this principle for testing purposes.
Using fictional IBANs is the simplest way to build and test payment applications while staying GDPR-compliant. Pair them with fictional names and BSN numbers for complete Dutch test profiles.