ULID在线生成工具

在线生成 ULID(Universally Unique Lexicographically Sortable Identifier),26 位 Crockford Base32 编码,按时间有序、URL 友好,适合替代 UUID 做数据库主键。

工具介绍

ULID是一种兼顾时间排序和随机性的标识符,相比UUID更紧凑、可读性更好。本工具支持批量生成ULID,并可开启单调递增模式。

使用方法

1. 输入需要生成的ULID数量(1-1000之间);2. 可勾选是否启用单调递增模式;3. 点击「生成ULID」按钮即可得到结果;4. 点击「复制结果」可一键复制所有生成的ULID。

生成原理

ULID由两部分组成,共26位字符,使用Crockford Base32编码,全部为大写字母:

启用单调递增模式时,如果同一毫秒生成多个ULID,后一个随机数会比前一个大1,保证同一毫秒内生成的多个ULID依然单调递增。

ULID和UUID有什么区别?

ULID比UUID更紧凑(26位 vs UUIDv4的36位),自带时间信息可按创建时间排序,可读性更好,适合作为分布式系统的标识符。

什么是单调递增模式?

开启单调递增模式后,同一毫秒内生成的多个ULID,随机部分会逐次加1,保证生成顺序依然是单调递增的,适合需要严格排序的场景。

ULID会重复吗?

不同毫秒生成的ULID,时间部分不同,因此不会重复。同一毫秒开启单调递增模式后也不会重复,完全随机模式下理论上有极小概率重复。

ULID可以排序吗?

可以。ULID字符串的字典序和生成时间顺序一致,因此可以直接按字符串排序得到时间排序的结果。