免费在线 UUID / ULID / NanoID 生成器
在浏览器中即时生成UUID v4、UUID v1、ULID和NanoID — 一次最多100个。完全本地处理,无数据发送至服务器。
什么是 UUID?
UUID(通用唯一标识符)是 RFC 4122 定义的 128 位标签。v4 版本有超过 5 × 10³⁶ 种可能的值,生成两个相同 UUID 的概率极其微小。UUID 使分布式系统无需中央计数器或协调器即可创建唯一标识符——用于数据库行、API 资源、会话令牌等。
UUID v4 vs UUID v1 vs ULID vs NanoID
根据您的使用场景选择合适的标识符:
完全随机。最广泛使用的格式,被所有现代数据库和编程语言原生支持。不含时间信息。使用 crypto.randomUUID() 生成。
编码时间戳以支持时间排序。新系统已不推荐使用——原始规范会暴露 MAC 地址,存在隐私问题。如需可排序性,请使用 ULID。
按创建时间字典序排序——非常适合作为 Prisma、Drizzle 或任何 ORM 的数据库主键。26 个 Crockford Base32 字符,URL 安全,不区分大小写。
仅 21 个字符(UUID 为 36 个),URL 安全字母表(A-Za-z0-9_-)。长度可配置。非常适合 URL 短链、短令牌和生成的标识符。
何时使用各类标识符
选择正确 ID 格式的实用指南:
在 PostgreSQL(uuid 类型)、MySQL(CHAR(36))或任何原生支持 UUID 的数据库中使用 UUID v4 作为主键。所有主流 ORM 均支持。
旧系统需要带内嵌时间戳的 ID 来命名日志文件或对事件排序。新项目请优先选择 ULID。
当您需要按创建时间排序的主键而无需单独的时间戳列时,请使用 ULID。与 Prisma、Drizzle ORM 和 TypeORM 原生兼容。
在 URL 短链、短期令牌以及任何需要紧凑性和 URL 安全性的场景中使用 NanoID。调整长度以平衡碰撞概率和可读性。