快速开始
-
设置数量
单次最多 100 个。
-
点击生成
使用 crypto.getRandomValues 填充随机段。
ULID 是 26 字符、 Crockford Base32 编码的标识符,前 48 位为毫秒时间戳、后 80 位为随机数,按字典序近似时间排序且比 UUID v4 更友好于 B-tree 索引。本工具在本地批量生成 ULID,适合日志 trace ID 与分布式事件键。若需 RFC 4122 标准 UUID,请用 uuid-generator。
阅读完整指南: UUID 与 ULID:分布式 ID 选型与实践 →
隐私提示:本地解析,不上传服务器。
↓ 在下方输入区粘贴内容,结果会立即显示
ULID 为 26 字符、时间排序友好的唯一 ID,适合分布式主键。
ULID 前 10 位为毫秒时间戳,字典序大致按时间排序。使用 crypto.getRandomValues 填充随机部分。
ULID 是 26 字符、 Crockford Base32 编码的标识符,前 48 位为毫秒时间戳、后 80 位为随机数,按字典序近似时间排序且比 UUID v4 更友好于 B-tree 索引。本工具在本地批量生成 ULID,适合日志 trace ID 与分布式事件键。若需 RFC 4122 标准 UUID,请用 uuid-generator。
设置数量
单次最多 100 个。
点击生成
使用 crypto.getRandomValues 填充随机段。
需要可读、可排序且比 UUID 更短的 ID 时; 注意同一毫秒内仍可能碰撞,高并发请加唯一约束。
生成 ULID/UUID v7 等可排序唯一 ID,含时间戳前缀,适合分布式主键与日志 trace。
数据库 seed、消息队列 dedup key、前端临时实体 ID、对比 UUID v4 的索引友好性时使用。
ULID 生成器适合需要时间排序 ID 的场景。例如日志系统需要按时间查询记录时,ULID 的前 10 字节是时间戳,后 16 字节是随机数。这种结构让 ID 既保持唯一性,又能按生成时间排序。
在分布式系统中生成主键时,ULID 比 UUID 更合适。传统 UUID 无法按时间排序,而 ULID 的前缀时间戳让你能快速定位近期数据。此工具批量生成 ULID,可直接粘贴到数据库脚本或应用代码中。
26 字符 Crockford Base32:48-bit 毫秒时间 + 80-bit 随机。字典序近似时间排序,利于 DB 索引局部性。
与 UUID v7 类似目标;ULID 更短、Case insensitive。uuid-generator 提供 RFC4122 格式。
日志 trace_id 用 ULID 便于按时间 grep 范围。勿把 ULID 当不可猜测 secret——entropy 低于 crypto random token。
regex-tester 验证 log 中提取的 ULID 格式;token-counter 无关但常同页面 workflow。
同一毫秒内多个 ULID 靠随机 80 bit 区分。系统时钟回拨可能导致排序异常——NTP 同步重要。
批量生成测试数据时注意 DB unique constraint 仍可能因 import duplicate 失败。
Input
1 ULID
Output
26 chars, Crockford Base32
格式不同,不可互换; 数据库需用字符串或 binary(16) 等合适类型。
理论上有重复可能,但概率极低。每秒生成 100 万 ULID 时,约需 140 年才可能有重复。实际使用中,只要不手动修改时间戳或随机数生成器种子,基本无需担心重复问题。
实践唯一;非 cryptographic guarantee。
可以,前 48 bit 是毫秒时间。
ULID 可排序;v4 随机分布。
是。