Free IBAN validator and formatter
Check an IBAN against the registry.
Validate an IBAN’s length, BBAN structure and mod-97 check digits for all 89 countries in the SWIFT IBAN Registry, see its bank and branch codes, and get it in electronic and print form.
- Runs in your browser
- Batch mode
- Same check over REST and MCP
IBAN
Electronic or print format; spaces, hyphens and a leading “IBAN” are ignored.
Result
Valid IBAN
Germany · 22 characters · check digits 89 match · SEPA.
- Country code
- DE
- Check digits
- 89
- Bank code
- 37040044
- Account
- 0532013000
- Country
- Germany (DE)
- SEPA
- Yes — inside the Single Euro Payments Area
- Length
- 22 characters, as DE requires
- BBAN format
- 8!n10!n
- Bank code
- 37040044
- Check digits
- 89 — match
- Letters and digits only passes
- Country in the SWIFT IBAN Registry passes
- Length for the country passes
- BBAN structure passes
- Mod-97 check digits passes
- Valid means the structure and check digits are right — not that the account exists or can receive payments.
- National check digits inside the BBAN (e.g. the French RIB key, or the Spanish, Belgian and Italian CIN digits) are not verified.
Use it from codeSame answer over REST or MCP · no key
curl -s 'https://payopskit.com/api/v1/iban/DE89370400440532013000'Compute check digitsFrom a country and BBAN
18 characters · 8!n10!n
Check digits 89
DE89 3704 0044 0532 0130 00curl -s 'https://payopskit.com/api/v1/iban/check-digits?country=DE&bban=370400440532013000'MCP: compute_iban_check_digits with country and bban.
For agents: the same check is the MCP tools validate_iban and compute_iban_check_digits on https://payopskit.com/mcp — no key, no sign-up.
How the mod-97 check works
ISO 13616 protects an IBAN with two check digits computed by ISO 7064 mod 97-10. The same four steps validate an IBAN and produce its check digits.
Move the country code and check digits to the end
370400440532013000DE89Replace each letter with two digits (A = 10 … Z = 35)
D = 13, E = 14
370400440532013000131489Divide that number by 97 and keep the remainder
Remainder 1. A valid IBAN always leaves 1, so the check digits are right.
Where the check digits come from
Put 00 in their place (DE00…), repeat steps 1–3: remainder 9. The check digits are 98 − 9 = 89.
IBAN countries
Every IBAN prefix in the SWIFT IBAN Registry, with its length and BBAN structure: n is a digit, a an upper-case letter, c a letter or digit, and 4!n means exactly four digits. Territories that use another country’s prefix (French overseas departments use FR, Jersey and Guernsey use GB) are not listed separately.
89 countries · select a row to try its example
| Example | ||||
|---|---|---|---|---|
| Albania AL | 28 | 8!n16!c | Approved* | AL47 2121 1009 0000 0002 3569 8741 |
| Andorra AD | 24 | 4!n4!n12!c | SEPA | AD12 0001 2030 2003 5910 0100 |
| Austria AT | 20 | 5!n11!n | SEPA | AT61 1904 3002 3457 3201 |
| Azerbaijan AZ | 28 | 4!a20!c | No | AZ21 NABZ 0000 0000 1370 1000 1944 |
| Bahrain BH | 22 | 4!a14!c | No | BH67 BMAG 0000 1299 1234 56 |
| Belarus BY | 28 | 4!c4!n16!c | No | BY13 NBRB 3600 9000 0000 2Z00 AB00 |
| Belgium BE | 16 | 3!n7!n2!n | SEPA | BE68 5390 0754 7034 |
| Bosnia and Herzegovina BA | 20 | 3!n3!n8!n2!n | No | BA39 1290 0794 0102 8494 |
| Brazil BR | 29 | 8!n5!n10!n1!a1!c | No | BR18 0036 0305 0000 1000 9795 493C 1 |
| Bulgaria BG | 22 | 4!a4!n2!n8!c | SEPA | BG80 BNBG 9661 1020 3456 78 |
| Burundi BI | 27 | 5!n5!n11!n2!n | No | BI42 1000 0100 0100 0033 2045 181 |
| Costa Rica CR | 22 | 4!n14!n | No | CR05 0152 0200 1026 2840 66 |
| Croatia HR | 21 | 7!n10!n | SEPA | HR12 1001 0051 8630 0016 0 |
| Cyprus CY | 28 | 3!n5!n16!c | SEPA | CY17 0020 0128 0000 0012 0052 7600 |
| Czechia CZ | 24 | 4!n6!n10!n | SEPA | CZ65 0800 0000 1920 0014 5399 |
| Denmark DK | 18 | 4!n9!n1!n | SEPA | DK50 0040 0440 1162 43 |
| Djibouti DJ | 27 | 5!n5!n11!n2!n | No | DJ21 0001 0000 0001 5400 0100 186 |
| Dominican Republic DO | 28 | 4!c20!n | No | DO28 BAGR 0000 0001 2124 5361 1324 |
| Egypt EG | 29 | 4!n4!n17!n | No | EG38 0019 0005 0000 0000 2631 8000 2 |
| El Salvador SV | 28 | 4!a20!n | No | SV62 CENR 0000 0000 0000 0070 0025 |
| Estonia EE | 20 | 2!n2!n11!n1!n | SEPA | EE38 2200 2210 2014 5685 |
| Falkland Islands FK | 18 | 2!a12!n | No | FK88 SC12 3456 7890 12 |
| Faroe Islands FO | 18 | 4!n9!n1!n | No | FO62 6460 0001 6316 34 |
| Finland FI | 18 | 3!n11!n | SEPA | FI21 1234 5600 0007 85 |
| France FR | 27 | 5!n5!n11!c2!n | SEPA | FR14 2004 1010 0505 0001 3M02 606 |
| Georgia GE | 22 | 2!a16!n | No | GE29 NB00 0000 0101 9049 17 |
| Germany DE | 22 | 8!n10!n | SEPA | DE89 3704 0044 0532 0130 00 |
| Gibraltar GI | 23 | 4!a15!c | SEPA | GI75 NWBK 0000 0000 7099 453 |
| Greece GR | 27 | 3!n4!n16!c | SEPA | GR16 0110 1250 0000 0001 2300 695 |
| Greenland GL | 18 | 4!n9!n1!n | No | GL89 6471 0001 0002 06 |
| Guatemala GT | 28 | 4!c20!c | No | GT82 TRAJ 0102 0000 0012 1002 9690 |
| Honduras HN | 28 | 4!a20!n | No | HN88 CABF 0000 0000 0002 5000 5469 |
| Hungary HU | 28 | 3!n4!n1!n15!n1!n | SEPA | HU42 1177 3016 1111 1018 0000 0000 |
| Iceland IS | 26 | 4!n2!n6!n10!n | SEPA | IS14 0159 2600 7654 5510 7303 39 |
| Iraq IQ | 23 | 4!a3!n12!n | No | IQ98 NBIQ 8501 2345 6789 012 |
| Ireland IE | 22 | 4!a6!n8!n | SEPA | IE29 AIBK 9311 5212 3456 78 |
| Israel IL | 23 | 3!n3!n13!n | No | IL62 0108 0000 0009 9999 999 |
| Italy IT | 27 | 1!a5!n5!n12!c | SEPA | IT60 X054 2811 1010 0000 0123 456 |
| Jordan JO | 30 | 4!a4!n18!c | No | JO94 CBJO 0010 0000 0000 0131 0003 02 |
| Kazakhstan KZ | 20 | 3!n13!c | No | KZ86 125K ZT50 0410 0100 |
| Kosovo XK | 20 | 4!n10!n2!n | No | XK05 1212 0123 4567 8906 |
| Kuwait KW | 30 | 4!a22!c | No | KW81 CBKU 0000 0000 0000 1234 5601 01 |
| Latvia LV | 21 | 4!a13!c | SEPA | LV80 BANK 0000 4351 9500 1 |
| Lebanon LB | 28 | 4!n20!c | No | LB62 0999 0000 0001 0019 0122 9114 |
| Libya LY | 25 | 3!n3!n15!n | No | LY83 0020 4800 0020 1001 2036 1 |
| Liechtenstein LI | 21 | 5!n12!c | SEPA | LI21 0881 0000 2324 013A A |
| Lithuania LT | 20 | 5!n11!n | SEPA | LT12 1000 0111 0100 1000 |
| Luxembourg LU | 20 | 3!n13!c | SEPA | LU28 0019 4006 4475 0000 |
| Malta MT | 31 | 4!a5!n18!c | SEPA | MT84 MALT 0110 0001 2345 MTLC AST0 01S |
| Mauritania MR | 27 | 5!n5!n11!n2!n | No | MR13 0002 0001 0100 0012 3456 753 |
| Mauritius MU | 30 | 4!a2!n2!n12!n3!n3!a | No | MU17 BOMM 0101 1010 3030 0200 000M UR |
| Moldova MD | 24 | 2!c18!c | Approved* | MD24 AG00 0225 1000 1310 4168 |
| Monaco MC | 27 | 5!n5!n11!c2!n | SEPA | MC58 1122 2000 0101 2345 6789 030 |
| Mongolia MN | 20 | 4!n12!n | No | MN12 1234 1234 5678 9123 |
| Montenegro ME | 22 | 3!n13!n2!n | Approved* | ME25 5050 0001 2345 6789 51 |
| Netherlands NL | 18 | 4!a10!n | SEPA | NL91 ABNA 0417 1643 00 |
| Nicaragua NI | 28 | 4!a20!n | No | NI45 BAPR 0000 0013 0000 0355 8124 |
| North Macedonia MK | 19 | 3!n10!c2!n | Approved* | MK07 2501 2000 0058 984 |
| Norway NO | 15 | 4!n6!n1!n | SEPA | NO93 8601 1117 947 |
| Oman OM | 23 | 3!n16!c | No | OM81 0180 0000 0129 9123 456 |
| Pakistan PK | 24 | 4!a16!c | No | PK36 SCBL 0000 0011 2345 6702 |
| Palestine PS | 29 | 4!a21!c | No | PS92 PALS 0000 0000 0400 1234 5670 2 |
| Poland PL | 28 | 8!n16!n | SEPA | PL61 1090 1014 0000 0712 1981 2874 |
| Portugal PT | 25 | 4!n4!n11!n2!n | SEPA | PT50 0002 0123 1234 5678 9015 4 |
| Qatar QA | 29 | 4!a21!c | No | QA58 DOHB 0000 1234 5678 90AB CDEF G |
| Romania RO | 24 | 4!a16!c | SEPA | RO49 AAAA 1B31 0075 9384 0000 |
| Russia RU | 33 | 9!n5!n15!c | No | RU03 0445 2522 5408 1781 0538 0913 1041 9 |
| Saint Lucia LC | 32 | 4!a24!c | No | LC55 HEMM 0001 0001 0012 0012 0002 3015 |
| San Marino SM | 27 | 1!a5!n5!n12!c | SEPA | SM86 U032 2509 8000 0000 0270 100 |
| Sao Tome and Principe ST | 25 | 4!n4!n11!n2!n | No | ST23 0001 0001 0051 8453 1014 6 |
| Saudi Arabia SA | 24 | 2!n18!c | No | SA03 8000 0000 6080 1016 7519 |
| Serbia RS | 22 | 3!n13!n2!n | No | RS35 2600 0560 1001 6113 79 |
| Seychelles SC | 31 | 4!a2!n2!n16!n3!a | No | SC18 SSCB 1101 0000 0000 0000 1497 USD |
| Slovakia SK | 24 | 4!n6!n10!n | SEPA | SK31 1200 0000 1987 4263 7541 |
| Slovenia SI | 19 | 5!n8!n2!n | SEPA | SI56 2633 0001 2039 086 |
| Somalia SO | 23 | 4!n3!n12!n | No | SO21 1000 0010 0100 0100 141 |
| Spain ES | 24 | 4!n4!n1!n1!n10!n | SEPA | ES91 2100 0418 4502 0005 1332 |
| Sudan SD | 18 | 2!n12!n | No | SD21 2901 0501 2340 01 |
| Sweden SE | 24 | 3!n16!n1!n | SEPA | SE45 5000 0000 0583 9825 7466 |
| Switzerland CH | 21 | 5!n12!c | SEPA | CH93 0076 2011 6238 5295 7 |
| Timor-Leste TL | 23 | 3!n14!n2!n | No | TL38 0080 0123 4567 8910 157 |
| Tunisia TN | 24 | 2!n3!n13!n2!n | No | TN59 1000 6035 1835 9847 8831 |
| Türkiye TR | 26 | 5!n1!n16!c | No | TR33 0006 1005 1978 6457 8413 26 |
| Ukraine UA | 29 | 6!n19!c | No | UA21 3223 1300 0002 6007 2335 6600 1 |
| United Arab Emirates AE | 23 | 3!n16!n | No | AE07 0331 2345 6789 0123 456 |
| United Kingdom GB | 22 | 4!a6!n8!n | SEPA | GB29 NWBK 6016 1331 9268 19 |
| Vatican City State VA | 22 | 3!n15!n | SEPA | VA59 0011 2300 0012 3456 78 |
| Virgin Islands (British) VG | 24 | 4!a16!n | No | VG96 VPVG 0000 0123 4567 8901 |
| Yemen YE | 30 | 4!a4!n18!c | No | YE15 CBYE 0001 0188 6123 4567 8912 34 |
* The EPC approved this country’s participation in the SEPA schemes in 2024–2025; whether a SEPA transfer reaches it depends on the payment service provider — check the EPC register of participants.
What a valid IBAN proves — and what it doesn’t
- Valid means the structure and check digits are right — not that the account exists or can receive payments.
- National check digits inside the BBAN (e.g. the French RIB key, or the Spanish, Belgian and Italian CIN digits) are not verified.
- Bank and branch codes are read from their positions in the BBAN; they are not looked up in a bank directory, so no bank name is shown.
- SEPA shows whether the country is in the Single Euro Payments Area; whether a given bank is reachable for SEPA transfers is up to that bank.
- Nothing you type here leaves this page: the check runs in your browser.
More payment-ops tools
US · ABA routing numbers
Routing Number Validator
Check the 3-7-1 checksum, work out a missing check digit and read the Federal Reserve district. Paste a list to check many at once.
021000021
International · BIC / SWIFT
BIC / SWIFT Parser
Split a BIC into institution, country, location and branch; spot test and passive BICs; convert between BIC8 and BIC11.
DEUTDEFF500
Calendars · Fed · TARGET2 · UK
Business Day Calculator
Is it a banking day? Add or count business days, find the next one, list a year’s holidays or download them as a calendar file.
us-fed · target2 · uk-ew
US · ACH timing
ACH Date Calculator
When an entry settles (Same Day windows or next day), the return deadline for a reason code, NOC timing and the reversal window.
R01 · R10 · C01
Reference · Codes
Payment Code Lookup
Search ACH return and NOC codes, SEC codes, ISO 20022 status reasons and ISO 4217 currencies with their minor units.
R01 · AC04 · USD
Securities & entities
Identifier Check Digits
Verify the check digits of an LEI, ISIN, CUSIP or SEDOL, or run a Luhn check. The type is detected for you.
LEI · ISIN · CUSIP · SEDOL
Checks · Amount in words
Check Amount in Words
Write a dollar amount out the way a check needs it, and cross-check written words against the figure.
$1,234.56