每個 ULID 前 10 個 Crockford Base32 字元會編碼毫秒時間戳,後 16 個字元則來自隨機值。當同一毫秒內產生多筆 ID 時,隨機段會遞增,因此列表仍可依建立順序排序。
此頁一次最多產生 1,000 組 ULID,並使用避開易混淆字元的字母表。它適合建立可排序測試資料與資料庫鍵,但不是會替正式服務協調 ID 的中央註冊系統。
切換「解碼」,一行貼上一筆 ULID,一次最多 1,000 筆。點選一行即可查看前 10 個字元的時間戳與後 16 個字元的隨機段。每筆有效值會與前一筆有效值比較,標示相鄰重複或輸入逆序;無效列保留位置,但不參與順序比較。下載 JSON 報告可保留解碼欄位與逐行結果。
關於這個主題的常見疑問與實用解答。
ULID(通用唯一字典序可排序識別碼)是一種結合毫秒級時間戳與隨機數的唯一識別碼,既唯一又可依建立時間排序。
ULID 可依時間排序且使用更緊湊的 Crockford Base32 編碼,而 UUID v4 完全隨機且使用十六進位。當需要時間排序時 ULID 更為理想。
當需要依時間排序時(如資料庫主鍵或事件日誌),建議使用 ULID。當與現有系統的相容性更重要時,使用 UUID。
不會。ULID 產生與解碼都在您的瀏覽器本機執行。貼上的 ID 與解碼欄位不會傳送至伺服器,JSON 報告也會在本機建立供下載。
選擇「解碼」,一行貼上一筆 ULID,一次最多 1,000 筆。點選一行可查看時間戳與隨機段。每筆有效 ID 會與前一筆有效 ID 比較,標示相鄰重複或逆序;無效列不參與此比較。JSON 報告會包含解碼欄位、順序狀態與格式錯誤。
不能。解碼會讀取編碼中的時間戳與隨機段、檢查格式並比較輸入順序。格式有效不代表已驗證來源、真實事件時間或隨機段品質。請一行貼上一個完整 ULID;工具不會從任意 log 文字抽取 ID。