UUID生成ツール|v4を一括生成・ハイフンなし/大文字にも対応(無料)
UUID v4(ランダム)をブラウザ上で何個でも一括生成。標準形式のほか、ハイフンなし・大文字・波括弧付き・URN形式にワンクリックで変換してすぐコピーできます。登録不要・完全無料。
UUIDのバージョン一覧
| バージョン | 生成方式 | 説明 |
|---|---|---|
| UUID v1 | タイムスタンプ + MACアドレス | 生成時刻とネットワークカードのMACアドレスから生成。生成元の端末が特定できてしまうためプライバシー上の懸念があり、現在は新規採用が減っている。 |
| UUID v3 | 名前空間 + MD5ハッシュ | 指定した名前空間とキー文字列をMD5でハッシュ化して生成。同じ入力からは常に同じUUIDが得られる(決定論的)。MD5の衝突脆弱性から新規用途にはv5が推奨される。 |
| UUID v4 | 完全ランダム | 暗号論的疑似乱数から生成。生成元の情報を含まずプライバシー上安全で、実装も簡単なため最も広く使われている。本ツールが生成する形式。 |
| UUID v5 | 名前空間 + SHA-1ハッシュ | v3と同じ名前空間方式だがSHA-1を使用。決定論的な生成が必要な場合(同じデータから常に同じIDを再現したい場合)に推奨される。 |
| UUID v6 | 再配置タイムスタンプ + ランダム | 2024年にRFC 9562で標準化。v1のタイムスタンプ構造を並び替え、バイト列の辞書順とタイムスタンプの前後関係を一致させた。データベースのインデックス効率が向上する。 |
| UUID v7 | Unixタイムスタンプ + ランダム | 2024年にRFC 9562で標準化。ミリ秒単位のUnixタイムスタンプを先頭に持つため生成順にソート可能。新規開発ではv4の代替として採用が広がっている。 |
UUID生成とは
UUID(Universally Unique Identifier)は、データベースの主キーやAPIのリクエストID等に使う、世界中で重複しないことを目的とした128ビットの識別子です。中央のサーバーで連番を管理しなくても、それぞれの端末・サーバーが独立して発行するだけで実用上衝突しない点が特徴です。
このツールはWeb Crypto APIを使ってUUID v4(完全ランダム)をブラウザ内で生成します。生成処理はサーバーに送信されず、指定した件数を一括生成し、標準形式・ハイフンなし・大文字・波括弧付き・URN形式にワンクリックで変換してコピーできます。
UUID生成の使い方
- 生成件数を指定する 必要な個数を入力します。テストデータやシードデータ用にまとめて生成したい場合は多めに指定できます。
- 表示形式を選ぶ 標準(小文字・ハイフン区切り)のほか、ハイフンなし・大文字・波括弧付き・URN形式から用途に合う形式を選択します。
- 生成してコピーする 「生成する」を押すと結果が一覧表示されます。「すべてコピー」または個別の「コピー」ボタンでクリップボードに貼り付けられます。
使いこなすためのヒント
- 生成したUUIDはブラウザ内のJavaScript(Web Crypto API)で処理され、toolbase.cc のサーバーには一切送信されません。
- データベースの主キーやAPIのリクエストID等、一意性が必要だが連番にしたくない場合にUUID v4が広く使われます。
- UUID v4は128ビットのうち122ビットがランダムなため、衝突する確率は天文学的に低いです(10億個生成しても衝突確率は約50%に達するには約2.7×10¹⁸個必要)。
- 「ハイフンなし」形式はURLのパスセグメントやファイル名として使う際に便利です。「波括弧付き」形式はWindowsのCOM/レジストリ関連(GUID)で使われる形式と同じです。
- 生成件数を増やしてから「すべてコピー」を使うと、テスト用データやシードデータの一括作成に便利です。
UUID生成が役立つ場面
データベースの主キー設計
連番にしたくない・生成元を推測されたくないテーブルの主キーとして、重複の心配がないUUID v4を割り当てられます。
APIのリクエストID・トレースID
ログ調査やデバッグのために各リクエストへ一意なIDを付与する際、まとめて必要な件数を生成できます。
テスト用データ・シードデータの作成
開発環境の初期データ投入時に、重複しないID列を件数指定で一括生成し、そのままコピーして使えます。
ファイル名・一時トークンの生成
アップロードファイルの一時的な名前や、推測されにくい一時トークンとして「ハイフンなし」形式のUUIDを利用できます。
用語集
- UUID v4
- 暗号論的疑似乱数から生成される、生成元の情報を含まないUUIDです。実装が簡単でプライバシー上安全なため最も広く使われています。
- GUID
- Microsoftが自社実装で使ったUUIDの別名です。UUIDと互換性のある128ビットの識別子を指し、波括弧付き形式で表記されることが多いです。
- Web Crypto API
- ブラウザが標準搭載する暗号関連のJavaScript API群です。本ツールはこのAPIを使ってUUID v4をブラウザ内だけで生成し、サーバーには送信しません。
- URN形式
urn:uuid:という接頭辞を付けたUUIDの表記形式です。XML・RDF等、URN(統一資源名)を要求する仕様の中でUUIDを識別子として埋め込む際に使われます。- UUID v7
- 2024年にRFC 9562で標準化された、先頭にUnixタイムスタンプを持つUUIDです。生成順にソート可能なため、データベースへの挿入効率が求められる新規開発でv4の代替として採用が広がっています。
よくある質問
{xxxxxxxx-xxxx-...} はWindowsのCOM/レジストリでよく使われるGUID表記です。
余談ですが ― なぜ128ビットも使うのか
UUID(Universally Unique Identifier)は1980年代にApollo Computerが分散システム向けに考案し、後にOSF(Open Software Foundation)がDCE(Distributed Computing Environment)の一部として標準化しました。現在の仕様はIETFのRFC 4122(2005年)、そして2024年に拡張版のRFC 9562が公開されています。
128ビットという長さは一見過剰に思えますが、複数のサーバー・端末が互いに一切通信せずにそれぞれ独立してIDを発行しても、実用上衝突しないことを保証するための設計です。中央のID発行サーバーを立てて連番を管理する方式は、そのサーバーが単一障害点になったり、発行のたびに通信が必要になったりするコストが生じます。UUIDはその調整コストをゼロにする代わりに、十分な長さのランダム性で衝突確率を無視できるレベルまで下げています。
一方でUUID v4はランダムであるがゆえに、データベースのB-Tree系インデックスに挿入する際に挿入位置がバラバラになり、ページ分割が頻発してパフォーマンスが劣化するという弱点があります。この問題に対応するため考案されたのが時刻順にソート可能なUUID v7で、先頭にUnixタイムスタンプを持つことでランダム性を保ちながら挿入局所性を確保しています。