ULID 生成
批量生成 26 位 ULID(时间戳前缀可排序),支持解码验时。
使用说明
这个工具解决什么问题
设计数据库主键、分布式请求追踪号、事件 ID——UUID v4 无序导致 B 树索引写入放大,自增 ID 又暴露量级且难分布式。ULID 是这两者的折中:时间戳前缀让它按时间有序,80 位随机尾让它全局唯一,26 位纯大写无特殊字符。
核心能力
规范实现:Crockford Base32 字母表(剔除 I/L/O/U 防误读),26 位定长;时间戳 48 位毫秒 + 随机 80 位。
批量生成:1–100 个一次出,大小写可选(小写是生态常见形态,大写是规范原文)。
同毫秒可排:同批生成的 ULID 按字典序即按时间序,主键写入顺序与数据产生顺序一致。
使用建议
给新表选主键前,先在这里生成几条感受形态;PostgreSQL/MySQL 里用 26 字符定长列存即可。本站「UUID 生成器」可作对照;需要时钟回拨等极端场景的强保证时,评估雪花 ID 服务端方案。
常见问题
ULID 比 UUID 好在哪?
两个实用差异:①前 10 字符是毫秒时间戳,按主键索引写入时天然递增,避免 UUID v4 的随机写放大;②纯大写 Crockford Base32,26 位定长,肉眼可读、URL 友好、不带连字符歧义。
会重复吗?
同一毫秒内靠 80 位随机数区分(约 10^24 种),单机碰撞概率可忽略;跨毫秒本身就不可能重复。批量生成的每条都独立取随机,无序列依赖。
怎么验证一个 ULID 的生成时间?
把 ULID 粘进输入框……本页以生成为主;核对时间可用任何支持 ULID 的解析器——前 10 位即 48 位毫秒时间戳。工具内核的解码接口在单元测试里做了往返校验。
相关工具
UUID 生成器
批量生成 UUID v4,支持大写与紧凑格式,加密级随机源。
AES256 加解密
AES-256-GCM 文本加解密,PBKDF2 派生密钥,容器 JSON 输出。
API 密钥生成
Hex/UUID/Base64URL/易读四种风格密钥,前缀与熵估算。