ULID 產生器與檢查器
產生可排序的 ULID 並解讀時間戳記
選項
每批 1 到 1,000 個。
時間戳記
同一毫秒內的 ULID 逐一加一,因此整批維持排序。
大小寫
輸出
選擇選項後,點選「產生 ULID」。
選擇選項後,點選「產生 ULID」。
隨機部分來自瀏覽器中的 crypto.getRandomValues。ULID 會透露建立時間,切勿將其當作密鑰或存取權杖。 需要 RFC 9562 UUID?開啟 UUID 產生器
什麼是 ULID?
ULID(Universally Unique Lexicographically Sortable Identifier)是以 26 個 Crockford Base32 字元表示的 128 位元識別碼。前 10 個字元編碼以毫秒為單位的 48 位元 Unix 時間戳記,後 16 個字元是 80 位元亂數,因此以一般字串排序即依建立時間排序,且實務上不會衝突。
使用方式
- 1.選擇「產生」,設定需要的 ULID 數量,以及時間戳記使用目前時間或自訂日期時間。
- 2.若整批結果需要在同一毫秒內維持排序,請開啟「單調遞增」。
- 3.點選「產生 ULID」,再逐一複製、全部複製,或以文字、JSON、CSV、SQL 或程式碼形式下載。
- 4.選擇「檢查」,每行貼上一個 ULID,即可驗證並查看其時間戳記。
ULID 還是 UUID?
兩者都是 128 位元識別碼。ULID 的文字較短(26 個字元而非 36 個),依建立時間排序,並使用不含易混淆字母的字母表。隨機的 UUID v4 不會透露建立時間。若資料庫欄位需要 UUID,檢查結果會顯示每個 ULID 的 UUID 形式;UUID v7 是依時間排序的標準替代方案。
驗證規則與限制
有效的 ULID 恰好有 26 個字元,取自 0-9 與 A-Z(不含 I、L、O、U),首字元為 0-7,確保時間戳記不超過 48 位元。輸入不分大小寫,並正規化為大寫;I、L、O 會被拒絕,而不會被當成 1 與 0。產生時使用 crypto.getRandomValues,僅在瀏覽器中執行,不會儲存或傳送任何內容。任何看到 ULID 的人都能讀出時間戳記,因此不要用在必須隱藏建立時間的情境,也不要當作無法猜測的權杖。
