在线 UUID 生成器:免费生成 UUID v4 / v7 唯一标识符

工具 次閱讀

什么是 UUID?

UUID(Universally Unique Identifier,通用唯一标识符)是一个 128 位的标识符,格式如下:

550e8400-e29b-41d4-a716-446655440000

UUID 由 32 个十六进制字符和 4 个连字符组成,共 36 个字符。它的设计目标是在不依赖中央授权机构的情况下,生成在全球范围内唯一的标识符。理论上,随机生成 10 亿个 UUID 也极难出现重复。

UUID 的主要用途

  • 数据库主键:替代自增 ID,在分布式系统中避免主键冲突
  • API 资源标识:REST API 中用 UUID 标识用户、订单、文件等资源
  • 会话 Token:生成不可预测的会话 ID,提高安全性
  • 文件命名:给上传文件分配唯一名称,避免覆盖冲突
  • 事务追踪:微服务中用 UUID 追踪跨服务的请求链路

UUID v4 vs UUID v7:有什么区别?

特性UUID v4UUID v7
生成方式完全随机时间戳 + 随机
可排序是(按生成时间)
数据库性能一般(随机插入导致索引碎片)好(有序插入,减少 B-tree 碎片)
包含时间信息是(可提取生成时间)
适用场景简单唯一标识需要排序的数据库主键

建议:新项目优先选择 UUID v7,数据库写入性能更好;老项目兼容 v4 即可。

如何免费生成 UUID

使用 tool.tl 的 UUID 生成器

  1. 访问 tool.tl/uuid-generator
  2. 选择版本:v4(随机)或 v7(有序)
  3. 设置生成数量(支持批量生成)
  4. 点击生成,一键复制结果

所有 UUID 在浏览器本地生成,符合 RFC 4122 规范,可直接用于生产环境。

代码中生成 UUID

实际开发中,通常用语言库生成 UUID:

# Python
import uuid
print(uuid.uuid4())  # v4

# JavaScript / Node.js
import { v4 as uuidv4, v7 as uuidv7 } from 'uuid';
console.log(uuidv4());
console.log(uuidv7());

# Go
import "github.com/google/uuid"
id := uuid.New()

# SQL (PostgreSQL)
SELECT gen_random_uuid();  -- v4

常见问题

UUID 真的全局唯一吗?

理论上,UUID v4 碰撞的概率极低——生成 10 亿个 UUID 才有约 50% 的概率出现一次碰撞。在实际应用中,UUID 可以视为全局唯一。

UUID 和 GUID 有什么区别?

GUID(Globally Unique Identifier)是微软对 UUID 规范的实现,本质上是同一个东西。在 Windows/SQL Server 生态中叫 GUID,在其他系统中叫 UUID。

UUID 作为数据库主键有什么缺点?

UUID v4 是随机的,作为主键会导致数据库 B-tree 索引碎片化,写入性能下降。解决方案是使用 UUID v7(有序)或 ULID。UUID v7 同时具备唯一性和有序性,是目前最推荐的数据库主键方案。