本文へスキップ

UUIDジェネレーター

ランダムなバージョン4のUUID(GUIDとも呼ばれます)を、1つずつでも、最大100個まとめてでも生成できます。ブラウザの暗号学的に安全な乱数生成器を使い、コピーする前に大文字にしたり、ハイフンを取り除いたりできます。無料で、登録は不要です。サーバーには何も送信されません。

UUIDジェネレーターの使い方

  1. 1. 個数を選びます。 1〜100の任意の整数です。初期値は5です。
  2. 2. 生成を押します。 押すたびに新しいリストが表示されます。ボタンを押すまでは何も生成されません。
  3. 3. 形式を選びます。 「大文字」と「ハイフンなし」は、すでにあるリストの表記を変えるだけです。新しい値は生成しません。
  4. 4. コピーします。 各行には個別のコピーボタンがあり、「すべてコピー」を押すと、リスト全体を1行に1つのUUIDとしてコピーできます。

バージョン4のUUIDの構造

UUIDは128ビットの識別子で、16進数の32桁を、ハイフンで区切った5つのグループ(8-4-4-4-12)として書きます。全体で36文字になります。この形式はRFC 9562(2024年)で定義されており、これはRFC 4122に代わるものです。バージョン4はほぼすべてのビットにランダムなデータを使います。固定されているのは6ビットだけです:

部分位置値
バージョン3番目のグループの先頭の数字常に 4
バリアント4番目のグループの先頭の数字8、9、a、bのいずれか
ランダムなビットそれ以外すべて122ビット

ツールのランダム性が生成した例:e1f22e6e-ea3f-42a7-b43d-164b51542675。3番目のグループは4で始まり、4番目のグループはbで始まっており、これはすべてのv4のUUIDに必要な形です。あなたの値は違うものになります。それこそがポイントです。

2つのUUIDが衝突することはあるのか?

122個のランダムなビットがあるため、取り得る値は2122通り、約5.3 × 1036通りです。誕生日の問題による見積もりでは、どれか2つが一致する確率が50%に達するには、約2.7 × 1018個のUUIDが必要です。1秒間に10億個を生成し続けると、約86年かかります。乱数源が確かなものであれば、データベースのキー、リクエストID、ファイル名などの一般的な用途では、衝突は実際上の問題になりません。このツールはブラウザの暗号学的な生成器(crypto.randomUUID、フォールバックとしてcrypto.getRandomValues)を使い、Math.randomは使いません。

どのUUIDバージョンが必要か?

バージョン作られ方一般的な用途
1時刻(グレゴリオ暦)とノード識別子レガシーシステム。いつどこで作られたかが露呈することがあります
3と5名前空間と名前のハッシュ(MD5またはSHA-1)名前から導かれる安定したID
4ランダムなビット汎用の一意なID。このツールが作るもの
7Unixのミリ秒タイムスタンプ、その後にランダムなビット作成時刻順に並ぶデータベースのキー

RFC 9562は、v4のランダム性はデータベースのインデックスで局所性が低いと指摘し、時刻に基づくIDにはバージョン1と6より、バージョン7を推奨しています。テーブルが大きく、挿入が頻繁な場合は、時刻順のv7のほうが適しているかもしれません。このページが生成するのはv4だけです。RFCはまた、可能な場合はUUIDをデータベースに16バイトのバイナリとして保存すべきだとしています。テキストだと36文字必要になるためです。

形式:ハイフン、大文字・小文字、GUID

RFC 9562では、16進数の文字は大文字、小文字、混在のいずれでも使えます。大文字と小文字のどちらで書いても、同じUUIDは同じ識別子です。標準的な表記にはハイフンがあります。ハイフンのない32桁の形式は、多くのデータベースやAPIが受け付ける一般的な表記ですが、使う前に相手側の仕様を確認してください。GUIDはMicrosoftが同じ128ビットの識別子につけた名称です。このページで作ったv4のUUIDは、GUIDが求められる場面ならどこでもそのまま使えます。

よくある質問

UUID v4とは何ですか?
128ビットの汎用一意識別子で、そのうち122ビットがランダムで、6ビットがバージョン(4)とバリアントを示します。たとえば 550e8400-e29b-41d4-a716-446655440000 のように書かれます。
生成した2つのUUIDが衝突することはありますか?
理論上はあり得ますが、実際にはまず起きません。取り得る値は約5.3 × 1036通りあり、どれかが衝突する確率が50%になるには約2.7 × 1018個が必要です。1秒間に10億個作るとして、約86年です。
乱数は暗号学的に安全ですか?
はい。このツールはブラウザの crypto.randomUUID を呼び出します。それがない場合は crypto.getRandomValues を使います。どちらも Math.random ではなく、暗号学的に安全な乱数生成器を使います。
UUIDはサーバーで生成されますか?
いいえ。ブラウザ内で作られ、どこにも送信されず、保存もされません。もう一度生成すると、まったく新しいリストになります。
UUIDとGUIDは同じものですか?
はい。GUIDはMicrosoftが同じ128ビットの識別子につけた用語です。バージョン4のUUIDは、変更せずにGUIDとして使えます。Windowsのツールでは、GUIDが大文字で表示されたり、波括弧で囲まれたりすることがあります。
「大文字」と「ハイフンなし」は何をしますか?
書き方だけを変えます。大文字にすると16進数の文字が大文字になります。RFC 9562はこれを同じUUIDとして扱います。ハイフンなしにすると、32文字の形式になります。受け取り側がその形式を想定している場合にだけ使ってください。
UUIDを秘密の値やパスワードとして使えますか?
いいえ。UUIDは一意であることを目的としたもので、秘密にするためのものではありません。RFC 9562も、UUIDが推測しにくいと想定すべきではなく、セキュリティ上の資格情報として使ってはならないとしています。秘密の値にはパスワードジェネレーターを使ってください。

関連ツール

データ・マークアップ・コードのその他のツール