UUID 產生器

免費線上 UUID 產生器:UUID v4 與 v7(同一批保證遞增),可複製成逗號、JSON 或 SQL IN 格式,也能檢查 UUID 的版本與 v7 時間。

立即使用UUID 產生器(免費、免註冊)

選 v4 或 v7、按「產生 UUID」就好,可以複製成每行一個、逗號分隔、JSON 陣列或 SQL IN 格式;不登入一次最多 5 個,登入後最多 100 個。下方「檢查 UUID」可以貼一個 UUID,看格式對不對、是第幾版,v7 還能讀出產生時間。全部在瀏覽器裡用安全亂數產生。

UUID 長什麼樣子

UUID 是 128 位元的識別碼,寫成 32 個十六進位字,用連字號分成 8-4-4-4-12 五段。不需要一台中央伺服器發號碼,每台電腦自己產生也幾乎不會重複,所以常用在資料庫主鍵、訂單編號、檔案名稱與分散式系統。

第 13 個字是版本(這裡是 7),第 17 個字是變體(8、9、a、b 是現行標準)

0192f3a0-7b1c-7cde-8f00-123456789abc
              ↑    ↑
             版本 變體

「檢查 UUID」就是讀這兩個位置判斷版本;變體不是 8、9、a、b 的,多半是舊系統產生的,或只是長得像 UUID 的隨機字串。全部是 0 的叫 Nil UUID、全部是 f 的叫 Max UUID,是標準定義的特殊值。

v4 和 v7 怎麼選

兩個版本比較
v4v7
怎麼產生122 位元全部隨機前 48 位元是毫秒時間戳,後面隨機
能不能照時間排序不能可以,字串排序就是時間順序
當資料庫主鍵新資料散落在索引各處,資料量大時寫入較慢新資料集中寫在索引尾端,寫入效率較好
看得出產生時間嗎看不出看得出(精確到毫秒)
適合一般識別碼、不想洩漏時間的場合資料庫主鍵、事件紀錄、需要依時間排序的編號

本工具產生的 v7 有處理同一毫秒內的順序:同一毫秒產生好幾個時,把時間戳後面的 12 位元當計數器往上加(國際標準 RFC 9562 建議的做法之一),所以同一批 UUID 排序後順序不會亂。

會不會重複

v4 有 122 位元是隨機的,組合數大約是 5.3 × 10³⁶。用生日問題估算:就算產生 1 兆個 v4,其中出現任何一組重複的機率大約是十兆分之一。實務上重複幾乎都來自程式錯誤(例如用了不安全的亂數、或把同一個值複製兩次),不是運氣不好。v7 在同一毫秒內靠計數器加上最後 62 位元的隨機值區分,不同電腦同時產生也一樣不用擔心撞號。

本工具用瀏覽器的安全亂數(crypto.getRandomValues)產生,不會把產生的 UUID 送到伺服器。

輸出格式與貼到程式裡

單個 UUID 的寫法
格式樣子常見用途
標準0192f3a0-7b1c-7cde-8f00-123456789abc大多數程式語言與資料庫
大寫0192F3A0-7B1C-7CDE-8F00-123456789ABC部分 Windows 工具、舊系統
無連字號(登入後)0192f3a07b1c7cde8f00123456789abc存成 32 字元欄位、檔名
大括號(登入後){0192f3a0-7b1c-7cde-8f00-123456789abc}.NET、Windows 登錄檔的 GUID 寫法
URN(登入後)urn:uuid:0192f3a0-7b1c-7cde-8f00-123456789abcXML、需要 URI 的規格
  • 逗號分隔:可選加單引號或雙引號,貼進程式的陣列或 CSV。
  • JSON 陣列:直接是 ["…", "…"],貼進設定檔或測試資料。
  • SQL IN (…):產生 ('…', '…'),接在 WHERE id IN 後面查一批資料。

在程式與資料庫裡產生

常見語言內建的寫法

// JavaScript(v4)
crypto.randomUUID()

# Python(v4)
uuid.uuid4()

// C# / .NET(v4)
Guid.NewGuid()

-- PostgreSQL 13 起內建(v4)
SELECT gen_random_uuid();

-- MySQL(注意:這是 v1)
SELECT UUID();

要測試資料、手動建幾筆資料或寫文件範例時,用這個工具複製一批最快;正式系統裡請在程式裡產生。MySQL 的 UUID() 產生的是含時間與主機資訊的 v1,要隨機的 v4 或可排序的 v7 需要另外處理,貼到「檢查 UUID」就能確認手上的是哪一版。

UUID 產生器功能特點

  • UUID v4(隨機)和 v7(時間排序,同一批保證遞增)
  • 標準、大寫格式;登入後可用無連字號、大括號、URN
  • 複製成每行一個、逗號分隔、JSON 陣列或 SQL IN (…),可加引號
  • 檢查 UUID:格式、版本、變體,v7 與 v1 讀出產生時間
  • 批量產生(登入後最多 100 個)
  • 下載成檔案(登入後)
  • 列出這次產生過的 UUID(登入後,關閉頁面即清除)

如何使用UUID 產生器?

  1. 選擇 UUID 版本
  2. 設定格式和數量
  3. 點擊產生
  4. 選擇複製成哪種格式後複製,或貼一個 UUID 到「檢查 UUID」

UUID 產生器常見問題

v4 和 v7 有什麼區別?

v4 完全隨機,v7 前面是毫秒時間戳、可以照時間排序,當資料庫主鍵時新資料會集中寫在索引尾端。本工具產生的同一批 v7 保證遞增。

登入後有什麼額外功能?

登入後一次可產生最多 100 個(不登入最多 5 個),可使用無連字號、大括號、URN 格式,也能下載成檔案。

什麼是 UUID?

UUID(通用唯一識別碼)是一個 128 位元的標識符,格式為 8-4-4-4-12 的十六進位字串。它被設計為在全球範圍內唯一,無需中央協調機構即可生成,廣泛用於資料庫主鍵和分散式系統。

UUID v4 和 v1 有什麼區別?

UUID v1 基於時間戳和 MAC 地址生成,可能洩露設備資訊。UUID v4 完全基於隨機數生成,更適合需要隱私保護的場景。本工具產生 v4 與 v7;貼上 v1 到「檢查 UUID」可以讀出它的產生時間。

UUID 和 GUID 一樣嗎?

一樣的東西,GUID 是微軟的叫法,格式相同。.NET 的 Guid 預設產生隨機的版本 4;需要大括號寫法時,登入後選「{大括號}」格式即可。

UUID v7 會洩漏產生時間嗎?

會。v7 的前 48 位元就是毫秒時間戳,任何人拿到都能讀出產生時間(本工具的「檢查 UUID」就能讀)。如果不想讓人知道資料是何時建立的,例如公開網址裡的編號,請改用 v4。

可以用 UUID 當密碼重設連結或驗證碼嗎?

v4 由安全亂數產生、有 122 位元隨機,當成難以猜測的連結代碼可以;v7 有一部分是時間與計數器,隨機的部分較少,不適合當不能被猜到的權杖。真正的密碼與金鑰請用密碼產生器或專用的金鑰產生方式。