ULID 生成器(支持 ULID / Crockford Base32 / 单调生成)

关于此工具

本工具用于生成 ULID(Universally Unique Lexicographically Sortable Identifier,通用按字典序排序的唯一标识符)。 ULID 由48 位纪元时间戳(毫秒)80 位随机数组成,并使用 Crockford Base320123456789ABCDEFGHJKMNPQRSTVWXYZ)编码为 26 个字符。 你可以选择时间源(本地 / IANA / 固定偏移)以及使用时间(当前或指定), 预览中显示的 UTC 和本地时间始终与用于生成的时间戳完全一致。 根据规范,ULID 的时间戳是 UTC 毫秒;时区仅影响显示方式。

时间检查

生成与输出

使用方法

  1. 时间检查 中选择 本地 / IANA / 固定偏移(通常保持默认即可)。
  2. 使用时间 中选择 当前时间指定日期时间。若需要指定,请输入 YYYY-MM-DDTHH:MM[:SS[.mmm]],预览和生成都会使用该值。
  3. 设置 生成数量,必要时切换 单调生成,然后点击 生成。结果会按行显示。

补充说明

  • 预览会显示当前 UTC 时间以及所选来源的本地时间。生成时会直接使用预览中的时间戳。
  • IANA 时区在计算偏移时会考虑夏令时(DST),并通过迭代计算稳定结果。
  • 每次点击都会重新初始化随机源,即使同一毫秒和相同设置也能得到全新的序列。

注意事项

  • ULID 的时间戳始终是 UTC 纪元毫秒,时区只影响显示。使用当前时间生成时,切换时区不会改变时间戳位。
  • 仅在选择 指定日期时间 时,输入的墙上时间才会根据所选来源转换为 UTC 并写入时间戳。
  • 单调生成开启:同一毫秒内随机数会递增(Monotonic ULID)。关闭:随机数完全重新洗牌。

什么是 ULID?

ULID 由48 位毫秒时间戳80 位随机数组成,按 ASCII 顺序排列时会按照时间排序。
类似于 UUID v7,它易于按时间排序,而 Crockford Base32 便于在 URL 和文件名中使用(26 个大写字母,为提升可读性排除了 I/L/O/U)。