祈灵工具箱
登录 / 注册

🆔UUID 生成器 - 在线批量生成 UUID v4 / v7

批量生成 UUID(微软叫 GUID),用作数据库主键、订单号、请求 ID、文件名等不能重复的标识。可以选最通用的 v4(全随机),也可以选 v7(开头是生成时间,先生成的排在前面,适合做数据库主键)。UUID 由浏览器的加密安全随机数在本地生成,符合 RFC 9562(取代了原来的 RFC 4122)。可以转成大写、去掉连字符或加上花括号,适配 Windows、Visual Studio、数据库等不同场合的写法,一次最多 100 个,一键全部复制。

正在加载工具...

如何使用UUID 生成

  1. 1选择版本:不确定就用 v4;要做数据库主键、希望按生成顺序排序就选 v7
  2. 2拖动滑块选择生成数量(1~100 个),改数量时会重新生成一批
  3. 3按需要勾选大写、去掉连字符、用花括号包裹,三项可以组合,结果实时变化
  4. 4点「复制全部」得到一行一个的列表;要换一批就点「重新生成」

常见问题

生成的 UUID 会重复吗?
实际上不会。v4 里有 122 位是随机的,一共约 5.3 × 10³⁶ 种可能。就算生成一万亿个,其中出现一次重复的概率也只有约十万亿分之一;要让重复的概率达到一半,需要生成约 2.7 × 10¹⁸ 个,按每秒 10 亿个算也要连续生成 86 年。我们在浏览器里一次生成 10 万个检查过,没有一个重复。v7 同一毫秒里也还有 70 多位随机数,不同电脑同时生成也不会撞上;本工具在同一毫秒里连续生成时还会给计数器加一,我们一次生成 20 万个 v7 检查过,没有重复,顺序也严格递增。
v4 和 v7 选哪个?
v4 除了版本位全是随机数,最通用,所有系统都认,也看不出是什么时候生成的。v7 的前 48 位是生成时间(精确到毫秒),后面是随机数,所以先生成的排在前面:做数据库主键时新记录总是插在索引末尾,不像 v4 那样插得到处都是,写入更快、索引更紧凑,按主键排序也就是按创建时间排序。代价是任何人都能从 v7 里读出它的生成时间,所以不想暴露时间的场合(比如公开的分享链接)用 v4。v7 是 2024 年随 RFC 9562 才成为正式标准的,用之前确认一下你的数据库或程序库能不能处理。
怎么看一个 UUID 是哪个版本?
标准写法共 36 个字符:32 个十六进制数字,按 8-4-4-4-12 用连字符分成五段,比如 c168e339-f227-466b-bdb3-004f952c1e13。第三段的第一个字符是版本号,v4 是 4,v7 是 7;第四段的第一个字符固定是 8、9、a、b 之一。v7 的前 12 个十六进制数字(去掉连字符后)就是生成时间的毫秒数,比如 01a1affe211e 换算成十进制是 1793954029854 毫秒,也就是 2026-11-06 08:33:49.854(UTC)。本工具两种版本我们各实测了一批,格式全部正确。
大写、去连字符、花括号分别什么时候用?
小写带连字符是标准写法,大多数编程语言和 PostgreSQL 的 uuid 类型输出的都是这种。大写加花括号是微软的习惯,Windows 注册表、Visual Studio 的 .sln 和工程文件里的 GUID 都写成 {C168E339-F227-466B-BDB3-004F952C1E13}。去掉连字符后是 32 个字符,适合用作文件名、网址的一段,或者存进 CHAR(32) 字段。三个选项可以组合使用。
UUID 和 GUID 有什么区别?
是同一种东西。GUID 是微软的叫法,格式和 UUID 完全一样,只是在 Windows 里习惯写成大写并加花括号。勾选「大写」和「用花括号包裹」,得到的就是 Windows 风格的 GUID。
存进数据库用什么字段?
带连字符的文本是 36 个字符,去掉连字符是 32 个字符,按二进制存只要 16 个字节。PostgreSQL 有原生的 uuid 类型,占 16 字节;SQL Server 用 uniqueidentifier;MySQL 常用 CHAR(36),想省空间可以用 BINARY(16),MySQL 8 自带 UUID_TO_BIN 和 BIN_TO_UUID 两个函数来回转换。
是在本地生成的吗?够安全吗?
是。UUID 由你的浏览器用加密安全随机数生成,不联网、不记录,我们看不到。v4 优先用 crypto.randomUUID(Chrome 92、Firefox 95、Safari 15.4 及以后的版本都支持),更老的浏览器会改用 crypto.getRandomValues;v7 的随机部分也来自 crypto.getRandomValues,同样是加密安全随机数。速度也很快:在我们的测试电脑上,浏览器 1 秒内能生成 100 万个。
需要注册或付费吗?
不需要。本站完全免费,无需注册登录,没有次数限制。

功能特点

  • 可生成 UUID v4(随机)和 v7(按时间排序),符合 RFC 9562(原 RFC 4122)
  • v7 同一批里严格递增,同一毫秒内也不乱序
  • 加密安全随机数生成,不是 Math.random 那样的伪随机
  • 大写、去连字符、花括号三种格式可任意组合
  • 一次最多 100 个,一行一个,一键复制
  • 老浏览器没有 crypto.randomUUID 时自动改用 crypto.getRandomValues,格式和随机性一样