Skip to content

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.

Try:

Result

Valid IBAN

Germany · 22 characters · check digits 89 match · SEPA.

DE89370400440532013000
Country code
DE
Check digits
89
Bank code
37040044
Account
0532013000
ElectronicDE89370400440532013000PrintDE89 3704 0044 0532 0130 00
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

REST · GET
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 00
REST · GET
curl -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.

  1. Move the country code and check digits to the end

    370400440532013000DE89
  2. Replace each letter with two digits (A = 10 … Z = 35)

    D = 13, E = 14

    370400440532013000131489
  3. Divide that number by 97 and keep the remainder

    Remainder 1. A valid IBAN always leaves 1, so the check digits are right.

  4. 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 AL288!n16!cApproved*AL47 2121 1009 0000 0002 3569 8741
Andorra AD244!n4!n12!cSEPAAD12 0001 2030 2003 5910 0100
Austria AT205!n11!nSEPAAT61 1904 3002 3457 3201
Azerbaijan AZ284!a20!cNoAZ21 NABZ 0000 0000 1370 1000 1944
Bahrain BH224!a14!cNoBH67 BMAG 0000 1299 1234 56
Belarus BY284!c4!n16!cNoBY13 NBRB 3600 9000 0000 2Z00 AB00
Belgium BE163!n7!n2!nSEPABE68 5390 0754 7034
Bosnia and Herzegovina BA203!n3!n8!n2!nNoBA39 1290 0794 0102 8494
Brazil BR298!n5!n10!n1!a1!cNoBR18 0036 0305 0000 1000 9795 493C 1
Bulgaria BG224!a4!n2!n8!cSEPABG80 BNBG 9661 1020 3456 78
Burundi BI275!n5!n11!n2!nNoBI42 1000 0100 0100 0033 2045 181
Costa Rica CR224!n14!nNoCR05 0152 0200 1026 2840 66
Croatia HR217!n10!nSEPAHR12 1001 0051 8630 0016 0
Cyprus CY283!n5!n16!cSEPACY17 0020 0128 0000 0012 0052 7600
Czechia CZ244!n6!n10!nSEPACZ65 0800 0000 1920 0014 5399
Denmark DK184!n9!n1!nSEPADK50 0040 0440 1162 43
Djibouti DJ275!n5!n11!n2!nNoDJ21 0001 0000 0001 5400 0100 186
Dominican Republic DO284!c20!nNoDO28 BAGR 0000 0001 2124 5361 1324
Egypt EG294!n4!n17!nNoEG38 0019 0005 0000 0000 2631 8000 2
El Salvador SV284!a20!nNoSV62 CENR 0000 0000 0000 0070 0025
Estonia EE202!n2!n11!n1!nSEPAEE38 2200 2210 2014 5685
Falkland Islands FK182!a12!nNoFK88 SC12 3456 7890 12
Faroe Islands FO184!n9!n1!nNoFO62 6460 0001 6316 34
Finland FI183!n11!nSEPAFI21 1234 5600 0007 85
France FR275!n5!n11!c2!nSEPAFR14 2004 1010 0505 0001 3M02 606
Georgia GE222!a16!nNoGE29 NB00 0000 0101 9049 17
Germany DE228!n10!nSEPADE89 3704 0044 0532 0130 00
Gibraltar GI234!a15!cSEPAGI75 NWBK 0000 0000 7099 453
Greece GR273!n4!n16!cSEPAGR16 0110 1250 0000 0001 2300 695
Greenland GL184!n9!n1!nNoGL89 6471 0001 0002 06
Guatemala GT284!c20!cNoGT82 TRAJ 0102 0000 0012 1002 9690
Honduras HN284!a20!nNoHN88 CABF 0000 0000 0002 5000 5469
Hungary HU283!n4!n1!n15!n1!nSEPAHU42 1177 3016 1111 1018 0000 0000
Iceland IS264!n2!n6!n10!nSEPAIS14 0159 2600 7654 5510 7303 39
Iraq IQ234!a3!n12!nNoIQ98 NBIQ 8501 2345 6789 012
Ireland IE224!a6!n8!nSEPAIE29 AIBK 9311 5212 3456 78
Israel IL233!n3!n13!nNoIL62 0108 0000 0009 9999 999
Italy IT271!a5!n5!n12!cSEPAIT60 X054 2811 1010 0000 0123 456
Jordan JO304!a4!n18!cNoJO94 CBJO 0010 0000 0000 0131 0003 02
Kazakhstan KZ203!n13!cNoKZ86 125K ZT50 0410 0100
Kosovo XK204!n10!n2!nNoXK05 1212 0123 4567 8906
Kuwait KW304!a22!cNoKW81 CBKU 0000 0000 0000 1234 5601 01
Latvia LV214!a13!cSEPALV80 BANK 0000 4351 9500 1
Lebanon LB284!n20!cNoLB62 0999 0000 0001 0019 0122 9114
Libya LY253!n3!n15!nNoLY83 0020 4800 0020 1001 2036 1
Liechtenstein LI215!n12!cSEPALI21 0881 0000 2324 013A A
Lithuania LT205!n11!nSEPALT12 1000 0111 0100 1000
Luxembourg LU203!n13!cSEPALU28 0019 4006 4475 0000
Malta MT314!a5!n18!cSEPAMT84 MALT 0110 0001 2345 MTLC AST0 01S
Mauritania MR275!n5!n11!n2!nNoMR13 0002 0001 0100 0012 3456 753
Mauritius MU304!a2!n2!n12!n3!n3!aNoMU17 BOMM 0101 1010 3030 0200 000M UR
Moldova MD242!c18!cApproved*MD24 AG00 0225 1000 1310 4168
Monaco MC275!n5!n11!c2!nSEPAMC58 1122 2000 0101 2345 6789 030
Mongolia MN204!n12!nNoMN12 1234 1234 5678 9123
Montenegro ME223!n13!n2!nApproved*ME25 5050 0001 2345 6789 51
Netherlands NL184!a10!nSEPANL91 ABNA 0417 1643 00
Nicaragua NI284!a20!nNoNI45 BAPR 0000 0013 0000 0355 8124
North Macedonia MK193!n10!c2!nApproved*MK07 2501 2000 0058 984
Norway NO154!n6!n1!nSEPANO93 8601 1117 947
Oman OM233!n16!cNoOM81 0180 0000 0129 9123 456
Pakistan PK244!a16!cNoPK36 SCBL 0000 0011 2345 6702
Palestine PS294!a21!cNoPS92 PALS 0000 0000 0400 1234 5670 2
Poland PL288!n16!nSEPAPL61 1090 1014 0000 0712 1981 2874
Portugal PT254!n4!n11!n2!nSEPAPT50 0002 0123 1234 5678 9015 4
Qatar QA294!a21!cNoQA58 DOHB 0000 1234 5678 90AB CDEF G
Romania RO244!a16!cSEPARO49 AAAA 1B31 0075 9384 0000
Russia RU339!n5!n15!cNoRU03 0445 2522 5408 1781 0538 0913 1041 9
Saint Lucia LC324!a24!cNoLC55 HEMM 0001 0001 0012 0012 0002 3015
San Marino SM271!a5!n5!n12!cSEPASM86 U032 2509 8000 0000 0270 100
Sao Tome and Principe ST254!n4!n11!n2!nNoST23 0001 0001 0051 8453 1014 6
Saudi Arabia SA242!n18!cNoSA03 8000 0000 6080 1016 7519
Serbia RS223!n13!n2!nNoRS35 2600 0560 1001 6113 79
Seychelles SC314!a2!n2!n16!n3!aNoSC18 SSCB 1101 0000 0000 0000 1497 USD
Slovakia SK244!n6!n10!nSEPASK31 1200 0000 1987 4263 7541
Slovenia SI195!n8!n2!nSEPASI56 2633 0001 2039 086
Somalia SO234!n3!n12!nNoSO21 1000 0010 0100 0100 141
Spain ES244!n4!n1!n1!n10!nSEPAES91 2100 0418 4502 0005 1332
Sudan SD182!n12!nNoSD21 2901 0501 2340 01
Sweden SE243!n16!n1!nSEPASE45 5000 0000 0583 9825 7466
Switzerland CH215!n12!cSEPACH93 0076 2011 6238 5295 7
Timor-Leste TL233!n14!n2!nNoTL38 0080 0123 4567 8910 157
Tunisia TN242!n3!n13!n2!nNoTN59 1000 6035 1835 9847 8831
Türkiye TR265!n1!n16!cNoTR33 0006 1005 1978 6457 8413 26
Ukraine UA296!n19!cNoUA21 3223 1300 0002 6007 2335 6600 1
United Arab Emirates AE233!n16!nNoAE07 0331 2345 6789 0123 456
United Kingdom GB224!a6!n8!nSEPAGB29 NWBK 6016 1331 9268 19
Vatican City State VA223!n15!nSEPAVA59 0011 2300 0012 3456 78
Virgin Islands (British) VG244!a16!nNoVG96 VPVG 0000 0123 4567 8901
Yemen YE304!a4!n18!cNoYE15 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