UUID ジェネレーター
小文字または大文字でランダムな UUID v4 文字列を生成 — すべてブラウザ内で完結。
オプション
結果
UUID とは何ですか?
UUID(Universally Unique Identifier、汎用一意識別子)は、RFC 4122 によって標準化された 128 ビットの識別子で、中心的な調整機関がなくても事実上一意であることが保証されます。32 個の十六進数をハイフンで 5 つのブロックに区切って表現し、例えば 550e8400-e29b-41d4-a716-446655440000 のようになります。128 ビットは約 3.4 × 10^38 通りの値を提供するため、独立して生成された 2 つの UUID が衝突する確率は天文学的に小さく、重複を 1 回見るためには数百万年間にわたって毎秒数十億個の UUID を生成し続ける必要があります。
UUID は、分散システム、データベース、API の至る所で基盤となっています。独立したマシンが中央の権威に問い合わせることなく識別子を作成できるため、オフラインファーストアプリ、マルチリージョンデータベース、メッセージキュー、そして調整のラウンドトリップ遅延を許容できないあらゆる場面でグローバル一意キーが必要な状況に最適です。
UUID のバージョン解説
RFC 4122 では複数の UUID バージョンが定義されており、それぞれ異なる一意性の源から生成されます。現在最も広く使われているのはバージョン 4 で、このツールが生成するものです:
- バージョン 1(時刻ベース)。現在のタイムスタンプとマシンの MAC アドレスから構築。シーケンシャルですが、ホストのネットワーク識別情報を漏洩します。
- バージョン 3(名前 + MD5)。決定的:同じ名前空間と名前は常に MD5 ハッシュで同じ UUID を生成します。
- バージョン 4(ランダム)。128 ビットのうち 122 ビットが暗号学的に安全なランダムデータで埋められます。多くの開発者が「UUID」と言うときはこれを指します。
- バージョン 5(名前 + SHA-1)。バージョン 3 と似ていますが MD5 の代わりに SHA-1 を使用。セキュリティが重要な場合は v3 より推奨されます。
- バージョン 7(時刻順、2022 年)。ミリ秒タイムスタンプとランダムビットを組み合わせ、UUID が作成時刻順にソート可能になります — データベースインデックスに有用。
本ジェネレーターはバージョン 4 UUID を生成します。なぜなら、それが最も安全なデフォルトだからです:ネットワークアクセス不要、ホスト情報を漏洩せず、主キーやリクエスト ID、セッショントークンとしてそのまま使えるほどのランダム性を持ちます。
UUID ジェネレーターを使う場面
UUID は非常に多くの実用的な場面で登場します。最も一般的なものは次のとおりです:
- データベースの主キー。自動採番の整数の代わりに UUID を使えば、異なるシャードで作成された行が衝突しません。
- API リクエスト ID。各リクエストに UUID を付けて、クライアントとサーバーがログやサービス間でトランザクションを追跡できるようにします。
- セッションとトークン生成。ランダムな UUID をセッション ID、パスワードリセットトークン、使い捨てリンクとして発行します。
- ファイルとアセットの命名。アップロードされたファイルに UUID ベースの名前を付けて、衝突やパスの推測を防ぎます。
- 分散メッセージング。キューまたはイベントバスのイベントに UUID タグを付け、コンシューマーが確実に重複排除できるようにします。
- テストフィクスチャ。テストデータベースのシードや API レスポンスのモック時に識別子を素早く生成。
中心的な権威に頼らずにグローバル一意のラベルが必要な場所なら、どこでも UUID が標準的な答えです。
UUID と GUID の違い
UUID と GUID は同じ概念の 2 つの呼び名です。GUID(Globally Unique Identifier、グローバル一意識別子)は Microsoft の用語で、Windows COM エコシステムと .NET フレームワークによって普及しました。一方、UUID(Universally Unique Identifier、汎用一意識別子)は IETF が RFC 4122 で使用する名称です。バイナリレイアウトは同一で、128 ビットに同じバージョンフィールドとバリアントフィールドを持ちます。Windows で生成された GUID と Linux で生成された UUID は直接比較でき、同じ文字列形式(32 個の十六進数をハイフンで区切る)に従います。
実質的な違いは表面的なものだけです。Microsoft のツールは GUID を中括弧で囲むことがあり(例:{550e8400-e29b-41d4-a716-446655440000})、大文字を使う場合があります。一方、RFC とほとんどの Unix ツールは括弧なしの小文字を好みます。Microsoft 形式に合わせる必要がある場合は、このジェネレーターを大文字に切り替え、出力を自分で中括弧で囲んでください — 内部のバイト列は完全に同じです。
UUID の生成方法
このツールで UUID を生成するのは 1 秒かからず、すべてブラウザ内で完結します。アップロード不要、登録不要、インストール不要です。次の 3 ステップで行います:
- 個数と大文字・小文字を選択。1 から 10 の中から個数を選び、小文字または大文字の出力を選択します。
- 生成。「生成」をクリックして新しい UUID を作成します。クリックのたびにまったく新しいランダム値が作成されます。
- コピー。「コピー」をクリックして UUID をクリップボードにコピーするか、「クリア」で出力を消去してやり直します。
すべての UUID はあなた自身のデバイス上で JavaScript によりローカルに生成され、ブラウザの暗号学的乱数源を使用するため、識別子がブラウザから外に出ることはありません。これにより本ツールは完全にプライベートで、セッショントークン、リクエスト ID、その他の機密値にも安全に使用できます。
この UUID ジェネレーターは無料ですか?
はい、完全に無料で、登録不要、透かしなし、デバイスのメモリ以外に制限はありません。
生成される UUID は本当にランダムですか?
本ツールは crypto.randomUUID() を優先使用し、フォールバックとして crypto.getRandomValues で 16 バイトの暗号学的に安全な乱数からバージョン 4 UUID を構築するため、セッショントークンや主キーに適しています。
UUID はどこかにアップロードされますか?
いいえ。すべての生成はローカルです。UUID がブラウザから外に出ることはないため、識別子やトークンとして安全に使用できます。
UUID が衝突する確率はどのくらいですか?
バージョン 4 UUID には 2^122 通りの値があります。103 兆個の UUID を生成した後でも、1 回の衝突が起きる確率は約 10 億分の 1 です — 実用上は事実上ゼロです。