每个 ULID 前 10 个 Crockford Base32 字符会编码毫秒时间戳,后 16 个字符则来自随机值。当同一毫秒内生成多条 ID 时,随机段会递增,因此列表仍可按创建顺序排序。
此页一次最多生成 1,000 组 ULID,并使用避开易混淆字符的字母表。它适合创建可排序测试数据与数据库键,但不是会替正式服务协调 ID 的中央注册系统。
切换“解码”,一行粘贴一笔 ULID,一次最多 1,000 笔。点选一行即可查看前 10 个字符的时间戳与后 16 个字符的随机段。每笔有效值会与前一笔有效值比较,标示相邻重复或输入逆序;无效行保留位置,但不参与顺序比较。下载 JSON 报告可保留解码字段与逐行结果。
关于这个主题的常见疑问与实用解答。
ULID(通用唯一字典序可排序标识符)是一种结合毫秒级时间戳与随机数的唯一标识符,既唯一又可按创建时间排序。
ULID 可按时间排序且使用更紧凑的 Crockford Base32 编码,而 UUID v4 完全随机且使用十六进制。当需要时间排序时 ULID 更为理想。
当需要按时间排序时(如数据库主键或事件日志),建议使用 ULID。当与现有系统的兼容性更重要时,使用 UUID。
不会。ULID 生成与解码都在您的浏览器本地执行。粘贴的 ID 与解码字段不会发送至服务器,JSON 报告也会在本地创建供下载。
选择“解码”,一行粘贴一笔 ULID,一次最多 1,000 笔。点选一行可查看时间戳与随机段。每笔有效 ID 会与前一笔有效 ID 比较,标示相邻重复或逆序;无效行不参与此比较。JSON 报告会包含解码字段、顺序状态与格式错误。
不能。解码会读取编码中的时间戳与随机段、检查格式并比较输入顺序。格式有效不代表已验证来源、真实事件时间或随机段质量。请一行粘贴一个完整 ULID;工具不会从任意 log 文本提取 ID。