UUID生成器:如何在线生成通用唯一标识符
UUID(通用唯一标识符)是一个128位数字,以8-4-4-4-12的模式显示为36个十六进制字符——例如550e8400-e29b-41d4-a716-446655440000。当您的应用程序需要生成不依赖中央机构的标识符时,UUID是首选方案。我们的在线生成器可以一键生成多个版本的UUID——v1(时间戳加MAC地址)、v4(随机)和v7(时间排序)。与自增整数不同(后者会暴露记录数量并在分布式节点间产生冲突),UUID可以在任何服务器、浏览器或设备上独立生成,碰撞概率极低——对于v4版本(拥有2^122个随机位),即使每秒生成10亿个UUID持续85年,也只有50%的概率出现一个重复。这使UUID成为分布式系统、多租户数据库和客户端ID生成的理想选择。我们的工具完全在您的浏览器中运行,使用Web Crypto API实现加密安全的随机数生成——您的数据不会离开您的设备。
UUID生成器
免费 · 无需注册
分步指南
选择您的UUID版本
选择UUID v1(时间戳加MAC地址,适用于需要时间排序的场景)、v4(完全随机,使用最广泛的版本)或v7(时间排序带随机后缀,符合RFC 9562标准,在数据库中因索引友好的顺序排列而日益流行)。每个版本的简要说明解释了各自的权衡,帮助您为您的用例选择正确的版本。
生成一个或多个UUID
点击"生成"立即生成一个UUID。需要更多?设置批量数量可一次生成最多100个UUID——输出显示为项目符号列表、逗号分隔值或JSON数组。每个UUID都使用浏览器crypto.getRandomValues() API的加密安全随机数独立生成。
复制、导出或批量下载
点击任意UUID旁边的复制图标将其复制到剪贴板,或使用"全部复制"进行批量输出。批量生成时,可将结果下载为.txt文件或JSON数组。该工具以标准格式和不带连字符的原始十六进制格式显示UUID,某些数据库偏好后者用于存储。
使用技巧与最佳实践
UUID v4使用122位随机数,提供了5.3 x 10^36种可能的值——约2^122。单个碰撞的概率比地球在未来5秒内被一颗流氓小行星撞击的概率还低。
UUID v7(RFC 9562)是数据库主键的新推荐标准。它在前面6个字节中编码了一个48位的毫秒级时间戳,使其自然可排序——避免了困扰随机UUID v4的B树索引碎片问题。
避免将UUID v4用作MySQL/InnoDB或SQL Server等数据库中的聚集主键:随机性会导致页分裂和B树碎片。可以使用v7,或者将UUID与自增整数主键配对,将UUID作为辅助唯一列。
GUID和UUID是同一个东西。微软称它们为GUID(全局唯一标识符),而IETF标准(RFC 9562)称它们为UUID。它们共享相同的128位结构和格式。
36字符的UUID字符串比8字节的bigint大4倍,比原始16字节二进制表示大2.25倍。对于生产数据库,将UUID存储为BINARY(16)而非CHAR(36),以节省空间并提高索引性能。
ULID(通用唯一字典可排序标识符)是26字符的替代方案,前10个字符编码时间戳,剩余16个字符编码随机数。它使用Crockford's Base32编码,使其URL安全且比UUID更短。当您需要可排序性和人类可读性时,优先选择ULID。我们的工具可与UUID一起生成ULID。
如果您需要保护生成机器的MAC地址隐私,切勿使用UUID v1——v1 UUID的最后48位编码了网卡的MAC地址。对于隐私敏感的应用,请使用v4或v7。
在JavaScript中使用UUID时,crypto.randomUUID()在所有现代浏览器和Node.js 19+中原生支持,它始终生成UUID v4。如需v7,请使用像uuid.js这样的库或支持版本参数的crypto.randomUUID() polyfill。
常见问题解答
UUID优雅地解决了分布式ID问题——128位,无需中央协调,碰撞概率以天文数字计量。无论您选择v4以保护隐私、v7以提高数据库索引性能,还是选择ULID以获得紧凑的可排序性,我们的免费生成器都能按您的项目需求以任何格式和数量生成您需要的内容。现在就开始生成UUID,无需注册。
免费试用此工具 →open_in_new