完全無料

UUID / GUID を 生成

ブラウザ上で UUID v4 (GUID) を即座に生成します。無料・プライベート・クライアントサイド — データはサーバーに送信されません。

このツールについて

UUID (Universally Unique Identifier、Microsoft の文脈では GUID とも呼ばれる) は 128 ビットの識別子で、衝突確率が無視できる程度にシステム間で独立して生成できます。標準形式は、ハイフンで区切られた 8-4-4-4-12 グループの 32 個の 16 進数文字です (550e8400-e29b-41d4-a716-446655440000)。異なる生成戦略を持つ複数のバージョンが存在します。 v4 (ランダム) が最も一般的です。

v4 UUID は、122 ビットのランダム性から一意性を導き出します (6 ビットはバージョンとバリアントに固定されています)。衝突の可能性は非常に小さいため、実用的な目的では、調整なしで UUID をグローバルに一意なものとして扱うことができます。2 つのシステムが独立して UUID を生成すると、現実的なタイムスケールにわたって重複が生成されることはありません。

このジェネレーターは、v4 UUID を標準の 16 進数ハイフン形式で生成します。ランダム性はブラウザの暗号的に安全な乱数ジェネレータ (window.crypto.getRandomValues) から得られ、セキュリティを重視する目的に適しています。バルク生成は、テスト フィクスチャへの入力やデータベースのシード処理のためにサポートされています。

UUID を生成する理由

UUID を使用すると、分散システムは中央データベースと連携せずに識別子を生成できます。各サービスは、カウンタとの往復を行わずにローカルで ID を生成でき、結果として得られる ID は、他の場所で生成された ID と衝突しないことが保証されます。これにより、ID 生成がボトルネックにならないスケールアウト アーキテクチャが可能になります。

UUID により、ID が推測不可能になります。連続した数値 ID により、総ユーザー数、アカウントの年齢、サインアップ速度などの情報が漏洩します。 UUID からは何も明らかにされません。ユーザーに ID を公開する API は、セキュリティとシャード バックエンドとの前方互換性の両方の点で UUID の恩恵を受けます。

使い方

「生成」をクリックして、v4 UUID を取得します。

  1. カウントを選択してください: 一度に 1 つの UUID を生成するか、テスト データを埋めるために最大数千の UUID を一括生成します。
  2. 形式を選択してください: ハイフンを含む標準形式 (550e8400-e29b-41d4-a716-446655440000) がデフォルトです。コンパクト (ハイフンなし)、大文字、中括弧で囲まれた {550e8400-...} のバリアントも提供されています。
  3. 生成する: ブラウザの crypto.randomUUID() (または crypto.getRandomValues を使用した v4 フォールバック) は、新しい UUID を生成します。各世代は独立しており、非決定的です。
  4. コピーまたはダウンロード: 単一の UUID をクリップボードにコピーするか、一括リストをテキストまたは CSV としてダウンロードします。

一般的な使用例

技術的な詳細

UUID は 128 ビットで、ハイフンで区切られた 5 つのグループに分かれた 32 桁の 16 進数として表示されます。グループ分け (8-4-4-4-12) は純粋に表面的なものです。値は単一の 128 ビット整数です。 v4 UUID は 122 ビットのランダム性をエンコードし、残りの 6 ビットは固定です。バージョン フィールド (4 ビット、値 4) はバリアントを識別します。

ブラウザのサポート: crypto.randomUUID() は最新のブラウザ (Chrome 92 以降、Firefox 95 以降、Safari 15.4 以降) で利用でき、v4 UUID を直接生成します。古いブラウザは、バージョン/バリアント ビットが正しく設定された crypto.getRandomValues からの 16 ランダム バイトを手動で組み合わせることにフォールバックします。

衝突確率: 2^122 のランダムな UUID が考えられるため、2 つの同一の値が生成される可能性は無視できます。 10^9 の UUID が生成された場合でも、単一の衝突の確率は約 10^-18 であり、地球上の原子をランダムに選択するよりも約 10 兆分の 1 です。

ベストプラクティス

よくある質問

UUIDとは何ですか?
UUID (Universally Unique Identifier) は、関係者間で調整することなく情報を一意に識別するために使用される 128 ビットのラベルです。 v4 UUID は、550e8400-e29b-41d4-a716-446655440000 のようになります。世界中のすべてのシステムにわたって一意であることが事実上保証されています。
2 つの UUID が同じになることはありますか?
理論的には可能ですが、現実的には不可能です。 UUID v4 には 2^122 の可能な値があります (5.3 × 10^36)。 1 回の衝突が 50% の確率で発生するためには、100 年間にわたって 1 秒あたり 10 億の UUID を生成する必要があります。
UUID と自動インクリメント ID を使用する必要があるのはどのような場合ですか?
UUID は、分散システム、オフラインファーストのアプリ、および ID によって情報 (ユーザー数など) が公開されたくない場合に適しています。自動インクリメントは、データベースのインデックス作成において、よりシンプル、よりコンパクト、より高速です。
これらの UUID は暗号的に安全ですか?
このツールは、暗号的に安全な乱数を提供する crypto.getRandomValues() を使用します。 UUID v4 はセッション トークンと識別子に適していますが、高セキュリティ アプリケーションの場合は、専用のトークン ジェネレーターを検討してください。
UUID v5 または v7 についてはどうですか?
v5 は、名前空間内の名前から UUID を決定的に派生します (コンテンツアドレス指定可能な ID に役立ちます)。 v7 (新しい、2022) では、辞書編集上の時間順序付けのためにミリ秒のタイムスタンプが接頭辞として付けられます。このジェネレーターは v4 に焦点を当てています。必要に応じて特定のバージョンを追加できます。
UUID では大文字と小文字が区別されますか?
仕様により、いいえ、大文字と小文字の 16 進数は同等です。ほとんどのジェネレーターはデフォルトで小文字を生成します。比較では大文字と小文字を区別する必要があります。
生成はブラウザ内で行われますか?
はい。 UUID は、ブラウザ暗号化 API を使用してクライアント側で生成されます。
UUID を作成時間で並べ替えることはできますか?
v4 には適用されません。ランダム構造には時間順序がありません。時間でソート可能な UUID の場合は、v7 (またはプライバシーへの影響を受け入れる場合はそれ以前の v1) を使用します。