UUID/GUID生成器

免费在线UUID生成器,支持v4/v7版本批量生成,多种格式输出(去连字符/大写/大括号),测试主键、请求ID一键搞定,基于Web Crypto API密码学安全随机数,本地生成免登录即用。

0 次使用 0
UUID v4:纯随机 122 位,最常用版本

格式选项

36 字符

批量生成

— 一次最多 1000 个,使用上方格式选项
550e8400-e29b-41d4-a716-446655440000
6ba7b810-9dad-11d1-80b4-00c04fd430c8
f47ac10b-58cc-4372-a567-0e02b2c3d479

UUID版本对比

UUID(Universally Unique Identifier,通用唯一识别码)是128位的标识符标准(RFC 4122,新版RFC 9562),通常表现为32个十六进制字符加4个连字符的形式。GUID是微软对UUID的实现称呼,两者本质相同。不同版本的生成策略差异很大:

为什么数据库主键更推荐v7?v4完全随机,作为MySQL InnoDB聚簇索引主键时会导致页分裂频繁、索引碎片化、写入性能下降;v7前半部分是毫秒级时间戳,天然按时间递增,新数据总是追加到索引末尾,写入更顺滑,且前缀天然可排序、可按时间范围查询。UUID v7已于2024年进入正式标准(RFC 9562),主流语言和数据库正在快速支持。

本工具基于浏览器Web Crypto API(crypto.getRandomValues)生成,随机数质量达到密码学安全级别,全部在本地完成。

版本生成方式有序性适用场景
v1MAC地址+时间戳时间有序可追踪物理设备,有隐私泄露风险,很少使用
v4纯随机数(122位随机位)无序最通用:请求ID、临时令牌、分布式去重
v5命名空间+名称的SHA-1哈希无序同一输入得到相同ID,适合确定性映射
v748位毫秒时间戳+随机数时间有序数据库主键、日志追踪:索引友好、避免热点

常见问题

UUID真的不会重复吗?重复概率有多大?

理论上存在重复可能,但概率小到可以忽略。以v4为例,可用随机位有122个,总组合数约5.3×10^36。如果每秒生成10亿个UUID,连续生成100年,出现至少一次重复的概率仍不足十亿分之一。工程实践中可以直接认为"不会重复"。

v4和v7应该选哪个?

需要作为数据库主键、需要按时间排序、关心写入性能的场景选v7;纯粹的随机标识(请求ID、会话令牌、去重键)选v4即可,生态兼容性最好。注意v7的前48位含毫秒时间戳,如果不希望ID泄露生成时间(例如对外暴露的单号),应避免使用v7或做二次转换。

生成的UUID安全吗?能当密码或密钥用吗?

本工具使用Web Crypto API的密码学安全随机数生成器,UUID本身不可预测,作为标识符是安全的。但不建议直接当密码用:v4 UUID只有122位熵且格式固定,而专用密码生成器可以控制字符集和长度。作为API密钥时,建议配合过期时间和权限控制使用。

大括号、大写这些格式变体分别用在什么场景?

标准形式是小写带连字符(如550e8400-e29b-41d4-a716-446655440000)。大括号包裹({550e8400-...})是微软GUID的传统显示格式,常见于Windows注册表、COM组件;大写形式常见于.NET/一些老系统;去除连字符的32位连续形式常见于数据库CHAR(32)存储、HTML的id属性等。