UUID 生成器

生成 UUID 和随机 ID

10

工具说明

关于 UUID 生成器

UUID v4 Generator 用来生成随机的 128 位标识符,适合请求 ID、数据库主键、测试数据和链路追踪 ID。

工具支持批量生成、大小写切换、去除连字符,也提供适合按时间排序的 UUID v7。

如何使用 UUID v4 Generator

  1. 选择 UUID v4 生成随机 ID;需要按创建时间排序时选择 UUID v7。
  2. 设置数量后生成批量 ID,可用于 mock 数据、测试夹具或手工联调。
  3. 只有旧系统要求时才开启大写;Web 和 JSON 场景通常使用小写。
  4. 仅在字段或协议要求紧凑格式时去除连字符。

常见使用场景

  • 为 API 请求生成 correlation ID,方便串联多服务日志。
  • 生成测试记录 ID,不依赖数据库自增序列。
  • 为 mock JSON、OpenAPI 示例或前端 fixture 准备占位 ID。
  • 事件表或审计记录需要大致按时间排序时使用 UUID v7。

UUID 格式与实用细节

标准 UUID 包含连字符共 36 个字符,通常按 8-4-4-4-12 的十六进制分组展示。UUID v4 是随机型,UUID v7 则把时间戳和随机字节结合起来。

  • UUID v4: 随机标识符,适合大多数应用 ID 和请求 ID。
  • UUID v7: 时间有序标识符,适合数据库索引受插入顺序影响的场景。
  • 无连字符格式: 仍是同一个 128 位值,只是去掉分隔符。
  • 大小写: UUID 是十六进制表示,正常比较时大小写代表同一个值。

UUID 生成常见问题

UUID v4 真的唯一吗?
它是概率唯一。使用安全随机源时,碰撞概率极低,足以满足常见应用 ID 场景。
什么时候用 UUID v7 而不是 v4?
当 ID 需要大致按创建时间排序时使用 UUID v7,例如日志、事件或数据库索引。
UUID 应该大写还是小写?
小写是 Web 和 JSON 中更常见的写法;大写主要用于旧系统或文档格式要求。
可以去掉连字符吗?
可以,值等价。但除非存储字段或 API 契约要求紧凑 ID,否则建议保留标准连字符格式。
生成的 UUID 会上传到服务器吗?
不会。生成和格式化都在浏览器本地完成,不会上传到 wetool.site。

UUID 与自增 ID 的区别

自增 ID 短且易读,但依赖中心数据库序列。UUID 更长,却适合客户端、队列和分布式服务先创建记录再入库的流程。

什么时候适合用 UUID v4

UUID v4 适合需要离线生成、跨系统合并或不想暴露递增 ID 的场景,但它不是所有 ID 的默认答案。

  • 客户端临时 ID、分布式任务 ID、测试 fixture 和公开分享链接适合用随机 UUID。
  • 数据库主键如果非常在意索引局部性,需评估 UUID v7、ULID 或数据库自增 ID。
  • 不要把 UUID 当成权限凭证;可猜难度高不等于有访问控制。

碰撞概率与随机数来源

v4 UUID 的安全性来自高质量随机数。浏览器应使用 Web Crypto 级别随机源,而不是 Math.random()。

  • 标准 v4 UUID 约有 122 位随机空间,正常业务量下碰撞概率极低。
  • 批量生成后仍可用去重检查发现复制粘贴或脚本复用错误。
  • 如果 ID 需要按时间排序或做日志追踪,UUID v4 不包含时间信息,需另存 created_at 或选择时间有序 ID。