UUID 產生器:如何線上產生通用唯一識別碼
UUID(通用唯一識別碼)是一個 128 位元的數字,以 8-4-4-4-12 的模式顯示為 36 個十六進位字元——例如 550e8400-e29b-41d4-a716-446655440000。當您的應用程式需要在不依賴中央機構的情況下產生識別碼時,UUID 是最佳解決方案。我們的線上產生器可一鍵產生多個版本的 UUID——v1(時間戳記加 MAC 位址)、v4(隨機)與 v7(時間排序)。與遞增整數不同(後者會暴露記錄數量並在分散式節點間發生碰撞),UUID 可以在任何伺服器、瀏覽器或裝置上獨立產生,碰撞機率極低——對於 v4 版本(擁有 2^122 個隨機位元),即使每秒產生 10 億個 UUID 持續 85 年,也只有 50% 的機率出現一個重複。這使得 UUID 成為分散式系統、多租戶資料庫與用戶端 ID 產生的理想選擇。我們的工具完全在您的瀏覽器中執行,使用 Web Crypto API 實作加密安全亂數產生——您的資料不會離開您的裝置。
UUID產生器
免費 · 無需註冊
分步指南
選擇您的 UUID 版本
選擇 UUID v1(時間戳記加 MAC 位址,適用於需要時間排序的場景)、v4(完全隨機,使用最廣泛的版本)或 v7(時間排序帶隨機後綴,符合 RFC 9562 標準,因對索引友善的順序排列而在資料庫中日益普及)。每個版本都有簡要說明其取捨,幫助您針對使用情境選擇正確的版本。
產生一個或多個 UUID
點擊「產生」即可立即產生一個 UUID。需要更多?設定批次數量一次最多可產生 100 個 UUID——輸出顯示為項目符號清單、逗號分隔值或 JSON 陣列。每個 UUID 都是使用瀏覽器的 crypto.getRandomValues() API,以加密安全亂數獨立產生的。
複製、匯出或批次下載
點擊任意 UUID 旁的複製圖示將其複製到剪貼簿,或使用「全部複製」進行批次輸出。批次產生時,可將結果下載為 .txt 檔案或 JSON 陣列。此工具以標準格式與不帶連字號的原始十六進位格式顯示 UUID,某些資料庫偏好後者用於儲存。
使用技巧與最佳實踐
UUID v4 使用 122 個隨機位元,提供 5.3 x 10^36 種可能的值——約 2^122。發生單一碰撞的機率比地球在接下來五秒內被一顆流浪小行星撞擊的機率還低。
UUID v7(RFC 9562)是資料庫主鍵的新推薦標準。它在前 6 個位元組中編碼了一個 48 位元的毫秒級時間戳記,使其自然可排序——避免困擾隨機 UUID v4 的 B 樹索引碎片問題。
避免將 UUID v4 用作 MySQL/InnoDB 或 SQL Server 等資料庫中的叢集主鍵:隨機性會導致頁面分裂與 B 樹碎片。可以改用 v7,或將 UUID 搭配遞增整數主鍵,將 UUID 作為輔助唯一欄位。
GUID 與 UUID 是相同的東西。微軟稱之為 GUID(全域唯一識別碼),而 IETF 標準(RFC 9562)稱之為 UUID。它們共享相同的 128 位元結構與格式。
36 字元的 UUID 字串比 8 位元組的 bigint 大 4 倍,比原始 16 位元組的二進位表示大 2.25 倍。對於生產環境的資料庫,請將 UUID 儲存為 BINARY(16) 而非 CHAR(36),以節省空間並提升索引效能。
ULID(通用唯一字典排序識別碼)是 26 字元的替代方案,前 10 個字元編碼時間戳記,剩餘 16 個字元為隨機數。它使用 Crockford's Base32 編碼,使其 URL 安全且比 UUID 更短。當您需要可排序性與人類可讀性時,優先選擇 ULID。我們的工具可同時產生 ULID 與 UUID。
若您需要保護產生機器 MAC 位址的隱私,切勿使用 UUID v1——v1 UUID 的最後 48 個位元編碼了網路卡的 MAC 位址。對於隱私敏感的應用,請使用 v4 或 v7。
在 JavaScript 中使用 UUID 時,crypto.randomUUID() 在所有現代瀏覽器與 Node.js 19+ 中原生支援,且一律產生 UUID v4。如需 v7,請使用如 uuid.js 的函式庫或支援版本參數的 crypto.randomUUID() polyfill。
常見問題解答
UUID 優雅地解決了分散式 ID 問題——128 位元、無需中央協調、碰撞機率以天文數字衡量。無論您選擇 v4 以保護隱私、v7 以提升資料庫索引效能,或 ULID 以獲得緊湊的可排序性,我們的免費產生器都能以您的專案所需的任何格式與數量精確產生您需要的內容。立即產生您的 UUID,無需帳號。
免費試用此工具 →open_in_new