支持 UUID v4 随机批量、UUID v5 命名空间派生。符合 RFC 4122,使用浏览器加密随机源。
UUID(通用唯一标识符)是 128 位的标识符,标准写法是 36 个字符(32 个十六进制数字加 4 个连字符)。它最大的价值在于"全局唯一不靠协调"——不需要数据库自增、不需要中心节点发号,每个节点各自生成,撞上的概率低到可以忽略。典型用途包括:数据库表的主键、分布式系统的请求追踪 ID(traceId)、文件或对象的唯一命名、离线设备的数据标识、测试数据批量构造等。本工具支持 v4、v5、v7 三个版本:v4 用浏览器加密级随机源(crypto.getRandomValues)生成,选好版本和数量(1-500 条)后点「生成 UUID」,下方立即出列表;v5 则由命名空间 + 名称字符串经 SHA-1 哈希派生,同一名称永远得到同一 UUID,适合"同名同 ID"的确定性场景。生成结果支持一键复制全部、导出 .txt 文件,还可以切换大写、去连字符、加大括号或引号以适配不同语言的习惯写法。
关于碰撞概率的直观理解:v4 的随机位有 122 个,生成空间约 5.3×10^36。形象一点说——每秒生成 10 亿个 UUID,跑上 100 年,出现一次碰撞的概率也大约只有 50%;或者换个说法,把地球上每一粒沙子都分配一个 UUID 再重复几十亿遍都装不满。因此在绝大多数工程场景里,v4 的碰撞风险可以直接当作零处理,不需要任何去重逻辑。真正要留意的反而是别的问题:别把 UUID 当安全凭据用(它是标识符不是密钥)、别在数据量极大的表里用它做聚簇主键(随机性导致 B+ 树页分裂,可考虑换时间有序的 v7 或雪花 ID)。
v7 是 RFC 9562(2024 年 5 月发布,取代 RFC 4122)定义的时间有序 UUID:前 48 位写入毫秒级 Unix 时间戳(可用到公元 10889 年),随后 rand_a 12 位与 rand_b 62 位共 74 位随机位填充,版本位固定为 7(第 13 个十六进制位是 7)、变体位固定为 10(第 17 位是 8/9/a/b 之一)。使用方法:版本下拉选择「UUID v7(时间有序)」,设好数量(1-500)后点「生成 UUID」,批量、复制全部、导出 .txt 与大写/连字符/括号/引号格式选项对 v7 全部生效。什么时候选 v7:① 用作数据库主键——ID 前缀按时间递增,B+ 树近似顺序插入、页分裂少;② 需要「按 ID 大小近似等于按创建时间排序」——可省掉一个 created_at 排序索引;③ 日志、事件流、消息队列的追踪 ID——同一时间窗的 ID 天然聚在一起。两个注意点:v7 前 48 位就是生成时刻,ID 会暴露创建时间(毫秒精度),创建时间敏感的场景请继续用 v4;本页 v7 为纯随机实现(RFC 可选的单调计数器未启用),同一毫秒内批量 500 条的理论碰撞概率约 500² ÷ 2⁷⁵ ≈ 3×10⁻¹⁹,可直接忽略。
生成的 UUID 会上传或被记录吗?不会。生成过程完全在你的浏览器本地完成,随机源来自浏览器内置的加密随机数生成器,页面没有后端、没有上报埋点。生成的结果也只存在于当前页面,刷新或关闭即消失,需要留存请用「复制全部」或「导出 .txt」。
UUID 大小写有区别吗?没有。RFC 4122 规定 UUID 是十六进制数,大小写等价,550e8400-... 和 550E8400-... 是同一个 UUID。实际工程里统一一种写法即可——常规是输出小写,微软生态(.NET、SQL Server)习惯大写。比较时建议先归一化成同一种大小写。
v4 和 v7 该选哪个?v4 完全随机,兼容性最好,是默认推荐。v7(RFC 9562,2024 年标准化)用毫秒级时间戳做前 48 位,天然按时间递增,对数据库索引更友好(插入不分裂页、可按 ID 排序)。如果系统较老或不支持 v7,v4 依然是稳妥选择;追求索引性能的新系统可直接用本页已支持 v7 生成(版本下拉选「UUID v7(时间有序)」,详见上方 v7 小节)。
去掉连字符有影响吗?没有功能影响,UUID 的本质是 128 位数字,连字符只是 8-4-4-4-12 的展示分隔。去掉后是 32 位十六进制串,常用于文件名、URL path、紧凑存储(16 字节二进制)。有些系统(如 Java 的部分库、Cassandra)要求无连字符形式,本工具勾选框直接支持。
UUID 适合做数据库主键吗?看场景。优点是应用层生成、天然分布式、合并数据不冲突;缺点是 16 字节比 4/8 字节整型大、v4 随机写入导致 B+ 树索引页分裂频繁,写入密集的大表性能劣于自增整型。常见折中:用 UUID 做对外暴露的业务 ID,内部另设自增列做聚簇主键;或者直接采用时间有序的 UUIDv7 / 雪花 ID。
UUID v5 的命名空间是什么?v5 与 v4 不同,不是随机生成,而是用 SHA-1 对「命名空间 + 名称字符串」做确定性派生:相同的命名空间和名称永远得到相同的 UUID,适合需要「同名同 ID」的场景,例如把域名、URL 或用户名稳定映射成唯一标识。本页版本选「UUID v5(SHA-1 命名空间)」后,可直接选用 DNS、URL、OID、X.500 四个 RFC 4122 标准命名空间,或粘贴任意合法 UUID 作为自定义命名空间;同一命名空间下名称相同则结果相同,与生成次数无关。