跳到主要内容

ULID 生成

批量生成 26 位 ULID(时间戳前缀可排序),支持解码验时。

本地计算 · 数据不出浏览器
原文
0 字符1 行0 B
生成结果
转换结果会显示在这里
0 字符1 行0 B

使用说明

这个工具解决什么问题

设计数据库主键、分布式请求追踪号、事件 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/易读四种风格密钥,前缀与熵估算。

查看更多编解码,或浏览全部工具。