UUID 產生器

產生符合 RFC 4122 標準的多種版本 UUID(通用唯一識別碼)。密碼學安全,即時產生並支援批次處理。

產生 UUID

選擇 UUID 版本並自訂選項

UUID v4(隨機): 使用密碼學安全亂數產生。最常使用的版本。

產生的 UUID

點擊「產生 UUID」以建立唯一識別碼

分析與驗證 UUID

貼上任何 UUID 以驗證格式,並解碼其版本、變體與內嵌時間戳記

接受大寫、小寫、無連字號、{大括號} 及 urn:uuid: 前綴格式。

常見問題

我可以建立哪些 UUID 版本?

第 1 版(依時間)、第 4 版(隨機)、第 5 版(命名空間與名稱)、第 7 版(時間排序的隨機)以及特殊的 nil UUID,另外還可解析與驗證現有的值。

這些 UUID 具備密碼學安全性嗎?

是的。以隨機為基礎的版本使用密碼學安全的來源,適合用於不可被猜測的識別碼。

可以一次產生多個嗎?

可以。批次模式一鍵即可產生整批 UUID,並可複製或匯出,方便用於腳本和種子資料。

產生的兩個 UUID 有可能碰撞嗎?

實務上不會。隨機 UUID 擁有 122 位元的熵,意外重複的機率微乎其微。

產生的 UUID 使用什麼格式?

每個 UUID 的長度正好是 36 個字元:32 個十六進位數字按照 8-4-4-4-12 的格式分成五段,並以連字號分隔,例如 3f2504e0-4f89-41d3-9a0c-0305e82c3301。輸出為小寫,可直接貼入程式碼、設定檔或資料庫紀錄,無需另行修剪。

可以複製產生的 UUID 或將它們下載為檔案嗎?

可以。點擊任何單一 UUID 即可立即複製,或使用「全部複製」按鈕一次取得整份清單。批次結果也可以下載為純文字檔,每行一個 UUID,方便用於程式碼、試算表或測試資料。

我產生的 UUID 會被儲存或傳送到任何地方嗎?

產生過程完全在您的瀏覽器中進行,使用您裝置本身的隨機來源,因此不會傳送任何識別碼或輸入內容到伺服器。頁面載入完成後,您可以在離線狀態下繼續產生,每個 UUID 都會保密在您自己的電腦上。

可以將這些 UUID 用作資料庫主鍵嗎?

可以。UUID v4 可作為 PostgreSQL、MySQL、MongoDB 及大多數 ORM 的主鍵,因為其值在各系統間都是唯一的。對於非常大的資料表,建議改用 UUID v7:其按時間排序的數字可減少 B-tree 索引碎片化,並加快批次插入速度。

認識 UUID 版本

為您的特定用途選擇合適的 UUID 版本

v1

UUID v1(時間型)

根據目前的時間戳記與 MAC 位址產生。可確保跨空間與時間的唯一性。

適用於:分散式系統、資料庫鍵值
v4

UUID v4(隨機)

使用密碼學安全亂數產生。最常使用的版本。

適用於:一般用途、對安全性敏感的應用程式
v5

UUID v5(名稱型)

使用 SHA-1 雜湊從命名空間與名稱產生。相同的輸入會產生一致的 UUID。

適用於:一致的網址、以命名空間為基礎的識別碼
v7

UUID v7(時間排序)

以毫秒精確度的 Unix 時間戳記產生。可依建立時間排序。

適用於:資料庫索引、時間序列資料

UUID 格式(RFC 4122)

UUID 為 128 位元,以 32 個十六進位數字寫成五組 — 8-4-4-4-12 — 並以連字號分隔

550e8400
-
e29b
-
41d4
-
a716
-
446655440000

五個區段

time_low
8 hex · 時間戳記的低 32 位元(v1)或隨機資料
time_mid
4 hex · 時間戳記的中間 16 位元
time_hi_and_version
4 hex · 版本 4 位元(nibble)+ 時間戳記的高 12 位元
clock_seq
4 hex · 變體位元 + 時鐘序列
node
12 hex · 48 位元節點 ID(v1 中為 MAC 位址)或隨機資料

v4 碰撞機率

隨機 v4 UUID 含 122 個隨機位元——約有 5.3 × 10³⁶ 種可能的值:

已產生的 UUID 碰撞機率
10³~10⁻⁵⁴
10⁶~10⁻³¹
10⁹~10⁻¹⁰
2.7 × 10¹⁸50%

開發者常遇到的邊界案例

這些格式都會出現在實際系統中——驗證前請先了解

{550e8400-e29b-41d4-a716-446655440000}

某些系統(Microsoft COM、.NET 的 ToString("B"))會用大括號包住 UUID。驗證前請先去除。

urn:uuid:550e8400-e29b-41d4-a716-446655440000

URN 格式在 RDF 和 XML 文件中有效。解析前請先去除 urn:uuid: 前綴。

550E8400-E29B-41D4-A716-446655440000

十六進位不分大小寫。PostgreSQL 預設為小寫,SQL Server 預設為大寫——比較前請先統一格式。

550e8400e29b41d4a716446655440000

不含連字號的 32 字元格式常見於 API 和資料庫。顯示時請依 8-4-4-4-12 重新插入連字號。

00000000-0000-0000-0000-000000000000

Nil UUID 很特別:全為零,但仍有 36 個字元。通常代表「無值」——在商業邏輯中請將它視為 null。

v7: 01890d8f-5ce0-7a5b-9a4a-a4fa5f5e6a72

UUID v7 內嵌 Unix 毫秒時間戳——排序 v7 欄位時,資料列會依建立順序排列。

技術規格

我們的 UUID 產生器採用業界標準演算法與安全實務

安全特色

  • 符合 RFC 4122 的產生方式
  • 密碼學安全的隨機性(Web Crypto API)
  • 僅在用戶端產生
  • 實務上幾乎不會碰撞的唯一性

自訂選項

  • 多種 UUID 版本(v1、v4、v5、v7、Nil)
  • 批次產生(最多 100 個)
  • 大寫與無連字號格式
  • 即時複製與下載

參考資料與資源