IBAN 校验
校验 IBAN 校验位与国家长度。
BBAN 规则包:SWIFT IBAN Registry,Release 101 · 已于 2026-07 核对。
批处理检查(每行一个 IBAN)
校验 IBAN
粘贴 International Bank Account Number,即可检查所属国家、登记长度、mod-97 校验和及该国特定的 BBAN 结构。支持的国家还会分别显示银行和账户字段。可批量检查多个号码或生成有效示例,全程在浏览器中完成。
IBAN校验位的工作原理
国际银行账号由ISO 13616标准定义,参与国家的列表及其精确格式收录于SWIFT发布的IBAN注册表中。每个IBAN开头的2位校验码能让任何银行、表格或应用程序在汇款前就检测出输入错误。
号码结构
| 组成部分 | 长度 | 内容 |
|---|---|---|
| 国家代码 | 2 个字母 | ISO 3166国家代码,例如DE或FR。它决定了适用的长度和国家格式。 |
| 校验位 | 2 位数字 | 按照 mod-97 规则对整个号码进行计算。结果只能是 02 到 98 之间的数值。 |
| BBAN | 最多30个字符 | 各国均有固定长度和格式的国内账号:由银行代码、分行代码和账号组成,有时还包含独立的国家校验码。 |
各国的总长度固定,这也是工具首先校验的内容:
| 代码 | 国家 | 长度 |
|---|---|---|
| DE | 德国 | 22 |
| FR | 法国 | 27 |
| GB | 英国 | 22 |
| ES | 西班牙 | 24 |
| IT | 意大利 | 27 |
| NL | 荷兰 | 18 |
| NO | 挪威 | 15 |
| MT | 马耳他 | 31 |
示例:GB82 WEST 1234 5698 7654 32
该校验采用 ISO 7064 mod 97-10 方法,共分四步完成。
| 1. 去除空格 | GB82WEST12345698765432 |
| 2. 将前四个字符移到末尾 | WEST12345698765432GB82 |
| 3. 将每个字母替换为两位数字(A = 10 … Z = 35) | W = 32, E = 14, S = 28, T = 29, G = 16, B = 11 |
| 4. 将结果视为一个数字并除以 97 | 3214282912345698765432161182 |
| 余下时间 | 1 |
余数为1即代表IBAN通过校验。银行生成IBAN时,会以00作为校验位,执行相同计算后,将校验位设为98减去余数;因此00、01和99绝不可能出现在IBAN中。第4步中的数字超出了普通计算器处理范围,软件会将其拆分计算;该工具采用精确的大整数运算来实现这一点。
官方来源
- SWIFT IBAN 注册表(PDF):由负责 ISO 13616 注册的 SWIFT 发布的官方 IBAN 国家列表、长度及 BBAN 格式。
- ISO 13616-1:定义IBAN结构和校验位的国际标准
- 欧洲支付理事会:SEPA支付规则规定IBAN为强制使用的账户标识符
常见错误以及有效的 IBAN 并不能证明什么
- 从纸质文档抄写时可能会将字母O误读为数字0,或将I误读为1。由于部分国家在BBAN中允许使用字母,该工具无法始终判断原本意图;若mod-97校验失败,则需重新读取源内容。
- 去除账号部分的前导零会导致长度变化,进而校验失败。
- 将IBAN字母、BIC或国内账号粘贴到该字段中。该工具能识别印度IFSC格式和墨西哥CLABE格式的输入内容,并指向对应的校验器。
- 有效的IBAN仅代表数字逻辑一致且格式符合该国登记规则。它无法证明账户真实存在、处于开通状态,或属于你拟付款的个人或公司。针对发票和首次收款方,需通过其他渠道确认IBAN;在真实发票上篡改IBAN是最常见的支付欺诈手段之一。
IBAN 验证由 ISO 13616 定义,并采用 ISO/IEC 7064 的 mod-97-10 校验:将前四个字符(国家代码 + 2 个校验位)移到末尾,把字母转换为数字(A=10 … Z=35),整个数字除以 97 后的余数必须为 1。
各国还规定了确切长度和内部格式(德国 22、法国 27、西班牙 24、英国 22……),并公布在 SWIFT IBAN Registry 中。本工具会在您的浏览器中本地应用国家格式和 mod-97 这两层规则,并准确指出失败之处。
有效的IBAN结构并不保证账户存在、有效或归属于您期望的人:银行会在实际转账时验证(在欧盟,通过收款人验证)。使用此工具可在付款前发现拼写错误,而非作为所有权证明。最后验证:2026年7月。
常见问题
mod-97校验具体如何工作?
先去除空格,再将前四个字符(国家代码和校验位)移到末尾,随后将每个字母替换为两位数字(A = 10 … Z = 35),最后用得到的数字除以97。有效的IBAN余数应为1。以GB82 WEST 1234 5698 7654 32为例,重新排列后的字符串为WEST12345698765432GB82,转换为数字后为3214282912345698765432161182,余数为1。
该工具会校验哪些层级?
共四项校验要求:国家代码必须收录于IBAN注册表,长度需与该国家的规定一致,mod-97校验和必须合格;若已有该国的编码规则,则BBAN字符需符合规则(每个位置可以是数字、字母或两者兼有)。结果会指出校验失败的环节。
为什么我的IBAN验证失败,尽管数字看起来正确?
最常见的原因包括国家代码长度错误、将字母O误输为数字0(或将I误输为1)、账户部分缺少前导零,或是有两个字符顺序颠倒。请从原始文档中重新读取该号码,而非依据重新录入的副本。
为什么校验位永远不会是 00、01 或 99?
银行生成校验位时,会先用00代入执行相同的mod-97计算,再将校验位设为98减去余数。因此校验位的取值范围仅为02到98;若IBAN中出现00、01或99,则说明是输入错误或虚构编号。
有效的IBAN意味着账户是真实的吗?
不。结构并不等同于真实存在。有效的IBAN仅能证明字符与该国的登记信息一致。银行会在处理过程中确认账户有效性,欧盟支付机构还会核对收款人姓名(收款人验证)。对于发票和首次交易的收款方,需通过其他渠道确认IBAN;看似正规的发票上出现的IBAN被篡改的情况是最常见的支付欺诈手段之一。
IBAN与SWIFT或BIC代码是一样的吗?
不。IBAN用于标识一个账户;BIC(也称SWIFT代码)用于标识银行。国际转账通常需要同时提供两者,若将BIC粘贴到IBAN字段中,会因长度和校验和测试不通过而导致校验失败。
那印度或墨西哥的账号呢?
印度不使用IBAN,墨西哥则采用18位的CLABE编码。该工具能识别两种系统的常见输入,并引导用户使用对应的校验工具。
我的IBAN上传用于验证了吗?
绝不会。所有运算均在你的设备上完成,因此财务团队可以放心在此批量校验供应商列表:每行粘贴一个IBAN,即可将结果导出为CSV格式。
最后更新: