🪪 输入身份证号

最后一位可能是 X(大写,代表 10)。输入 17 位时会自动帮你算出正确的第 18 位。

号码只在你自己的浏览器里计算,不会上传、不会被记录。

段落位数含义
第 1~6 位6行政区划码(省市区县)
第 7~14 位8出生日期 YYYYMMDD
第 15~17 位3顺序码,第 17 位奇数为男、偶数为女
第 18 位1校验位(0~9 或 X)
🪪

输入号码,右侧出结果。

📊 校验位是怎么算出来的(MOD 11-2)

国标 GB 11643-1999 规定的算法,任何声称「能验证身份证真伪」的工具都用的这一套。

步骤做法示例
① 加权前 17 位分别乘以固定系数7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
② 求和17 个乘积相加得 SS = Σ(ai × Wi)
③ 取模Y = S mod 11Y ∈ 0~10
④ 查表按 Y 取对应校验位1 0 X 9 8 7 6 5 4 3 2
⑤ 比对与第 18 位比对,相同则格式合法不同 → 号码有误

⚠️ 「格式合法」不等于「号码真实」

这一点不搞清楚,很容易把校验结果用过头。

能验证不能验证说明
校验位是否正确这个人是否真实存在随便编一个号也能算出合法校验位
行政区码是否存在发证后是否迁移过户口身份证号终身不变,地址会变
出生日期是否合法生日是否真实日期合法 ≠ 实际生日
性别码奇偶现用姓名与证件是否一致改名不影响号码
—是否在挂失 / 失效名单需公安系统联网核查

⚠️ 本工具仅做号码格式与校验位的数学验证,不连接公安身份信息系统,无法确认号码对应的自然人是否真实存在或证件是否有效。
校验通过只能说明这串数字符合编码规则,不构成身份认定;涉及实名认证、签约、金融业务请使用官方核验渠道。
请勿将他人身份证号随意输入任何在线工具,也不要把校验结果用于骚扰、诈骗等违法用途。
所有计算在你自己的浏览器本地完成,号码不会上传到任何服务器。

🪪

身份证号校验

生活实用 完全免费 🌙 支持黑夜模式 🔒 纯前端,不上传 🧮 MOD 11-2 算法 📍 籍贯解析

填表时把身份证号打错一位、复制粘贴时少了一位、同事给的号码看着就别扭——要不要去开户、签合同之前,先确认一下这串号码本身是不是合法?
这个工具就解决这一件事:输入 18 位号码,立刻告诉你校验位对不对,顺带把出生日期、性别、年龄、星座、属相和发证地区一起解析出来。
它能做什么:
① 校验位验证:按国标 GB 11643-1999 规定的 ISO 7064:1983 MOD 11-2 算法,用固定系数 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 加权求和后取模,再查表 1 0 X 9 8 7 6 5 4 3 2 得到应有的校验位;
② 反推校验位:如果你只有前 17 位,输入进去会直接算出第 18 位应该是几;
③ 信息解析:前 6 位查行政区划(省 + 地市),7~14 位解析出生日期并校验日期真实性(比如不会出现 2 月 30 日),第 17 位奇偶定性别,顺带算出周岁年龄、星座、属相;
④ 15 位老号码:会提示这是旧的 15 位号码并给出补全规则(补 19 年份 + 一位校验位)。
必须说清楚的一点:
「校验位正确」不等于「这个人真实存在」。这套算法是公开的,任何人都可以随意编一个能通过校验的号码。本工具不连接公安系统,不能做实名核验,也不能判断证件是否挂失失效。
另外两个容易踩的坑:
· 身份证号终身不变,行政区划码反映的是出生时(首次申领时)的户籍地,不代表现在住哪;
· 行政区划会随着撤县设区、地市合并而调整,老号码的区划码可能已停用,本工具按历史码表尽力匹配。
整个流程都在你自己的浏览器里跑,号码不会上传到任何服务器。

类别生活实用
校验算法GB 11643-1999 / ISO 7064 MOD 11-2
解析项籍贯 / 生日 / 性别 / 年龄 / 星座 / 属相
运行方式纯前端本地,不上传

核心特性

MOD 11-2 校验
17 位反推校验位
省市县籍贯解析
生日合法性校验
性别 / 年龄
星座 / 属相
15 位老号提示
纯前端不上传

关于这个工具

校验流程:
① 格式检查:长度 18 位、前 17 位为数字、末位为数字或 X;
② 加权求和:前 17 位逐位乘以固定系数并累加;
③ 取模查表:和 mod 11 得到 0~10,查表得到应有校验位;
④ 日期校验:把 7~14 位当 YYYYMMDD 解析,并用 Date 回读比对,能识别 20250230 这类不存在的日期;
⑤ 区划解析:前 2 位查省级表,前 4 位查地市表,查不到时降级为「未知地区」而不是报错;
⑥ 顺序码:第 17 位奇数男、偶数女。
它不做:不联网核验、不查挂失状态、不查姓名一致性、不存储任何输入。校验通过仅代表号码符合编码规则。

怎么用

  1. 第 1 步
    把 18 位身份证号粘进输入框(末位 X 大小写都认)。
  2. 第 2 步
    看顶部结论:校验位是「正确」还是「应为 X」。
  3. 第 3 步
    核对下方解析出的出生日期、性别与你已知的信息是否一致。
  4. 第 4 步
    只有前 17 位时,直接看工具给出的「正确校验位」。
  5. 第 5 步
    涉及实名业务的,请走官方核验渠道,别只看这里的结果。

更新记录

  • v1.0 2026-09-21 工具正式上线:按 GB 11643-1999 / ISO 7064 MOD 11-2 校验 18 位身份证号的校验位,支持输入 17 位反推校验位、出生日期合法性校验、性别 / 周岁 / 星座 / 属相解析与省市级行政区划查询,并对 15 位老号码给出升级提示;附算法步骤表与「能验证 / 不能验证」对照表。纯前端本地计算,号码不上传,适配黑夜模式。

常见问题

校验通过了,就说明这个身份证是真的吗?
不是,这一点必须说清楚。
校验通过只说明这串数字符合编码规则——校验位算法是完全公开的,任何人都能随手编出一批「校验位正确」的号码(网上甚至有批量生成器)。
要确认「这个人是否真实存在、证件是否有效」,需要公安身份信息系统联网核查,本工具不连接任何官方数据库。
所以正确用法是:用它排查录入错误、复制漏位,而不是用来做实名认证。
为什么解析出来的籍贯和我现在住的城市不一样?
因为身份证号里的前 6 位记录的是出生(首次申领)时的户籍所在地,而且终身不变。
户口迁到别的城市、长期在外地生活,号码都不会改变。所以「籍贯 ≠ 现居地」是完全正常的。
另外,行政区划本身会调整(撤县设区、地市合并),一些老号码的前 4 位在现行码表里可能已经停用,这时工具会尽量匹配到能识别的层级。
末位是 X 怎么输入?小写 x 行不行?
都可以,工具会自动转成大写再计算。
X 代表数字 10:校验位取值范围是 0~10,用一位字符表示 10 时用罗马数字的 X,所以末位出现 X 是完全正常的,不是错误号码。
顺带一提,X 出现的概率约为 1/11,一个 50 人的班级里大概会有 4~5 个。
15 位的老身份证号能校验吗?
15 位号码没有校验位(它是 1999 年之前的旧标准),所以无法用 MOD 11-2 验证,工具会提示你这是老号码。
升级到 18 位的规则是固定的两步:
① 在第 6 位后插入 19(补全为 4 位年份),变成 17 位;
② 按 MOD 11-2 算出第 18 位校验位。
你可以把 15 位号补全年份后输入前 17 位,工具会直接告诉你第 18 位应该是几。
我输入的号码会被保存或上传吗?
不会。所有计算(加权、取模、日期解析、区划查询)都在你自己的浏览器里用 JS 完成,号码不会上传到任何服务器,也不会被保存,刷新页面即消失。
但还是提醒一句:尽量不要把他人身份证号输入任何在线工具,能本地处理是一回事,养成习惯是另一回事。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码