onlinetools.dev

UUID 生成器

生成 UUID v4/v7、ULID 和 Nano ID,支持批量

本地运行
loading…
关于此工具

生成四种风格的全局唯一标识符:UUID v4(纯随机,日常默认)、UUID v7(按时间有序,数据库主键的现代选择)、ULID(按时间有序,采用紧凑的 Crockford Base32 写法)、Nano ID(短小,URL 友好)。一次生成一个或多达一千个——每行一个,直接粘进种子脚本。

随机性来自 Web Crypto API(crypto.getRandomValues)这一加密安全源,而不是 Math.random。生成在本地进行,意味着这些 ID 不为任何其他人所知、不被记录在任何地方,并且离线可用。

如果你在为新系统选 ID 格式:v7 和 ULID 按创建时间排序,能让 B-tree 索引保持健康,也让日志里的 ID 大致按时间排列;v4 不泄露任何生成时间信息——偶尔这正是你想要的。

常见问题

UUID v4 和 v7 有什么区别?
v4 是 122 位随机数。v7(RFC 9562)以 48 位 Unix 毫秒时间戳开头,后接随机位,所以后生成的 ID 排序也靠后。作为数据库主键,v7 通常能改善插入局部性和索引大小;在顺序无关或不能泄露时间的场景,v4 依然合适。
两个生成的 UUID 会碰撞吗?
122 位随机数下,概率小到不值得为它做工程设计:你需要每秒生成数十亿个 ID 并持续几十年,才能接近一丝可能。实践中的碰撞来自 bug(复用种子、复制行),而不是随机性。
为什么选 ULID 而不是 UUID v7?
它们解决同一个问题。ULID 是 26 个不区分大小写的 Crockford Base32 字符——在 URL 和日志里更短更干净;v7 保持了标准 36 字符的 UUID 形状,每个数据库和库都天然接受。选你的生态更原生支持的那个。
这些 ID 能当密钥或令牌用吗?
随机性是加密安全的,但 ID 通常会被展示、记录和索引——按公开信息对待。会话令牌或 API 密钥请专门生成至少 128 位随机数的机密,并像密码一样对待。
相关工具