Methodology
How we verify our data.
ibanchecker.cash answers questions about other people’s money, so the bar for our data is simple: every format rule, bank code, and BIC on this site must be traceable to an authoritative source, and every claim must be one we can prove.
This page documents where the data comes from, how it is tested, and the errors we have found and corrected, including our own.
Principles
If we can't verify it, we leave it blank
A bank record only gets a BIC when an authoritative source confirms it. When we audited our own tables, we found BICs in circulation (including on competitor sites) that exist in no official directory. We removed ours and left the field empty.
Official sources only
Formats come from the SWIFT IBAN Registry. Bank codes come from central bank registries and the EPC SEPA registers. We never copy from other IBAN websites: several national code tables circulating online are shifted by one row, and copying reproduces the error.
Measured, not estimated
Every count on this site is computed from the live dataset, not typed into a page. Uptime on the status page is measured against the production API every 5 minutes; the published figure is calculated from every recorded check.
Every example must pass our own validator
Each sample IBAN displayed anywhere on the site is round-trip tested: it must validate, and its bank code must resolve to the bank the page claims. The audit suite fails the build if any example drifts.
Where the data comes from
Each class of data has a designated authoritative source. When sources disagree, the national registry wins.
IBAN structure, length, and check rules for all countries
SWIFT IBAN Registry (ISO 13616), the authoritative international standard
SEPA participation and institution identity
European Payments Council (EPC) SEPA scheme participant registers
National bank codes and BICs
Central bank and national registries, including Deutsche Bundesbank (DE), NBP EWIB (PL), Banco de Portugal (PT), National Bank of Belgium (BE), SIX Interbank Clearing (CH), OeNB (AT), and their counterparts across the Nordics, Baltics, Central Europe, and the Gulf
Official bank websites
Wikidata official-website property, cross-checked per bank and liveness-tested before publication
Coverage statistics shown on this site
Computed from the live directory at build time: currently 90 countries and 2,238 institutions
The audit suite
A permanent regression suite runs on every change to the validation engine or the bank dataset. As of June 2026 it executes 7,252 checks, and a release ships only at zero failures. It covers:
- Sample IBANs for all supported countries: validation, mutation tests (corrupted check digits and lengths must fail), and normalization
- National format rules: structure patterns, BBAN field definitions, and length tables cross-checked for internal consistency
- Bank data integrity: BIC format (ISO 9362), required fields, duplicate detection, and status tracking for merged or closed banks
- Bank lookup round-trips: every bank code must resolve back to the same institution it belongs to
- Generator and converter outputs: test IBAN generation for 37 countries and all account-to-IBAN converters checked against reference values
- Example consistency: every illustrative IBAN shown on bank pages must validate and resolve to the bank named on the page
The suite exists because manual review missed things. Most of the corrections below were first caught by an automated check, then verified by hand against the official source.
Errors we found and fixed
Bank reference data decays: banks merge, rebrand, and recycle codes, and incorrect tables get copied between websites for years. We audit against the registries instead, and we publish what we fix. Recent corrections:
Rewrote the national bank code tables for France, Italy, Portugal, and Iceland after finding the assignments shifted against central bank records. Widely copied tables online map codes to the wrong banks; ours now match Banque de France, ABI, and Banco de Portugal data.
Corrected 8 of 16 Polish routing entries against the NBP EWIB register, including codes that had silently changed ownership after acquisitions.
Removed BICs that exist in no official directory and left those records without one. Several had been fabricated upstream and repeated across the web.
Fixed 18 sample IBANs sitewide that failed checksum or length rules, and recomputed national check digits (French RIB key, Belgian MOD-97, Norwegian MOD-11, Italian CIN) instead of reusing broken examples.
Tracked rebrands and mergers so lookups return the current institution: Sense Bank (formerly Alfa-Bank Ukraine), Artea (formerly Šiaulių bankas), Nexent Bank (formerly Credit Europe Bank NL), VeloBank (formerly Getin Noble), and OTP banka Slovenia (formerly Nova KBM).
Ongoing changes are recorded in the changelog.
What validation can and cannot tell you
Our validator confirms that an IBAN is structurally correct: right length and character pattern for its country, a passing MOD-97 checksum, and a national format match. Where the bank code is in our directory of 2,238 institutions, it also identifies the issuing bank.
It cannot confirm that the account exists, is open, or belongs to the person you intend to pay. No offline IBAN check can. When a lookup finds no bank, the result says “Not in our directory” because the gap may be in our coverage, not in your IBAN. We state these limits everywhere rather than imply a guarantee we cannot make.
Found an error?
If you spot a wrong bank code, an outdated BIC, or a bank we list under a former name, email [email protected]. Reports that include an authoritative source are typically verified and corrected within a few days, and the fix lands in the changelog.