ZeroTool Workbench
ULID 生成器
在线生成 ULID(通用唯一字典序可排序标识符),支持单个或批量生成(最多 100 个),显示时间戳和随机部分,内置 ULID 解码器,纯浏览器运行,无需依赖。
使用方法
- 设置批量数量(1–100),决定一次生成多少个 ULID。
- 点击生成创建新 ULID。
- 每行显示完整 ULID、解码后的时间戳(UTC)和随机部分。
- 点击任意行的复制复制该 ULID,或点击复制全部以换行符分隔的格式复制所有 ULID。
- 使用底部的 ULID 解码器粘贴现有 ULID 提取其时间戳。
ULID 结构
01ARZ3NDEKTSV4RRFFQ69G5FAV
├─ 时间戳(10 字符)──┤├── 随机部分(16 字符)──┤
48 位毫秒级时间戳 80 位密码学安全随机数
ULID vs UUID 对比
| 特性 | ULID | UUID v4 |
|---|---|---|
| 长度 | 26 字符 | 36 字符(含连字符) |
| 可排序 | ✓ 是 | ✗ 否 |
| 内嵌时间戳 | ✓ 是 | ✗ 否 |
| URL 安全 | ✓ 是 | ✓ 是 |
| 大小写不敏感 | ✓ 是 | ✓ 是 |
| 随机位数 | 80 位 | 122 位 |
相关工具
- UUID 生成器 — 生成标准 UUID v4 标识符
FAQ
什么是 ULID?
ULID(Universally Unique Lexicographically Sortable Identifier,通用唯一字典序可排序标识符)是一种 128 位标识符,用 26 个 Crockford Base32 字符表示。与 UUID v4 不同,ULID 支持按创建时间字典序排序——前 10 个字符编码 48 位毫秒级时间戳,后 16 个字符为 80 位随机值。
ULID 的结构是什么?
ULID 共 26 个字符:前 10 个字符编码时间戳(48 位,毫秒精度,有效期至 10889 年),后 16 个字符为密码学安全随机数(80 位)。编码使用 Crockford Base32:0-9 加 A-Z 去掉 I、L、O、U 以避免视觉混淆。
ULID 与 UUID 有何不同?
UUID v4 完全随机,无法按创建时间排序。ULID 按字典序即创建时间顺序排列,非常适合数据库主键——顺序插入可减少 B 树碎片,提升范围查询性能。ULID 还是 URL 安全且大小写不敏感的。
ULID 解码器有什么用?
粘贴现有 ULID 即可提取其创建时间戳。在调试时非常有用——无需单独的 created_at 字段,直接从 ID 判断记录创建时间。
工具是纯客户端运行的吗?
是的。ULID 生成使用浏览器的 Web Crypto API(crypto.getRandomValues)保证随机性,使用 Date.now() 获取时间戳,不向服务器发送任何数据。