UUID 生成器

UUID 提供 128 位全局唯一标识,v4 基于随机数、v7 基于时间戳且更适合数据库索引。本工具在浏览器本地生成 UUID,可批量复制用于测试数据、分布式主键或关联 ID。若需要按时间排序的 26 字符标识,可改用 ulid-generator;校验已有 UUID 格式请配合 regex-tester。

阅读完整指南: UUID 与 ULID:分布式 ID 选型与实践 →

隐私提示:本地解析,不上传服务器。

↓ 在下方输入区粘贴内容,结果会立即显示

生成数量
格式

输出结果

UUID 列表

7dc1633d-801b-47e0-a8e6-639164d0b531
75c220e7-243e-4f73-8148-e924e7637b7d
ddb6a15b-10fe-4f21-88f9-fa56b34c6d1a
515d69b7-cd08-4028-821e-0daf14ea9893
0604257d-6a32-4be6-a443-1527b9183236

注释说明

UUID v4 说明

基于密码学安全的随机数生成,适合作为数据库主键、请求 ID、临时文件名等唯一标识。 已生成 5 个。

UUID 提供 128 位全局唯一标识,v4 基于随机数、v7 基于时间戳且更适合数据库索引。本工具在浏览器本地生成 UUID,可批量复制用于测试数据、分布式主键或关联 ID。若需要按时间排序的 26 字符标识,可改用 ulid-generator;校验已有 UUID 格式请配合 regex-tester。

快速开始

  1. 设置数量

    一次最多生成 100 个。

  2. 选择格式

    默认带连字符;可按团队规范切换大小写或 URN。

  3. 生成并复制

    点击生成; 整批复制到剪贴板。

UUID v4 是什么

v4 用随机数填充; 碰撞概率极低; 无需中央协调即可生成。

常见使用场景

PostgreSQL/MySQL 主键、分布式日志 requestId、前端临时 key。

典型工作流

在开发API服务时,我们常需要为每个请求生成唯一标识。打开UUID生成器,选择无连字符格式,批量生成20个ID。将这些ID预存入Redis队列,当新请求到达时直接弹出使用,比实时生成效率更高。

处理用户上传文件时,用UUID替代原始文件名更安全。选择URN格式生成ID,如urn:uuid:xxx,将其作为S3存储路径。这种结构化命名既避免冲突,又方便后期通过统一资源标识符定位文件。

v4 与 v7 选型

UUID v4 纯随机,分布均匀但 B-tree 索引插入随机。v7 含时间戳前缀,按时间大致有序,适合日志与事件 ID。数据库主键选型需权衡索引碎片与可排序性。

RFC 4122 要求 variant 与 version 位正确;无效 UUID 会导致 ORM 或 API 400。生成后用 regex-tester 验证格式,ulid-generator 提供另一种时间排序 ID。

分布式与碰撞

v4 碰撞概率极低(122 位随机),但非零。金融或合规场景若要求全局唯一审计,需中心化发号或 ULID/雪花。本工具适合测试 fixture,非生产发号服务。

批量生成时复制到 spreadsheet 前确认无重复(本工具随机源为 crypto.getRandomValues)。勿将 UUID 当作安全 token——可预测性取决于版本与 entropy。

与 JWT jti 配合

JWT 的 jti 声明可承载 UUID 实现单 token 吊销。jwt-generator 签发时填入 jti,jwt-decoder 解码核对。

API 路径参数中的 UUID 可用 url-parser 确认未被截断;semver 与 UUID 无关但常在同一代码库共存。

测试数据与幂等键工作流

联调支付或下单接口时,用本工具为 Idempotency-Key 或 X-Request-Id 生成新 UUID,每次重试换新键,避免把生产幂等键写进脚本。记录键与响应到事故文档,再用 json-diff 对比「应相同」的两次响应。

批量生成 fixture 时一次复制一列到表格,抽样用 regex-tester 校验版本位。需要时间排序且更短时,评估 ulid-generator 而非强行截断 UUID。

日志关联与隐私

