跳到主要内容
安全2026-10-20Begin5 分钟阅读

VIN 码校验位详解:第 9 位怎么算,车架号真假一测便知

VIN(Vehicle Identification Number,车辆识别代号/车架号)是 17 位字符串,刻在挡风玻璃左下角、行驶证和 B 柱铭牌上。想判断一串 VIN 是不是「编出来的」,最快的办法不是查数据库,而是算第 9 位校验位——这是 ISO 3779 内建的数学防伪,纸笔 2 分钟能验完。把 VIN 粘到 在线 VIN 校验工具 可以一键完成格式、校验位、产地、厂商、年份的全套解析;下文讲清每一步是怎么算的。

VIN 的 17 位结构

区段位置含义示例(LFV3A23C8K3060386 类)
WMI第 1–3 位世界制造厂识别码:首字符定大区,前三位定厂商LSV = 上汽大众
VDS第 4–8 位车辆描述:车型、发动机、车身形式(各厂自定义)—
校验位第 9 位由其余 16 位加权计算出的防伪位数字或 X
VIS第 10–17 位年份码(第 10 位)、装配厂(第 11 位)、流水号(第 12–17 位)K = 2019

字符集硬规则:VIN 只用 ABCDEFGHJKLMNPRSTUVWXYZ0123456789——没有 I、O、Q(和数字 1、0、9 太像,故意排除)。抄 VIN 时把 O 当零、I 当 1,是校验失败的第一大原因。

第 9 位校验位:手算教程

第一步:转写表

字母先按固定表转成数字(注意 I/O/Q 不出现,且不等于字母序):

字母值字母值字母值
A=1J=1S=2
B=2K=2T=3
C=3L=3U=4
D=4M=4V=5
E=5N=5W=6
F=6P=7X=7
G=7R=9Y=8
H=8Z=9

第二步:加权求和

17 个位置各乘一个固定权重(第 9 位本身权重为 0,不参与):

权重 = 8 7 6 5 4 3 2 10 0 9 8 7 6 5 4 3 2

第三步:模 11

和除以 11 取余数:余数 10 写成 X,否则就是校验位本身。

完整示例

以 1M8GDM9A?KP042788 为例(? 是待验证的第 9 位):

位1234567891011121314151617
字符1M8GDM9A?KP042788
值14874491—27042788
权重876543210098765432
积8284835161218100185602410282416

求和:8+28+48+35+16+12+18+10+0+18+56+0+24+10+28+24+16 = 351

351 mod 11 = 10 → 校验位应为 X。所以这串 VIN 合法的形式是 1M8GDM9AXKP042788——第 9 位恰好是 X 的知名示例。手工算嫌烦的话,VIN 校验工具 会同时给出校验结论和产地/厂商/年份拆解。

第 10 位:年份码的 30 年循环

年份码从 2010 年起按 ABCDEFGHJKLMNPRSTVWXY123456789 循环(同样跳过 I/O/Q):A=2010、K=2019、L=2020、M=2021、N=2022、P=2023、R=2024、S=2025……循环长度 30 年,所以看到 A 也可能是 1980 年的车。工具解析年份时会明确标注「30 年循环,可能 +30」,不给一个假装精确的答案。

首字符地区码速查

首字符地区首字符地区
1/4/5美国J日本
2加拿大K韩国
3墨西哥L中国
9巴西等南美R中国台湾
S英国W德国
V法国/西班牙Z意大利

国产车 VIN 以 L 开头是最常见的校验场景;进口车看首字符对产地,和铭牌对不上的基本可以判假。

校验失败的四种常见原因

  1. I/O/Q 混入:抄录时把 0 写成 O、1 写成 I——字符集直接不合法;
  2. 空格与连字符:行驶证复印件里的 VIN 常带分隔符,规范化时应剔除(工具端已做 trim + 去空格 + 统一大写);
  3. 第 9 位抄错:前 16 位都对、只错第 9 位——数学上必然校验失败,这也是校验位存在的意义;
  4. 欧规车不使用校验位:第 9 位校验位是北美强制(美国 FMVSS 115)要求,欧洲/部分其他市场车辆的 VIS 段可以不按校验位规则编码。欧规车算出来不匹配,不代表车架号是伪造的——需要结合厂商官方渠道交叉验证。

实现注记 / Implementer's note

把 VIN 校验做进工具时的三个真实取舍:其一,WMI 表是示例表而非权威库——完整 WMI 数据库(SAE 分配)不公开免费获取,工具内置了高频前缀(LSV/LFV/WBA/JHM/5YJ 等),查不到时诚实显示空而不是编一个厂名。其二,两字符 WMI 的坑:部分厂商(如丰田乘用车 JT)只有两位 WMI,第三位是车型位,实现里用 JT_ 这种带下划线的键做回退匹配——不做这层会把这些厂全部识别失败。其三,配套的测试数据生成器生成 VIN 时走「真实公开 WMI 前缀 + 随机 VDS/流水号 + 正确校验位」路线:格式校验全过,但厂商+序列组合是虚构的——测试数据不能意外对应到真实车辆,这是一条红线。

FAQ

VIN 里有字母 I、O、Q 吗?

没有。为避免与 1、0、9 混淆,ISO 3779 的 VIN 字符集排除了这三个字母。如果一串「VIN」里出现 I/O/Q,它一定不是合法 VIN。

校验位不匹配就一定是假车架号吗?

不一定。北美市场车辆强制使用校验位;欧规车第 9 位可能是序列号的一部分。校验位失败 + 首字符是 W/V/Z 等欧洲码时,先怀疑编码规则差异而不是造假。

VIN 和发动机号是一回事吗?

不是。VIN 是整车唯一识别码(17 位,车身层面),发动机号是发动机总成的编号,两者独立。过户、理赔、召回查询用 VIN。

中国车牌能在线校验吗?

可以,车牌格式校验(省份简称 + 发牌机关 + 序号 + 新能源位数规则)在本站的车牌格式规则详解一文和对应工具里有完整实现。


这篇 VIN 算法笔记整理自 ToolVault 工具匣的校验器实现过程,算例可直接在 VIN 校验工具 里粘贴验证。

补充注记

年份码解析最初版本只输出单个年份(如 K → 2019),被自己人挑刺后改成了「2019(30 年循环,可能 +30)」——假装精确比承认循环更误导人。校验位手算示例 1M8GDM9AXKP042788 同时是单测用例,权重与转写表若有回归会在 CI 第一时间暴露。