IBAN 校验器
新校验 IBAN 的国家长度与 mod-97 校验和。
This confirms the IBAN's format, its length for the country and the mod-97 checksum, and parses its parts. A “valid” result means the number is well-formed — not that the account exists or who owns it; only the bank can confirm that. Everything runs in your browser and your IBAN is never uploaded.
Enter an IBAN to validate.
| Country | Len | Sample IBAN | |
|---|---|---|---|
| Andorra (AD) | 24 | AD12 0001 2030 2003 5910 0100 | |
| Austria (AT) | 20 | AT61 1904 3002 3457 3201 | |
| Azerbaijan (AZ) | 28 | AZ21 NABZ 0000 0000 1370 1000 1944 | |
| Bahrain (BH) | 22 | BH67 BMAG 0000 1299 1234 56 | |
| Belgium (BE) | 16 | BE68 5390 0754 7034 | |
| Bosnia and Herzegovina (BA) | 20 | BA39 1290 0794 0102 8494 | |
| Brazil (BR) | 29 | BR18 0036 0305 0000 1000 9795 493C 1 | |
| Bulgaria (BG) | 22 | BG80 BNBG 9661 1020 3456 78 | |
| Costa Rica (CR) | 22 | CR05 0152 0200 1026 2840 66 | |
| Croatia (HR) | 21 | HR12 1001 0051 8630 0016 0 | |
| Cyprus (CY) | 28 | CY17 0020 0128 0000 0012 0052 7600 | |
| Czechia (CZ) | 24 | CZ65 0800 0000 1920 0014 5399 | |
| Denmark (DK) | 18 | DK50 0040 0440 1162 43 | |
| Dominican Republic (DO) | 28 | DO28 BAGR 0000 0001 2124 5361 1324 | |
| Egypt (EG) | 29 | EG38 0019 0005 0000 0000 2631 8000 2 | |
| Estonia (EE) | 20 | EE38 2200 2210 2014 5685 | |
| Faroe Islands (FO) | 18 | FO62 6460 0001 6316 34 | |
| Finland (FI) | 18 | FI21 1234 5600 0007 85 | |
| France (FR) | 27 | FR14 2004 1010 0505 0001 3M02 606 | |
| Georgia (GE) | 22 | GE29 NB00 0000 0101 9049 17 | |
| Germany (DE) | 22 | DE89 3704 0044 0532 0130 00 | |
| Gibraltar (GI) | 23 | GI75 NWBK 0000 0000 7099 453 | |
| Greece (GR) | 27 | GR16 0110 1250 0000 0001 2300 695 | |
| Greenland (GL) | 18 | GL89 6471 0001 0002 06 | |
| Guatemala (GT) | 28 | GT82 TRAJ 0102 0000 0012 1002 9690 | |
| Hungary (HU) | 28 | HU42 1177 3016 1111 1018 0000 0000 | |
| Iceland (IS) | 26 | IS14 0159 2600 7654 5510 7303 39 | |
| Ireland (IE) | 22 | IE29 AIBK 9311 5212 3456 78 | |
| Israel (IL) | 23 | IL62 0108 0000 0009 9999 999 | |
| Italy (IT) | 27 | IT60 X054 2811 1010 0000 0123 456 | |
| Jordan (JO) | 30 | JO94 CBJO 0010 0000 0000 0131 0003 02 | |
| Kazakhstan (KZ) | 20 | KZ86 125K ZT50 0410 0100 | |
| Kosovo (XK) | 20 | XK05 1212 0123 4567 8906 | |
| Kuwait (KW) | 30 | KW81 CBKU 0000 0000 0000 1234 5601 01 | |
| Latvia (LV) | 21 | LV80 BANK 0000 4351 9500 1 | |
| Lebanon (LB) | 28 | LB62 0999 0000 0001 0019 0122 9114 | |
| Liechtenstein (LI) | 21 | LI21 0881 0000 2324 013A A | |
| Lithuania (LT) | 20 | LT12 1000 0111 0100 1000 | |
| Luxembourg (LU) | 20 | LU28 0019 4006 4475 0000 | |
| Malta (MT) | 31 | MT84 MALT 0110 0001 2345 MTLC AST0 01S | |
| Mauritania (MR) | 27 | MR13 0002 0001 0100 0012 3456 753 | |
| Mauritius (MU) | 30 | MU17 BOMM 0101 1010 3030 0200 000M UR | |
| Moldova (MD) | 24 | MD24 AG00 0225 1000 1310 4168 | |
| Monaco (MC) | 27 | MC58 1122 2000 0101 2345 6789 030 | |
| Montenegro (ME) | 22 | ME25 5050 0001 2345 6789 51 | |
| Netherlands (NL) | 18 | NL91 ABNA 0417 1643 00 | |
| North Macedonia (MK) | 19 | MK07 2501 2000 0058 984 | |
| Norway (NO) | 15 | NO93 8601 1117 947 | |
| Pakistan (PK) | 24 | PK36 SCBL 0000 0011 2345 6702 | |
| Palestine (PS) | 29 | PS92 PALS 0000 0000 0400 1234 5670 2 | |
| Poland (PL) | 28 | PL61 1090 1014 0000 0712 1981 2874 | |
| Portugal (PT) | 25 | PT50 0002 0123 1234 5678 9015 4 | |
| Qatar (QA) | 29 | QA58 DOHB 0000 1234 5678 90AB CDEF G | |
| Romania (RO) | 24 | RO49 AAAA 1B31 0075 9384 0000 | |
| San Marino (SM) | 27 | SM86 U032 2509 8000 0000 0270 100 | |
| Saudi Arabia (SA) | 24 | SA03 8000 0000 6080 1016 7519 | |
| Serbia (RS) | 22 | RS35 2600 0560 1001 6113 79 | |
| Slovakia (SK) | 24 | SK31 1200 0000 1987 4263 7541 | |
| Slovenia (SI) | 19 | SI56 2633 0001 2039 086 | |
| Spain (ES) | 24 | ES91 2100 0418 4502 0005 1332 | |
| Sweden (SE) | 24 | SE45 5000 0000 0583 9825 7466 | |
| Switzerland (CH) | 21 | CH93 0076 2011 6238 5295 7 | |
| Tunisia (TN) | 24 | TN59 1000 6035 1835 9847 8831 | |
| Turkey (TR) | 26 | TR33 0006 1005 1978 6457 8413 26 | |
| Ukraine (UA) | 29 | UA21 3223 1300 0002 6007 2335 6600 1 | |
| United Arab Emirates (AE) | 23 | AE07 0331 2345 6789 0123 456 | |
| United Kingdom (GB) | 22 | GB29 NWBK 6016 1331 9268 19 | |
| Vatican City (VA) | 22 | VA59 0011 2300 0012 3456 78 | |
| Virgin Islands, British (VG) | 24 | VG96 VPVG 0000 0123 4567 8901 | |
No country matches that search.
Runs entirely in your browser. Nothing is uploaded.
免费IBAN验证器,直接在浏览器中运行
这款IBAN验证器可检查国际银行账号(IBAN)的格式是否正确、该国家所需的长度是否匹配,以及ISO 7064 mod-97校验和是否通过——这与银行在转账前用于捕获账号输入错误的验证方式完全相同。粘贴一个IBAN,您将立即获得通过或失败的结果,并附有具体原因、按四位分组的格式,以及各组成部分的详细解析。
与许多将账号上传到服务器的在线IBAN验证工具不同,这里的所有操作均在本地JavaScript中完成。账号从不上传,因此您可以验证敏感的银行信息——无论是自己的还是供应商的——而这些信息永远不会离开您的设备。IBAN.com和iBANapi提供类似的验证服务,但每次验证都会将您的数据传输至其服务器,这对处理客户银行信息的财务团队而言存在一定的隐私风险。
验证器实际检查的内容
验证分三个层级进行。首先是格式:IBAN必须以两位字母的国家代码和两位校验位开头,其后只能是字母和数字。其次是长度,每个国家的长度是固定的——挪威为15位,德国和英国为22位,法国为27位,马耳他为31位,最多不超过34位。最后是mod-97校验和:将前四个字符移至末尾,将字母转换为数字(A=10……Z=35),整个数值对97取模,结果必须等于1。
由于校验位是根据账号其余部分计算得出的,几乎任何一个输入错误——两位数字颠倒、错误字符、缺少一位数字——都会导致校验和失败,并在转账前被捕获。错误信息会告诉您具体是哪项检查失败,让您确切知道需要修正什么,而不仅仅收到一条"IBAN无效"的提示。
查看结构:国家、银行、支行和账号
除了简单的是/否答案外,该工具还会解析IBAN的结构。它将国家代码和校验位从BBAN中分离出来,在已知该国格式的情况下,标注出银行代码、支行代码和账号。例如对于德国IBAN DE89 3704 0044 0532 0130 00,可以识别出银行代码37040044和账号0532013000——当您调试付款文件或构建银行集成时,这有助于确认每个字段是否正确。
工具同时显示便于阅读的四位分组格式,以及支付系统所需的紧凑电子格式,方便您直接复制所需格式,无需手动重新排版。
批量验证与国家参考表
需要核查整个电子表格列?批量模式支持粘贴列表,并返回每行"有效/无效"及所检测到的国家代码的表格,可直接复制为CSV格式。国家参考表列出了所有支持IBAN的国家及其精确长度和真实示例——在输入西班牙或沙特阿拉伯IBAN之前,可以方便地确认其正确格式。
工具还提供测试IBAN生成器:选择一个国家,即可生成结构正确、校验和有效的IBAN,用于软件测试和表单质量检查。这些IBAN明显是虚假的——它们通过所有三项验证检查,但不对应任何真实账户——因此绝不能用于实际转账。在不暴露真实账号的情况下测试IBAN输入表单和银行集成时,这一功能非常实用。
与IBAN.com、iBANapi及其他验证工具的比较
使用最广泛的在线IBAN验证器是IBAN.com和iBANapi。两者均可正常使用,但都会将您的IBAN发送至其服务器——IBAN.com用于运行验证并从其付费数据库中显示银行详情,iBANapi则用于其REST API产品。对于日常使用,这没什么问题;但对于敏感客户数据或在GDPR合规要求下进行批量验证,这是一个值得注意的重要隐私考量。
Wise(前身为TransferWise)在其转账流程中集成了IBAN检查,但仅作为付款步骤的一部分,并非独立工具。Schwifty是一个优秀的JavaScript库,适合开发者在自己的代码中构建验证功能,但它不是一个可以直接打开使用的浏览器应用。本工具完全在客户端运行完整验证,包含批量模式、国家参考表、测试IBAN生成器和结构解析——全部免费,且不向任何服务器发送任何数据。
私密、即时,并如实说明能做什么和不能做什么
这款IBAN验证工具免费使用,无需注册,加载后即可离线运行。它在设计上是一款结构和校验和验证器——它确认IBAN的格式是否正确且自洽,而不验证账户是否存在或归属于何人。只有收款银行才能核实这一点。这是一个值得明确说明的诚实局限:通过验证可以在转账前捕获输入错误,但这并不证明账户处于活跃状态。
将其收藏,以备下次需要验证、格式化或了解IBAN时使用,无需将银行信息发送至第三方服务器。同样支持iPhone和Android——在手机上粘贴IBAN,即可获得与桌面端完全相同的完整验证结果。
Frequently asked questions
什么是IBAN?
IBAN是国际银行账号(International Bank Account Number)的缩写——一种用于跨境银行账号书写的标准化格式(ISO 13616)。它最多包含34个字符,始终以两位字母的国家代码、两位校验位开头,然后是该国自己的账号(即BBAN)。例如德国的DE89 3704 0044 0532 0130 00,可以解析为:国家代码DE、校验位89、银行代码37040044和账号0532013000。目前约有80个国家使用IBAN,主要分布在欧洲和中东地区。
如何验证一个IBAN号码?
一个正确的IBAN需通过三项检查:首先是格式——两位字母的国家代码、两位数字,然后只能是字母和数字;其次是长度,必须与该国规定的精确长度完全一致(德国为22位,英国为22位,法国为27位);最后是mod-97校验和。在上方粘贴您的IBAN,本工具将即时完成三项检查,并在任一项失败时告知您具体原因。大多数银行网站不会说明哪项检查失败——只会提示"IBAN无效"。本工具会准确显示问题所在。
IBAN有多长——是24位数字吗?
不,IBAN没有统一的长度——各国不同,从挪威的15位到马耳他的31位不等,最长不超过34位。德国和英国为22位,法国为27位,西班牙为24位,意大利为27位,荷兰为18位。IBAN还包含字母,因此并非纯数字。本验证器会根据您输入内容中检测到的国家代码,检查其精确的预期长度,并明确标出过短或过长的情况。
IBAN校验和是如何计算的?
它使用ISO 7064 mod-97算法。将前四个字符(国家代码+校验位)移至字符串末尾,将每个字母替换为两位数字(A=10,B=11……Z=35),然后对整个数值取模97。有效的IBAN余数恰好为1。两位校验位的选取正是为了满足这一条件——这就是为什么任何一个字符输入错误几乎都会导致校验失败。这使IBAN比没有自我校验机制的旧式账号格式可靠得多。
IBAN各部分分别代表什么?
从左到右读取:2位字母国家代码、2位校验位,然后是BBAN(基本银行账号),包含银行代码、通常还有支行代码以及账号。对于DE89 3704 0044 0532 0130 00,银行代码为37040044,账号为0532013000。本工具会解析您输入的每个IBAN,并标注各段,让您在付款发出前发现错误的银行代码或缺失的支行代码。
IBAN验证通过意味着账户存在吗?
不。通过验证只能证明IBAN格式正确——国家代码正确、长度正确、mod-97校验位有效。这并不能证明该账户真实存在、处于开户状态,或属于特定人员。只有收款银行才能确认这些信息。本工具有意只运行结构和校验和检查,不向任何服务器发送任何数据。请用它在提交付款前捕获输入错误,而非将其作为账户处于活跃状态的证明。
能从IBAN中查找银行或SWIFT/BIC代码吗?
可以查到部分信息。IBAN包含国家代码和银行代码(通常还有支行代码),本工具会为您提取这些信息。完整的SWIFT/BIC存储在一个单独的注册表中,该表将这些代码映射到具体银行,因此可靠地推导出精确BIC需要查询服务——这意味着需要将您的IBAN发送至服务器。IBAN.com和wise.com等工具提供BIC查询,但需要将IBAN传输至其服务器。本工具保持客户端运行,仅呈现IBAN本身直接编码的信息。
IBAN和印度IFSC代码是一样的吗?
不一样。IFSC(印度金融系统代码)是印度国内用于识别NEFT、RTGS和IMPS转账银行支行的11位代码——印度不使用IBAN。IBAN是主要在欧洲及众多其他国家使用的国际账号格式。两者解决类似的路由问题,但属于完全不同的系统,不可互换。
美国使用IBAN吗?
不使用。美国国内转账使用9位ABA路由号码加账号,国际转账入账美国则使用SWIFT/BIC代码加账号。美国企业和开发者通常在向欧洲或中东合作方付款或收款时才会遇到IBAN。如果德国的人向您索要IBAN,而您身处美国,您没有IBAN——请提供您的ABA路由号码和账号即可。
哪些国家使用IBAN?
约80个国家,包括所有欧盟和欧洲经济区成员国、英国、瑞士,以及中东大部分地区、巴尔干、北非,以及加勒比海和拉丁美洲部分地区——例如德国、法国、西班牙、意大利、荷兰、沙特阿拉伯、阿联酋、土耳其和巴西。工具中可搜索的国家参考表列出了每个支持国家的所需长度和IBAN示例,方便您在输入前确认西班牙或沙特阿拉伯的IBAN应是什么样子。
在这里输入IBAN安全吗?
安全。所有检查均在您的浏览器中通过JavaScript本地运行——您的IBAN从不上传、记录或与任何服务器共享。您可以断开互联网连接来验证这一点:验证器仍然正常工作。这与许多在线IBAN验证工具的关键区别在于,IBAN.com和iBANapi均会将IBAN发送至其服务器进行验证。在这里,任何信息都不会在任何时候离开您的设备。
如何生成测试用IBAN?
使用工具中的测试IBAN生成器:选择一个国家,它将生成格式正确、mod-97校验和有效的IBAN,用于软件测试和表单质量检查。这些都是明显的虚假账号——它们通过结构检查,但不指向任何真实账户——因此绝不能用于实际付款。在构建银行集成时,当您需要在代码中测试IBAN验证逻辑而不使用真实账号时,这一功能非常有用。
IBAN和BBAN有什么区别?
BBAN(基本银行账号)是账户的国内部分——银行代码、支行代码和您所在国家通常所写的账号。IBAN只是在该BBAN外包裹了国家代码和两位校验位,使其能在国际范围内使用。在DE89 3704 0044 0532 0130 00中,BBAN是3704 0044 0532 0130 00,DE89是国际前缀。大多数国家在引入IBAN之前已有国内BBAN格式;IBAN将跨境版本标准化。
为什么我的IBAN被拒绝为无效?
常见原因包括:输入错误(数字颠倒或错误会立即导致mod-97校验失败)、该国长度不正确,或字母应为数字的位置输入了字母——例如将大写字母O误输为零。空格不影响验证;本工具会忽略它们。请阅读上方验证器显示的具体错误信息,修正那一个字符,通常即可通过验证。如果银行系统拒绝了本工具认为有效的IBAN,该银行可能在标准三项检查之外还有额外的内部验证逻辑。
与其他在线IBAN验证工具相比有何优势?
大多数在线IBAN验证工具——IBAN.com、iBANapi、wise.com——都会将您的IBAN号码发送至其服务器进行检查。这意味着您的银行信息会在网络上传输,并被第三方记录,对于欧洲企业在GDPR合规要求下而言,这是一个重要的隐私考量。Schwifty是一个优秀的JavaScript库,适合开发者在自己的代码中构建验证功能,但它不是一个可以直接打开使用的浏览器应用。本工具完全在浏览器中运行完整的ISO 7064校验、长度检查和结构解析,支持批量验证多个IBAN和国家参考表——全部免费,且不向任何服务器发送任何内容。