ULID 生成器(支持 ULID / Crockford Base32 / 单调生成)
关于此工具
本工具用于生成 ULID(Universally Unique Lexicographically Sortable Identifier,通用按字典序排序的唯一标识符)。
ULID 由48 位纪元时间戳(毫秒)和80 位随机数组成,并使用 Crockford Base32(0123456789ABCDEFGHJKMNPQRSTVWXYZ
)编码为 26 个字符。
你可以选择时间源(本地 / IANA / 固定偏移)以及使用时间(当前或指定),
预览中显示的 UTC 和本地时间始终与用于生成的时间戳完全一致。
根据规范,ULID 的时间戳是 UTC 毫秒;时区仅影响显示方式。
时间检查
生成与输出
使用方法
- 在 时间检查 中选择 本地 / IANA / 固定偏移(通常保持默认即可)。
- 在 使用时间 中选择 当前时间 或 指定日期时间。若需要指定,请输入
YYYY-MM-DDTHH:MM[:SS[.mmm]]
,预览和生成都会使用该值。 - 设置 生成数量,必要时切换 单调生成,然后点击 生成。结果会按行显示。
补充说明
- 预览会显示当前 UTC 时间以及所选来源的本地时间。生成时会直接使用预览中的时间戳。
- IANA 时区在计算偏移时会考虑夏令时(DST),并通过迭代计算稳定结果。
- 每次点击都会重新初始化随机源,即使同一毫秒和相同设置也能得到全新的序列。
注意事项
- ULID 的时间戳始终是 UTC 纪元毫秒,时区只影响显示。使用当前时间生成时,切换时区不会改变时间戳位。
- 仅在选择 指定日期时间 时,输入的墙上时间才会根据所选来源转换为 UTC 并写入时间戳。
- 单调生成开启:同一毫秒内随机数会递增(Monotonic ULID)。关闭:随机数完全重新洗牌。
什么是 ULID?
ULID 由48 位毫秒时间戳和80 位随机数组成,按 ASCII 顺序排列时会按照时间排序。
类似于 UUID v7,它易于按时间排序,而 Crockford Base32 便于在 URL 和文件名中使用(26 个大写字母,为提升可读性排除了 I/L/O/U
)。