ibanchecker.cash

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:

June 2026

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.

June 2026

Corrected 8 of 16 Polish routing entries against the NBP EWIB register, including codes that had silently changed ownership after acquisitions.

June 2026

Removed BICs that exist in no official directory and left those records without one. Several had been fabricated upstream and repeated across the web.

June 2026

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.

June 2026

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.