UUID(Universally Unique Identifier) 是36位的标准唯一标识符,广泛用于数据库、系统接口等场景。ULID(Universally Unique Lexicographically Sortable Identifier) 是一种26位的唯一标识符,其前缀包含时间戳,天然按时间排序,性能更优。将 UUID 转换为 ULID,可以享受更短的存储长度和更好的索引性能。
ULID 仅 26 字符,相比 UUID 节省约 28% 的存储空间,降低数据库开销,尤其在大规模数据场景下效果显著。
ULID 按时间排序,作为数据库主键时可避免 UUID 的随机插入带来的页分裂问题,提升写入性能,特别适合 MySQL InnoDB 等 B+Tree 索引。
ULID 不含连字符,可直接用于 RESTful API 路径、短链接等场景,无需额外编码。
当现有系统使用 UUID 作为主键,但希望优化写入性能时,可将历史数据中的 UUID 转为 ULID,后续新数据直接使用 ULID。
在 ELK 等日志平台中,使用 ULID 作为日志 ID 便于按时间范围查询,而将旧日志的 UUID 统一转换可保持排序一致性。
在 API 版本迭代中,可以将内部标识从 UUID 逐步迁移到 ULID,通过本工具批量转换现有数据。
UUID 与 ULID 共享 128 位二进制数据,转换只是编码格式的变化,因此可以无损互转。
后端将输入的 UUID 解析为 16 字节二进制,再按 ULID 的 Base32 编码规则生成 26 字符的 ULID。
本网站同时提供 ULID 转 UUID 工具,方便在两种格式间来回切换。
在输入框中粘贴或输入一个有效的标准 UUID(格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,大小写均可)。
点击“转换为 ULID”按钮,系统将调用后端 API 返回对应的 ULID。
转换成功后点击“复制 ULID”按钮,即可将结果复制到剪贴板,方便使用。