UUID 產生器
格式选项
生成数量
免費線上 UUID/GUID/ULID/NanoID 產生器,支援 5 種唯一 ID 格式、批次最多 100 條、格式自訂和 UUID 驗證辨識,打開即用適合資料庫主鍵和測試造數。
免費線上 UUID/GUID/ULID/NanoID 產生器,支援 5 種唯一 ID 格式、批次最多 100 條、格式自訂和 UUID 驗證辨識,打開即用適合資料庫主鍵和測試造數。
UUID(Universally Unique Identifier)和 GUID(Globally Unique Identifier)本質上是同一個東西,只是稱呼不同:UUID 是 IETF 標準(RFC 4122)的正式名稱,GUID 是微軟在 Windows 生態系中的習慣叫法。兩者的格式完全一致,都是形如 `550e8400-e29b-41d4-a716-446655440000` 的 128 位元識別碼。本工具產生的標準 UUID 可以直接用於任何需要 GUID 的場景。
UUID v1 基於時間戳記和 MAC 位址產生,按時間有序可追溯,但可能洩漏 MAC 位址;UUID v4 完全基於隨機數產生,是最常用、最安全的選擇,適合絕大多數主鍵和識別場景;UUID v5 是基於命名空間的雜湊版本(SHA-1),相同命名空間+相同名稱始終產生相同 UUID,適合需要確定性輸出的場景。一般開發中預設選 UUID v4 即可。
ULID(26 字元)比 UUID(36 字元含連字號)更短,按時間排序,適合資料庫索引和日誌追蹤;NanoID(預設 21 字元)更短更快,使用 URL 安全字元,URL 和 Cookie 中無需跳脫,體積比 UUID 小 30%。三者碰撞機率都極低,但分散式系統中 ULID 的可排序性更有優勢,NanoID 在前端/URL 場景下更友好。
可以。本工具支援 1 到 100 條批次產生,點擊數量按鈕或拖曳滑桿設定數量後一鍵產生,適合測試造數、批次匯入和腳本準備唯一 ID。產生後支援一鍵複製全部結果,也可匯出為 TXT 文字或 JSON 檔案。
批次產生操作說明可以。切換到「驗證」分頁,輸入任意字串,工具會自動辨識並驗證:標準 UUID(v1/v3/v4/v5)會告知具體版本號,還支援辨識 ULID(26 位元 Crockford Base32 格式)和 NanoID(21 位元 URL 安全字元)格式,開發除錯中快速排查 ID 格式問題非常方便。
完全安全。本工具所有 ID 產生和驗證都在你本機瀏覽器中透過 JavaScript 完成,使用 crypto.getRandomValues() 加密安全隨機數,不會向任何伺服器發送你產生的 ID,也不會記錄產生歷史到雲端。即使斷網也可以正常使用,適合在企業內網和敏感專案中使用。
可以。對於 UUID v1/v4/v5,工具提供兩個開關:「大寫」可切換輸出大小寫,「連字號」可去掉中間的橫槓(適合在 URL、設定檔或某些資料庫中使用無連字號格式)。ULID 和 NanoID 預設無連字號,也支援大小寫切換。
命令列(如 Linux 的 uuidgen、Python 的 uuid 模組)需要開發環境支援,線上工具打開即用,無需安裝任何軟體。此外本工具還整合了 UUID 版本辨識、批次匯出、歷史記錄等加值功能,在跨裝置(如幫非技術同事產生 ID)或臨時需要時更方便。
UUID(Universally Unique Identifier,通用唯一識別碼)是一種 128 位元的識別碼標準,由開放軟體基金會(OSF)標準化,定義在 RFC 4122 中。它的目的是讓分散式系統中的所有元素都能有唯一的識別資訊,而不需要透過中央控制端來做 ID 的指定。
一個標準的 UUID 形如 `550e8400-e29b-41d4-a716-446655440000`,由 32 個十六進位數字組成,以連字號分成 5 段(8-4-4-4-12)。理論上 UUID v4 的碰撞機率約為 1/10^36,即每秒產生 10 億個 UUID,持續約 800 年才會有 50% 機率發生一次碰撞,實際應用中可以認為是唯一的。
UUID 被廣泛應用於資料庫主鍵、分散式追蹤 ID、請求 Request-ID、日誌 Trace-ID、檔案唯一命名、測試資料 ID、工作階段識別等場景,幾乎所有主流程式語言都內建了 UUID 產生函式庫。
| 特性 | UUID v4 | ULID | NanoID |
|---|---|---|---|
| 長度 | 36 字元(含連字號)/ 32 字元(無連字號) | 26 字元 | 預設 21 字元 |
| 字元集 | 十六進位(0-9a-f) | Crockford Base32(32 個字元) | URL 安全(64 個字元) |
| 排序性 | 無序(隨機) | 按時間有序 | 無序(隨機) |
| URL 安全 | 需跳脫(含連字號和字母數字) | 基本安全(大寫字母+數字) | 完全 URL 安全 |
| 產生速度 | 快 | 快 | 比 UUID 快約 60% |
| 碰撞機率 | 1/10^36 | 1/10^36 | 1/10^34(21 位元時) |
| 典型場景 | 資料庫主鍵、通用 ID | 分散式系統、日誌追蹤 | 短鏈 URL、前端識別、Cookie |
| 語言 | 程式碼 |
|---|---|
| JavaScript | crypto.randomUUID() // 現代瀏覽器/Node.js 19+ |
| Python | import uuid; uuid.uuid4() |
| Java | UUID.randomUUID() |
| Go | github.com/google/uuid; uuid.New() |
| Bash/Linux | uuidgen 或 cat /proc/sys/kernel/random/uuid |
現代瀏覽器和 Node.js 14.17+ 內建了 Web Crypto API,可以直接產生 UUID v4,無需第三方函式庫。
// 現代瀏覽器 / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"
// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();使用 Python 標準函式庫 uuid 模組批次產生多個 UUID v4,適合測試資料準備。
import uuid
# 產生單個UUID
uid = uuid.uuid4()
print(uid)
# 批次產生10個
for _ in range(10):
print(uuid.uuid4())
# 產生無連字號的大寫UUID
print(uuid.uuid4().hex.upper())在 Linux/macOS 終端機中快速產生 UUID,適合 shell 腳本中使用。
# Linux uuidgen # macOS uuidgen | tr 'A-Z' 'a-z' # 直接從系統隨機檔案讀取(最原始方式) cat /proc/sys/kernel/random/uuid