UUID 生成
UUID v4をワンクリックで生成できる無料オンラインツール。最大100個の一括生成・個別コピー・全体コピー対応、暗号学的に安全な乱数(crypto.getRandomValues)を使用。データベース主キー・APIリクエストID・テストデータ生成・分散システムのID採番に最適、ブラウザ完結で外部送信なし。
UUID v4をワンクリックで生成できるオンラインツールです。データベースの主キーやAPIのリクエストID、テストデータの作成など、一意な識別子が必要な開発シーンで手軽に利用できます。
e3e3f01b-6e54-43a9-8848-17498f2a46c7Version 4 (random) · crypto.randomUUID() 使用
// UUID 生成の機能と特徴
UUIDのバージョン比較
UUIDにはv1〜v8の8つのバージョンがあります。v1はタイムスタンプ+MACアドレスベース(情報漏洩リスクあり)、v3/v5はネームスペース+名前のハッシュ、v4は完全ランダム、v6/v7はソート可能なタイムスタンプ順設計、v8は実装定義です。最も広く使われているのはv4で、外部情報に依存せずランダム性のみで一意性を確保します。
衝突確率
UUID v4は122ビットのランダムな値を持ちます。衝突(同じUUIDが2回生成される)確率は、毎秒10億個のUUIDを生成し続けた場合でも、約85年間で50%に達する程度です。実用上は衝突を心配する必要はほぼありません。
データベース設計での使い方
UUIDを主キーとして使用すると、分散システムでもIDの衝突を気にせずレコードを作成できます。ただし、UUIDはランダムなためB-Treeインデックスの効率が低下する場合があります。パフォーマンスが重要な場合は、ULIDやUUID v7(タイムスタンプ順ソート可能)の使用も検討しましょう。
生成方法と安全性
本ツールはブラウザ標準の Web Crypto API(`crypto.getRandomValues` または `crypto.randomUUID`)を使用しています。OS の暗号学的擬似乱数生成器(CSPRNG)から直接ランダム値を取得しており、`Math.random()` ベースの低品質乱数で生成されたUUIDとは違い予測不可能性が保証されます。トークン・セッションID用途にも安全に利用できます。
// UUID 生成に関するよくある質問
- UUIDとは何ですか?
- UUID(Universally Unique Identifier)は128ビットの一意な識別子で、RFC 4122 で標準化されています。「8-4-4-4-12」の16進数フォーマット(例 `550e8400-e29b-41d4-a716-446655440000`)で表記され、データベースの主キー、APIのリクエストID、分散システムのレコード識別、テストデータ生成など、重複のないIDが必要な場面で広く使われます。
- UUID v4とは何ですか?
- UUID v4はランダムに生成されるUUIDで、122ビットがランダム値・6ビットがバージョン/バリアント識別子で構成されます。外部情報(時刻・MAC アドレス等)に依存しないため、生成側の情報が漏れず、最も汎用的に使われています。本ツールは暗号学的に安全な乱数生成器(`crypto.getRandomValues`)を使用するため、衝突の可能性は極めて低くなっています。
- 生成されたUUIDの一意性は保証されますか?
- 理論上は衝突の可能性がゼロではありませんが、UUID v4 の衝突確率は天文学的に低く、毎秒10億個生成しても85年間で50%です。実用上は一意と見なせます。さらなる確実性が必要な場合は、生成側でデータベースのUNIQUE制約 + リトライ処理を組み合わせるのが定石です。
- UUIDとGUIDの違いは何ですか?
- UUIDとGUID(Globally Unique Identifier)は本質的に同じものです。UUIDはRFC 4122で定義された標準的な呼称で、GUIDはMicrosoft が使用する呼称です。形式(8-4-4-4-12 の16進)・バイト数(16バイト/128ビット)は同一で、相互運用可能です。.NETやWindowsプラットフォームでは「GUID」、Linux/macOS や標準仕様の文脈では「UUID」と呼ばれます。
- UUID v7との違いは?
- v7 はタイムスタンプ(48bit ミリ秒)+ ランダム(74bit)で構成され、生成時刻順にソート可能です。DBの B-Treeインデックスへの挿入性能が向上し、ログのソートやページネーションが容易になる利点があります。v4 は完全ランダムなため挿入箇所が分散しインデックス効率が下がります。最近の新規プロジェクトではv7・ULIDを採用するケースが増えています。
- ハイフンを除去した形式も生成できますか?
- 標準形式は `8-4-4-4-12` ですが、システム要件によりハイフンなしの32文字形式(`550e8400e29b41d4a716446655440000`)が必要な場合もあります。本ツールでは生成結果から手動でハイフンを除去できますが、頻繁に使う場合はテキスト置換ツール(`-` を空文字に置換)と組み合わせると便利です。
- 大量に一括生成できますか?
- はい、本ツールでは1回の操作で最大100個まで一括生成できます。テストデータ作成、データベースのシード値生成、複数レコードの事前ID採番などに便利です。全UUIDをまとめてコピーする「全部コピー」と、個別にコピーする「個別コピー」両方に対応しています。
- ブラウザ内で生成する場合の安全性は?
- 本ツールは Web Crypto API(`crypto.getRandomValues` / `crypto.randomUUID`)を使用しており、OS の CSPRNG から直接ランダム値を取得します。`Math.random()` ベースの低品質な乱数で生成されたUUIDと違い、予測不可能性が保証されています。セッションID・APIトークン・1回限りリンク等のセキュリティ用途にも使えます。
- 同じUUIDが何度も生成されることはありますか?
- 暗号学的に安全な乱数生成器を使う限り、現実的な確率では発生しません。例えば1秒間に10億個生成しても、衝突する平均期間は85年です。万が一に備えてシステム側でDBのUNIQUE制約を設定しておくと、衝突発生時のエラーハンドリングができて安心です。
- データはサーバーに送信されますか?
- いいえ、UUIDはすべてブラウザ内で生成・表示します。サーバーへの送信は一切ありません。社内システム用ID・テストデータ・本番DB用IDなどを生成しても情報漏洩リスクなく利用できます。
// UUID 生成の使い方
-
生成数を選択
一度に生成するUUIDの数を指定します(1〜100個)。単発で確認用なら1個、テストデータの事前生成や複数レコードの主キー採番には10〜50個など、用途に合わせて指定してください。
-
UUIDを生成
生成ボタンをクリックすると、指定した数のUUID v4が暗号学的乱数で生成されます。再度クリックすればすべて新しい値に置き換えられます。
-
コピーして利用
個別コピー(行単位)または一括コピー(改行区切りで全行)でクリップボードに保存できます。データベースのINSERT文、APIのテストペイロード、設定ファイルなどにそのまま貼り付けて利用してください。
カテゴリ ユーティリティ