首页程序设计UUID转ULID

UUID 转 ULID 转换器

将36位标准UUID转换为26位按时间排序的ULID
转换后生成26位ULID,更短且按时间排序

什么是 UUID 和 ULID?为什么需要将 UUID 转为 ULID?

UUID(Universally Unique Identifier) 是36位的标准唯一标识符,广泛用于数据库、系统接口等场景。ULID(Universally Unique Lexicographically Sortable Identifier) 是一种26位的唯一标识符,其前缀包含时间戳,天然按时间排序,性能更优。将 UUID 转换为 ULID,可以享受更短的存储长度和更好的索引性能。

UUID 转 ULID 的性能优势

存储优化

ULID 仅 26 字符,相比 UUID 节省约 28% 的存储空间,降低数据库开销,尤其在大规模数据场景下效果显著。

排序性能

ULID 按时间排序,作为数据库主键时可避免 UUID 的随机插入带来的页分裂问题,提升写入性能,特别适合 MySQL InnoDB 等 B+Tree 索引。

URL 友好

ULID 不含连字符,可直接用于 RESTful API 路径、短链接等场景,无需额外编码。

应用场景:何时使用 UUID 转 ULID?

数据库主键迁移

当现有系统使用 UUID 作为主键,但希望优化写入性能时,可将历史数据中的 UUID 转为 ULID,后续新数据直接使用 ULID。

分布式日志系统

在 ELK 等日志平台中,使用 ULID 作为日志 ID 便于按时间范围查询,而将旧日志的 UUID 统一转换可保持排序一致性。

API 版本升级

在 API 版本迭代中,可以将内部标识从 UUID 逐步迁移到 ULID,通过本工具批量转换现有数据。

转换原理与互转指南

底层数据不变

UUID 与 ULID 共享 128 位二进制数据,转换只是编码格式的变化,因此可以无损互转。

转换流程

后端将输入的 UUID 解析为 16 字节二进制,再按 ULID 的 Base32 编码规则生成 26 字符的 ULID。

双向工具

本网站同时提供 ULID 转 UUID 工具,方便在两种格式间来回切换。

使用指南

输入 UUID

在输入框中粘贴或输入一个有效的标准 UUID(格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,大小写均可)。

一键转换

点击“转换为 ULID”按钮,系统将调用后端 API 返回对应的 ULID。

复制结果

转换成功后点击“复制 ULID”按钮,即可将结果复制到剪贴板,方便使用。

常见问题解答

转换后的 ULID 会与直接生成的 ULID 冲突吗?

不会。ULID 的生成算法保证唯一性,转换只是对已有数据的格式转换,不会引入冲突。

转换后还能还原回原来的 UUID 吗?

可以。由于转换是可逆的,您可以使用我们配套的 ULID 转 UUID 工具还原。ULID转UUIDUUID转ULIDUUID生成器

为什么我的 UUID 无法转换?

请检查是否为标准格式,包括连字符和十六进制字符。