UUID

随机

在线批量生成 UUID / GUID

UUID 是分布式系统里最省心的一种主键方案:不需要中心节点分配,客户端和各个服务可以各自生成,几乎不用担心撞号。写代码时通常直接调库,但手动测试、造数据、往配置文件里塞一个占位标识时,还是需要一个能立刻拿到几十个现成 ID 的地方。

这个页面就是为这类场景准备的:设定数量、选好格式、点生成,结果按行排列,可以整块复制进 SQL 的 INSERT 语句、Postman 的请求体或者 CSV 测试文件。上限 200 个,够覆盖一次批量插入的规模;不够就再点一次,没有次数或频率限制。

技术上有一个细节值得说明:只要浏览器支持,工具走的是 crypto.randomUUID(),随机数来自操作系统的密码学安全随机源,而不是 Math.random()。这意味着结果不仅唯一,而且不可预测,可以放心用作会话标识或幂等键。只有在缺少该 API 的旧浏览器上才会降级到基于 Math.random() 的实现,那种情况下建议只当测试数据使用。

三种格式对应不同生态的书写习惯:标准小写带连字符是跨平台接口和多数数据库的默认形式;全大写常见于 .NET 和 SQL Server;去掉连字符的 32 位紧凑串适合放进 URL 或 char(32) 字段。选定一种就在整个项目里保持一致,混用会让字符串比对莫名失败。

功能一览

  • 批量生成:数量在 1 到 200 之间任意调整,默认 10 个,每行一个便于直接粘贴
  • 版本:生成 RFC 4122 定义的 version 4 随机 UUID,第 13 位十六进制数字固定为 4,第 17 位落在 8、9、a、b 之中
  • 随机源:优先使用浏览器内置的 crypto.randomUUID(),属于密码学安全随机源;不支持该 API 的旧浏览器降级为基于 Math.random() 的模板实现
  • 标准格式:8-4-4-4-12 的小写形式,如 3f2b9c48-1d7a-4e56-b0c9-5a8e7d21f430
  • 大写格式:整串转为大写,贴合 .NET、SQL Server 等习惯输出大写 GUID 的环境
  • 无连字符格式:去掉四个连字符,得到 32 位紧凑字符串,适合做 URL 片段或数据库 char(32) 字段
  • 数量、格式与上次结果保存在浏览器本地存储,刷新页面后不用重新设置

常见问题

这里生成的是哪个版本的 UUID?
version 4,也就是完全依赖随机数生成的那一版,是日常最常用的类型。它的 128 位里有 6 位被固定用作版本号和变体标识(第 13 位十六进制数字为 4,第 17 位为 8、9、a 或 b),其余 122 位随机。工具不生成基于时间与 MAC 地址的 v1、基于命名空间哈希的 v3/v5,也不生成可按时间排序的 v7。
UUID 会重复吗?
理论上会,实践中可以忽略。v4 有 122 位随机位,约 5.3×10^36 种取值。按生日问题估算,即使每秒生成十亿个、连续生成一百年,出现一次碰撞的概率仍在十亿分之一量级。真正需要担心的不是数学概率,而是随机源质量——如果随机数生成器有缺陷或被固定了种子,碰撞才会真的发生,这也是本工具优先使用系统级随机源的原因。
用的是密码学安全的随机源吗?能用来做令牌吗?
现代浏览器上用的是 crypto.randomUUID(),它由浏览器的密码学安全随机数生成器提供,输出可以视为不可预测,用作会话标识、幂等键、请求追踪 ID 都没问题。只有在不支持该 API 的老旧浏览器上才会降级到 Math.random() 版本,那种情况下的结果不适合安全用途。如果要生成密码重置链接或 API 密钥这类高价值凭证,建议由服务端生成并设置有效期,而不是从任何前端页面复制。
大写和去掉连字符之后,还是同一个 UUID 吗?
是的,三种格式表示的是同一个 128 位值,只是文本写法不同。UUID 的十六进制字符串大小写不敏感,连字符只是可读性分隔符。需要注意的是格式必须在系统之间保持一致:把无连字符形式存进期望标准格式的字段,或反过来,都会导致字符串比较不相等,检索时匹配不到。
UUID 和 GUID 有什么区别?
没有实质区别,指的是同一个东西。UUID 是 RFC 4122 和 ISO/IEC 9834-8 使用的名称,GUID(Globally Unique Identifier)是微软生态的叫法,二者结构相同,都是 128 位。差异只在书写习惯上:Windows 与 .NET 常用大写并加花括号包裹,跨平台的接口和数据库更多用小写不带括号的形式。
生成的 UUID 会被记录下来吗?
不会。生成逻辑完全在你的浏览器里执行,页面不向服务器发送请求,也没有日志或统计上报,因此不存在「别人拿到你生成过的 ID」的情况。结果只会写入浏览器的本地存储,方便刷新后继续使用,点「清空」即可删除。

随机分组的其它工具

  • 随机生成随机数、字符串、密码、颜色、人名、手机号、身份证号等
  • 占位文本生成中英占位文案,用于排版与原型