UUID 生成&検証ツール
暗号学的に安全なランダムの v4 や、並べ替え可能な v7 の UUID を 1 個から 1,000 個まで生成。任意の UUID や GUID を解析し、バージョンや埋め込まれたタイムスタンプを確認できます。
ブラウザ内で動作登録不要アップロードなし
生成された UUID
UUID 生成ツールの使い方
- 完全にランダムな ID には v4、作成時刻順に並ぶ ID には v7 を選びます。
- 必要な数(最大 1,000)を設定し、生成をクリックします。
- 必要に応じて大文字に切り替えたり、ハイフンを取り除いたり、Microsoft 形式の GUID 用に波括弧で囲んだりします。
- 大きく表示された UUID をクリックするとコピーできます。まとめて取得するにはすべてコピー / .txt をダウンロードを使います。
- 任意の UUID を解析欄に貼り付けると、検証してバージョン、バリアント、タイムスタンプを確認できます。
UUID とは?
UUID(Universally Unique Identifier、汎用一意識別子)は、Microsoft のプラットフォームでは GUID と呼ばれる 128 ビットの値で、5 つのグループに分けた 32 桁の 16 進数で書かれます:8-4-4-4-12。形式は、2024 年に RFC 4122 を置き換えた RFC 9562 で定義されています。1 桁(13 桁目の 16 進数)がバージョンを表し、17 桁目の上位ビットがバリアントを表します。
UUID v4 と UUID v7 の違い
| v4 | v7 | |
|---|---|---|
| 内容 | 122 ビットのランダム値 | 48 ビットの Unix ミリ秒タイムスタンプ + 74 ビットのランダム値 |
| 並び順 | ランダム | 時系列順 |
| データベースのインデックス | ランダムな挿入で B-tree インデックスが断片化 | 末尾に追加されるため、インデックスにずっと優しい |
| 作成時刻がわかるか | いいえ | はい |
挿入順が重要なデータベースの主キーやイベント ID には v7 を使いましょう。いつ作成されたかを ID から漏らしてはいけない場合は v4 を使います。このジェネレーターは、同じミリ秒内に大量に生成しても v7 の ID が厳密に増加するよう保ちます。
どのくらい一意なのか?
122 ビットのランダム値があるため、衝突が 1 回起きる確率が 50% に達するまでには、約 270 京個の v4 UUID を生成する必要があります。このページはブラウザの暗号学的に安全な乱数生成器(crypto.getRandomValues)を使い、Math.random() は決して使いません。
コードで UUID を生成する
// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();よくある質問
これらの UUID は本番環境で使っても安全ですか?
はい。Web Crypto API の安全な乱数生成器でローカルに生成され、RFC 9562 に準拠しています。サーバーに送信されたり記録されたりすることはありません。
UUID と GUID の違いは何ですか?
同じものです。GUID は Microsoft での呼び名で、
{3F2504E0-4F89-11D3-9A0C-0305E82C3301} のように大文字で波括弧付きで書かれることが多いです。上のオプションでその形式を生成できます。UUID から作成時刻を取得できますか?
時刻ベースのバージョンに限り可能です。v7 は先頭 48 ビットに Unix ミリ秒を、v1 と v6 は 100 ナノ秒単位のタイムスタンプを格納しています。解析欄に貼り付けると日時が表示されます。v4 には時刻の情報は含まれません。
UUID をデータベースの主キーに使うべきですか?
分散システムや公開 ID には適しています。新しい行がインデックスの末尾に入るよう v4 より v7 を選び、36 文字の文字列ではなく、ネイティブの
uuid 型や 16 バイトのバイナリカラムに格納しましょう。Nil UUID とは何ですか?
すべてゼロの値
00000000-0000-0000-0000-000000000000 で、「UUID なし」を意味するプレースホルダーとして使われます。RFC 9562 では、すべて f の Max UUID も定義されています。