唯一标识符生成器

选择标识符的类型和所需数量。同批生成的标识符按生成顺序排序。粘贴 ULID 或 UUID 版本7,即可读出其中包含的时间。

免费 在浏览器中运行 核对于2026年11月10日星期二

类型

ULID 和 UUID 版本7以时间开头,因此可按创建时间排序。Nanoid 是由任意字符集组成的随机字符串。

要生成的标识符个数,从1到50。

粘贴 ULID 或 UUID 版本7。其中包含的时间会显示在标识符下方。

结果

粘贴的标识符中的时间 — 您粘贴的标识符,按 ULID 或 UUID 版本7读取。
生成的标识符

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 在类型中选择标识符的种类,并在数量中设定所需的个数。
  2. 若选择 Nanoid,请设定其长度,以及字符集中的字符。
  3. 从生成的标识符中复制一个标识符。每一行给出该标识符所含的时间;Nanoid 则显示一个破折号。
  4. 将 ULID 或 UUID 版本7粘贴到读取其中的时间中,即可读出其中的时间。

三种标识符

ULID(ulid/spec)为128位:先是48位的 Unix 毫秒时间,然后是80位随机数,写作26个 Crockford base32 字符。UUID 版本7(RFC 9562 第5.7节)同样以48位毫秒时间开头,采用 UUID 的8-4-4-4-12形式。Nanoid 是按您选择的长度和字符集生成的随机字符串,不含时间。

  • ULID:26个字符,例如01ARZ3NDEKTSV4RRFFQ69G5FAV
  • UUID 版本7:36个字符,例如017f22e2-79b0-7cc3-98c4-dc0c0c07398f
  • Nanoid:任意长度、任意字符集,不含时间

同批生成时的顺序

同一批生成的标识符共享同一毫秒。ULID 的随机部分会在上一个标识符的基础上加一,UUID 版本7则使用一个12位计数器,因此这些标识符会按生成的顺序排列(ulid/spec 的单调性一节;RFC 9562 第6.2节)。在同一毫秒之内,Nanoid 不排序:每一个都是重新抽取的。

随机值来自 crypto.getRandomValues,即浏览器自身的随机字节来源。Nanoid 逐个字符抽取且无偏差,会跳过那些会偏向某些字符的字节值。

计算示例:读取 ULID 的时间

粘贴01ARZ3NDEKTSV4RRFFQ69G5FAV(规范中的示例 ULID),结果为:时间为2016年7月30日23:54:10 UTC,即1970年1月1日之后的1,469,922,850,259毫秒。

前十个字符01ARZ3NDEK 包含时间。最后的十六个字符包含80位随机数,因此该标识符可以像普通文本一样按其时间排序。

常见问题

ULID 与 UUID 相同吗?

ULID 与 UUID 一样为128位,但它以26个 Crockford base32 字符书写,并不是 UUID 格式。UUID 版本7是以时间开头的 RFC 9562 格式,本页面两者都能生成。

这些标识符能用作密码或会话令牌吗?

不能。它们的设计目标是唯一且可排序,而不是保密。同批生成的标识符共享时间并逐个递增,因此下一个标识符可以被猜到。若需要保密的值,请使用密码生成器或加密令牌。

什么是 Nanoid 风格的标识符?

由您选择的字符集中抽取、长度由您选择的随机字符串。使用64个 URL 安全字符的21字符标识符,约含126位随机性,这也是本页面采用的默认值。

为什么某一行显示破折号,而不是时间?

Nanoid 从头到尾都是随机的,不含时间,因此没有可读取的内容。只有 ULID 和版本7的 UUID 才包含创建时间。

为什么无法读取某个 UUID 的时间?

只有版本7的 UUID 包含时间。页面会告诉您所粘贴 UUID 的版本,并读取符合 RFC 9562 的版本7 UUID。

我的标识符或粘贴的文本会被发送到什么地方吗?

不会。标识符在您的浏览器中借助 crypto.getRandomValues 生成,粘贴的文本只在此处读取。不会上传或保存任何内容。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。