ZeroTool Workbench

ULID 生成器

在线生成 ULID(通用唯一字典序可排序标识符),支持单个或批量生成(最多 100 个),显示时间戳和随机部分,内置 ULID 解码器,纯浏览器运行,无需依赖。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册

使用方法

  1. 设置批量数量(1–100),决定一次生成多少个 ULID。
  2. 点击生成创建新 ULID。
  3. 每行显示完整 ULID、解码后的时间戳(UTC)和随机部分。
  4. 点击任意行的复制复制该 ULID,或点击复制全部以换行符分隔的格式复制所有 ULID。
  5. 使用底部的 ULID 解码器粘贴现有 ULID 提取其时间戳。

ULID 结构

01ARZ3NDEKTSV4RRFFQ69G5FAV
├─ 时间戳(10 字符)──┤├── 随机部分(16 字符)──┤
 48 位毫秒级时间戳      80 位密码学安全随机数

ULID vs UUID 对比

特性ULIDUUID v4
长度26 字符36 字符(含连字符)
可排序✓ 是✗ 否
内嵌时间戳✓ 是✗ 否
URL 安全✓ 是✓ 是
大小写不敏感✓ 是✓ 是
随机位数80 位122 位

相关工具

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() 获取时间戳,不向服务器发送任何数据。