把 UUID 当作请求关联 ID 很方便,但若 UUID 中嵌入可推测的业务含义(旧方案用用户手机号派生)会泄露隐私。坚持随机 v4/v7 或真正的内部映射表。日志外发前仍跑 pii-scanner。

JWT 的 jti 可存放 UUID;签发用 jwt-generator,检查用 jwt-decoder。切勿把 UUID 打印在可公开缓存的 URL 中若它映射到敏感资源且无鉴权。

数据库主键与索引策略提示

随机 UUID v4 作主键会打散 B-Tree 插入顺序,高写入表可能放大页分裂。可选:用雪花/序列作聚簇键,UUID 作业务对外 ID;或评估有序 UUID v7。本工具帮你快速生成样本对比存储体积与可读性,不代替容量规划。

迁移前在预发用真实基数压测:插入吞吐、索引体积、JOIN 成本。日志与追踪 ID 可继续用 UUID,即使主键不是 UUID。

批量生成、去重与碰撞预期

一次生成数百个 fixture 时,粘贴到表格后用去重公式或脚本确认无重复。理论碰撞概率极低,但「复制同一单元格一百次」是人为碰撞主因。需要可排序短 ID 时转向 ulid-generator,而不是手截 UUID。

把生成参数(版本、数量、用途)写进 README,避免同事用在线不明来源生成器混入不可复现的样本。

数据库主键与分布式写入

用 UUID 作主键可避免中心发号,但 B-Tree 随机写入可能导致页分裂。若存储引擎对顺序敏感,评估 UUID v7 或 ULID(时间有序)与业务可读短码的分工:对外暴露短码、内部关联 UUID。批量插入前先在 staging 压测索引膨胀。

迁移旧自增 ID 时,用映射表而不是「哈希手机号当 UUID」。生成样例后用 regex-tester 校验格式,再用本工具批量补齐测试库。

多环境隔离与碰撞幻觉

v4 碰撞在正常规模下可忽略;真正常见的是「人为复制同一 UUID」或「测试 fixture 写死 ID 打进生产」。为每个环境使用不同命名空间或前缀标签(日志字段),而不是截断 UUID。发现重复时先查导入脚本与种子数据。

把「禁止提交生产 UUID 到公共仓库」写进 CODEOWNERS 检查清单;示例改用明显假值(如 00000000-…-0001)。

示例

标准格式

Input

  

Output

550e8400-e29b-41d4-a716-446655440000

FAQ

会重复吗?

理论上可能; 但 v4 空间极大; 实际可视为不会重复。

支持 v1 吗?

当前仅 v4 随机型; 最适合通用唯一 ID。

生成的UUID会重复吗?需要联网吗?

v4 UUID通过强随机数生成,理论重复概率极低(约需生成2^64个ID才可能冲突)。所有计算在浏览器本地完成,无需联网,生成的ID不会上传到任何服务器。

UUID 会重复吗?

v4 理论上可能,实践中可忽略;关键系统用中心化 ID。

v4 和 v7 选哪个?

要时间排序选 v7;纯随机选 v4。

能当 session ID 吗?

可以,但需 HTTPS、足够 entropy,且服务端存储 session 状态。

数据上传吗?

否,本地生成。

可以截断 UUID 变短吗?

不建议。截断显著提高碰撞概率。需要短 ID 请改用 ULID 或服务端发号。

v1 UUID 还能用吗?

v1 含 MAC/时间信息,有隐私与可预测性顾虑。新系统优先 v4 或 v7。

UUID 要不要加花括号或大写?

存储与 API 建议统一小写、无花括号的 8-4-4-4-12。展示层可格式化,但传输层保持一种规范。

可以当密码重置令牌吗?

可以用足够长的随机 UUID,但须单次有效、短 TTL、仅哈希入库,并走安全通道发送。

UUID 能当密码吗?

不建议。熵够但不可记忆,且常被日志记录。密码应用户可控并哈希存储;会话用独立随机 token。

何时选 ULID?

需要更短、可排序、仍随机的 ID 时。对外 API 若已承诺 UUID 格式则不要中途更换。