跳到正文
馬克工具箱

ULID 產生器

批次生成 ULID(通用唯一的字典序可排序辨識符號),適合做資料庫主鍵、日誌和訊息 ID。也可以貼上一個 ULID,檢視它的建立時間。隨機部分來自瀏覽器的安全隨機數。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

26 個字元,按時間有序,使用 URL 安全的 Crockford Base32。

生成約 1558.9億 個 ID 後,出現任意一次碰撞的機率才達到 1%。

解析 ID

使用步驟

  1. 選擇數量,頁面會立即生成一批 ULID;點「生成」換一批。
  2. 需要小寫時,取消「大寫」。
  3. 複製列表或下載為文字檔案。
  4. 要檢視某個 ULID 的時間,把它貼上到「解析 ID」裡。

引數說明

結構
前 10 個字元是 48 位毫秒級 Unix 時間戳記,後 16 個字元是 80 位隨機數,共 26 個字元。
字元集
Crockford Base32,去掉了容易混淆的 I、L、O、U,URL 安全,解析時不區分大小寫。
大寫
規範推薦大寫輸出;小寫也是合法的 ULID。

示例

01ARZ3NDEKTSV4RRFFQ69G5FAV

前 10 位 01ARZ3NDEK 是時間戳記(2016-07-30 23:54:10.259 UTC),後 16 位是隨機數。

常見問題

ULID 和 UUID 有什麼區別?

ULID 同樣是 128 位,但以時間戳記開頭,按字串排序就是按建立時間排序;寫成 26 個字元,比 UUID 的 36 個字元更短,也不含連字元。需要標準 UUID 格式時,可以用 UUID v7,它同樣按時間排序。

同一毫秒內生成的 ULID 會按順序排列嗎?

這裡生成的 ULID 在同一毫秒內隨機部分各自獨立,彼此之間的先後順序是隨機的;不同毫秒之間按時間排序。

會重複嗎?

只有同一毫秒內生成的 ULID 才可能重複,而 80 位隨機數要在同一毫秒內生成約 1.56 × 10¹¹ 個,才有 1% 的機率出現重複。

能從 ULID 看出建立時間嗎?

能,精確到毫秒。如果建立時間屬於敏感資訊,對外暴露的 ID 請用完全隨機的 UUID v4 或 Nano ID。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具