ULID 生成器
生成可排序的 26 字符唯一标识符 ULID——自带毫秒时间戳,还能把任意 ULID 反解出创建时间。
由 crypto.getRandomValues 本地生成——48 位时间戳 + 80 位随机数,Crockford Base32 编码,共 26 字符。
该工具完全在你的浏览器中运行,数据不会离开你的设备,不会上传到任何服务器。
使用方法
- 1点击生成得到一批 ULID(或粘贴一个进行解码)。
- 2每个 ULID 都显示内嵌时间戳——它的创建时间,ISO 格式。
- 3单独复制或整批复制,用于测试数据、数据库种子或日志分析。
ULID 生成器
UUIDv4 是纯随机的,带着它的数据库记录排出来一团乱:索引碎片化,按时间查询还得另开一列。ULID(通用唯一可字典排序标识符)把 48 位毫秒时间戳放在最前面,后接 80 位随机数——26 个 Crockford Base32 字符,按普通字符串排序即为时间顺序。
Crockford 字母表(0-9 加 A-Z 去掉 I、L、O、U)避开了手写和转写时最容易认错的字符:没有 I/1 混淆,没有 O/0 混淆。本工具的随机部分用 crypto.getRandomValues,时间部分取自系统时钟,完全符合 ULID 规范。
除了生成,把已有的 ULID 粘贴进来即可解码:内嵌时间戳会被提取并以 ISO 日期显示——日志里的每个 ULID 从此自带创建时间。批量模式一次最多生成 50 个,时间戳取同一瞬间。
常见问题
为什么选 ULID 而不是 UUIDv4?
为了排序。ULID 前 10 个字符编码了创建时间戳,字典序即时间序——主键在索引里聚集、按时间的范围查询直接可用、日志自然排好。UUIDv4 没有这些性质;ULID 同时保持 128 位的抗碰撞性。
Crockford Base32 是什么,为什么不用 hex 或 base64?
Crockford Base32 用 32 个字符(数字加去掉 I、L、O、U 的 A-Z),专为人工转写设计:没有形近的字母数字混淆,且不区分大小写。比 hex 密集 25%;比 base64 少了 +、/ 和 =,放进 URL、文件名、XML 都不需要转义。
同一毫秒生成的两个 ULID 会冲突吗?
实际上不会:80 位随机数在同一毫秒内提供约 1.2 × 10²⁴ 种可能。ULID 规范还定义了单调生成(同毫秒内递增随机部分),本工具的批量模式天然满足——每批内的每个值互不相同。
输出能直接进生产代码吗?
可以。格式化、转义、转换都遵循对应规范(RFC、W3C、JSON Schema),而且全程本地执行,提交前你可以先本地验证结果。
大输入能处理吗?
可以。全部本地运行,几 MB 的 JSON 或超长正则测试只受你机器性能限制,不受请求大小限制。
这个工具免费吗?
完全免费 — 无需注册、没有订阅、无每日限额,输出不带水印。
相关工具
UUID 生成器
一键批量生成随机 UUID v4 标识符——每次 1 到 500 个,使用浏览器密码学安全随机源。免费即时,离线可用。
Token 生成器
在浏览器里生成密码学安全的 API Token、会话 ID 和密钥——crypto.getRandomValues 驱动,支持批量生成,实时显示每个 Token 的熵。
Unix 时间戳转换
Unix 秒/毫秒时间戳与人类可读日期双向转换,实时时钟常驻,本地时区与 UTC 同时输出——全程浏览器本地计算。
JSON 格式化
在线美化凌乱的 JSON——支持 2 空格、4 空格或 Tab 缩进,即时校验并精确报错,全程在浏览器本地完成。
哈希生成器
在浏览器里计算文本或文件的 SHA-1、SHA-256、SHA-384、SHA-512、MD5 哈希。快速完整性校验,文件不上传。
Cron 表达式解释器
把任意 cron 表达式翻译成大白话:逐字段拆解、按你的时区显示接下来 5 次执行时间,常用预设一键填入。
Base64 编码
在线把文本编码为 Base64,完整支持 UTF-8——emoji、重音符号、中日韩文字都不会损坏。免费、私密、数据不出浏览器。
嵌入这个工具
一行代码把工具放到你的网站——它在访客的浏览器里运行。
<iframe src="https://zoyku.com/zh/tools/ulid-generator?embed=1" width="100%" height="640" style="border:0;border-radius:16px" title="Zoyku — ulid-generator" loading="lazy"></iframe>