ULID 生成器
生成可按时间排序的 ULID,适合日志与分布式场景
ID 生成
🔒 100% 本地运行 — 你的数据不会离开当前页面由 Evan 维护•最近更新:2026年9月30日
选项模式
设置
先选数量和大小写,直接生成 ULID;排序性和时间戳解读可在高级模式查看。
ULID Result
Generated ULIDs will appear here
🔒 浏览器内本地处理
页面阅读模式
完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。
工具说明
每批生成 1–50 个 ULID,包含 48 位 Unix 毫秒时间戳和来自浏览器加密随机源的 80 位随机数。支持时间范围为 0–281474976710655 ms。切换大小写只重新格式化已有结果。字典序对应编码时间戳,但本工具不保证同毫秒或时钟回拨时严格递增。仍可能碰撞,不提供唯一性协调,也不用于生成凭据。设置保存在本地,工具不持久保存生成 ID。
生产可用片段
示例
text
00000000000000000000000000 → Unix 毫秒 0
7ZZZZZZZZZZZZZZZZZZZZZZZZZ → 最大 ULID场景配方
01
检查批次而不假定严格顺序
目标:生成日志测试 ID 并核对其编码时间。
- 生成五个 ULID。
- 打开高级模式查看首条时间戳、不同值数量与字典序标记。
- 切换大小写,确认标识符本身没有变化。
结果:时间前缀便于分组,但不能证明实际顺序或唯一性。
失败门诊(高频踩坑)
时钟顺序不等于事件顺序
原因:同毫秒随机数与时钟回拨都可能影响字典序。
修复:需要严格顺序时使用应用排序元数据或合适的协调生成器。
常见问题
ULID 包含哪些字段?
包含 48 位 Unix 毫秒时间与 80 位随机数,以 26 个 Crockford Base32 字符表示。最大值以 7 开头,超范围时间会被拒绝。
一次能生成多少条?
数量必须是 1–50 的整数。小数、空值和越界值会报错,不会静默取整。
ID 严格递增且全局唯一吗?
不保证。同毫秒内受随机部分影响,时钟回拨也可能让后生成的 ID 排在前面;适当使用时碰撞概率低,但并非绝对不会重复。
切换大小写会重新生成吗?
不会,大写和小写表示相同的 ULID,选项只格式化当前结果。
浏览器随机源失败会怎样?
停止生成、清空旧结果并显示错误,不会退回使用 Math.random。
生成结果会上传或保存吗?
生成在本地完成;数量和大小写设置保存在当前浏览器,工具不持久保存生成 ID。清空可删除保存设置。
继续浏览