IBAN validation and BIC lookup
Choose a single lookup, process a batch, or inspect supported country formats.
Andorra
Bank and branch codes
United Arab Emirates
UAE bank code
Albania
Bank and branch codes
Austria
Bankleitzahl
Azerbaijan
Bank identifier
Bosnia and Herzegovina
Bank and branch codes
Belgium
Bank identifier
Bulgaria
BIC-derived bank identifier and branch
Bahrain
Bank identifier
Brazil
Bank and branch codes
Belarus
Bank and balance account identifiers
Switzerland
IID / clearing number
Costa Rica
Bank identifier
Cyprus
Bank and branch codes
Czechia
Bank code
Germany
Bankleitzahl
Denmark
Registration number
Dominican Republic
Bank identifier
Estonia
Bank code
Egypt
Bank and branch codes
Spain
Entidad and oficina
Finland
Bank identifier
Faroe Islands
Registration number
France
Code banque and code guichet
United Kingdom
Bank identifier and sort code
Georgia
Bank code
Gibraltar
Bank identifier
Greenland
Registration number
Greece
Bank and branch codes
Guatemala
Bank and branch identifiers
Croatia
Bank identifier
Hungary
Bank and branch codes
Ireland
Bank identifier and sort code
Israel
Bank and branch codes
Iraq
Bank and branch identifiers
Iceland
Bank identifier
Italy
ABI and CAB
Jordan
Bank and branch identifiers
Kuwait
Bank identifier
Kazakhstan
Bank identifier
Lebanon
Bank identifier
Saint Lucia
Bank identifier
Liechtenstein
Bank identifier
Lithuania
Bank code
Luxembourg
Bank code
Latvia
Bank identifier
Monaco
Code banque and code guichet
Moldova
Bank identifier
Montenegro
Bank and branch codes
North Macedonia
Bank identifier
Malta
Bank and branch identifiers
Mauritius
Bank and branch identifiers
Netherlands
Bank identifier
Norway
Bank registration number
Pakistan
Bank identifier
Poland
National clearing number
Palestine
Bank identifier
Portugal
Bank and branch codes
Qatar
Bank identifier
Romania
Bank identifier
Serbia
Bank and branch codes
Saudi Arabia
Bank code
Seychelles
Bank and branch identifiers
Sweden
Bank identifier
Slovenia
Bank identifier
Slovakia
Bank code
San Marino
ABI and CAB
São Tomé and Príncipe
Bank and branch identifiers
El Salvador
Bank identifier
Timor-Leste
Bank and branch codes
Tunisia
Bank and branch codes
Türkiye
Bank and reserve/branch identifiers
Ukraine
Bank code
Vatican City
Bank identifier
British Virgin Islands
Bank identifier
Kosovo
Bank identifier
JSON validation endpoint
Send a POST request to ?api=1 with a JSON body. The endpoint returns validation details, extracted identifiers, directory matches, and BIC structure checks.
{
"iban": "DE89370400440532013000",
"lookup_mode": "branch"
}
Health check
Open ?health=1 to inspect runtime status, PHP version, directory version, supported country count, and remote API configuration.
remoteBicLookup() to your provider's authentication, request schema, rate limits, response structure, licensing terms, and retention policy. Never expose API keys in browser-side JavaScript.
How to use this calculator
- Paste or type the complete IBAN.
- Select bank-level or branch-level matching.
- Choose compact or detailed results.
- Submit the form and review every validation check.
- Confirm the returned BIC with the receiving bank.
Formula used
The IBAN checksum uses MOD-97. The first four characters move to the end. Letters become numbers from A=10 through Z=35. The resulting large number must leave a remainder of 1 when divided by 97.
What the lookup really does
The application extracts the country-specific national bank code and optional branch code. It then compares those identifiers with directory records. This is a reference-data lookup, not a universal mathematical conversion.
Understanding IBAN and BIC results
An International Bank Account Number provides a standardized way to represent a bank account across participating countries. The first two characters identify the country. The next two digits are checksum digits. The remaining portion is the Basic Bank Account Number, or BBAN. Each country defines its own BBAN layout. That layout can contain a bank code, branch code, domestic checksum, account number, and other national identifiers.
Why the BIC cannot always be calculated
A Business Identifier Code identifies a financial or non-financial institution. It has eight required characters and may include a three-character branch identifier. Some countries place a recognizable bank identifier inside the IBAN. Other countries use numeric clearing codes. A maintained directory is still needed to map those national identifiers to the correct institution record. Banks can merge, rebrand, close branches, change routing arrangements, or use several BICs. For that reason, a fixed formula cannot guarantee a current answer.
What a valid checksum proves
A successful MOD-97 test confirms that the IBAN is internally consistent. It helps detect many typing and transposition errors. It does not prove that the account exists. It does not confirm the beneficiary name. It does not prove that the bank accepts the intended currency or payment method. It also does not guarantee that a BIC directory record is current. Treat validation as one part of a broader payment-verification process.
Eight-character and eleven-character BICs
The first four BIC characters identify the institution. The next two indicate the country. The following two form the location code. An optional final three-character branch code may identify a branch, department, or service. An eight-character BIC generally represents the primary office or institution level. Some systems display an eleven-character form ending in XXX. That convention should never be added silently when the directory does not explicitly provide it.
Branch-level ambiguity
A national branch or clearing code may map to one BIC, several BICs, or no public BIC. Centralized payment processing can also cause multiple branches to share one institution-level BIC. This calculator first tries a branch-level key when the country format includes a branch code. It then falls back to a bank-level key. The result panel explains which key produced the match.
Privacy and safe handling
IBANs should be treated as financial identifiers. This page masks account characters by default. It does not place submitted IBANs in URLs. It applies a no-index directive to discourage search-engine storage of result pages. The example implementation also avoids persistent server-side logging. A production deployment should use HTTPS, strict access controls, secure backups, limited retention, and a documented deletion policy. Any remote directory provider should be disclosed before data is transmitted.
Batch processing
The batch tool accepts one IBAN per line or the first column of a CSV or text file. It can remove duplicates and process up to 500 records per request. Each row reports validity, extracted bank and branch codes, the first directory match, and any validation issue. Downloaded CSV values receive basic spreadsheet-formula protection. Large commercial workflows should use authenticated APIs, queues, monitoring, and licensed reference data.
Final verification
Always compare payment instructions through an independent channel. Contact the beneficiary using a trusted phone number or established business contact. Be cautious when bank details change unexpectedly. Do not rely on email alone for high-value payments. This calculator is an identifier-analysis tool. It is not a substitute for bank confirmation, beneficiary verification, fraud screening, sanctions screening, or professional compliance review.
Included technical safeguards
- Strict PHP typing and output escaping.
- CSRF protection for browser forms and exports.
- Session-based request limiting.
- Secure response headers and a restrictive content policy.
- CSV/TXT extension checks and a 2 MB limit.
- No complete IBAN in exported page URLs.
- Spreadsheet-formula prefix protection in CSV exports.
- Optional server-side remote directory integration.
Deployment checklist
- Replace demonstration records with licensed data.
- Confirm all country layouts against current registry rules.
- Use HTTPS and disable verbose production errors.
- Store API secrets outside the web root.
- Set realistic rate limits and monitor abuse.
- Document data retention and third-party processing.
- Test with valid, invalid, and boundary IBAN examples.
- Obtain legal and compliance review where required.