UUIDジェネレーター|UUID v4 即時生成

ランダムなUUID v4を即時生成します。一括生成にも対応。

UUIDジェネレーター|UUID v4 即時生成とは

UUIDジェネレーターは、RFC 4122準拠のランダムなUUID v4を即時生成する無料オンラインツールです。データベースの主キー、APIのリクエストID、セッショントークン、ファイル識別子など、重複のないユニークIDが必要なあらゆる場面で活用できます。一度に最大100件のUUIDを一括生成することも可能です。

使い方

  1. 1「生成数」オプションに生成したい件数(1〜100)を入力してください。
  2. 2「UUIDを生成する」ボタンをクリックしてください。
  3. 3指定件数のUUID v4が一覧生成されます。コピーしてご利用ください。

メリット・特徴

  • RFC 4122準拠のUUID v4を暗号論的に安全な乱数で生成
  • 一度に最大100件のUUIDを一括生成可能
  • 生成されたUUIDは重複確率が極めて低くグローバルユニークを保証
  • データベースのID生成・テストデータ作成に即活用できる
01

UUIDとは?その仕組みと重要性

UUID(Universally Unique Identifier)は、中央の管理機関なしにコンピューターシステム内の情報を一意に識別するための128ビットの識別子です。RFC 4122で定義され、ハイフンで区切られた32桁の16進数(8-4-4-4-12形式)で表示されます。「ユニバーサルに一意」という特性から、分散システムでのID生成に広く使われています。

UUID v4の生成の仕組み

バージョン4のUUIDは、暗号論的に安全な乱数生成器を使って128ビットのうち122ビットをランダムデータで埋めます。残り6ビットはバージョン(4)とバリアント(RFC 4122)を示します。衝突確率は約1/5.3×10³⁶で、実用上はゼロとみなせます。

UUIDとGUID — 同じもの?

GUIDはMicrosoftがUUID標準を実装した際の名称です。RFC 4122に準拠しており完全に互換性があります。外見上の違いは、Windowsツールが大文字+波括弧で表示すること({550E8400-...})のみ。.NETやSQL ServerがGUIDを要求する場面でも標準のUUID v4がそのまま使えます。

主な用途

UUIDはデータベースの主キー、REST APIのリソース識別子(/users/550e8400-...)、決済APIの冪等性キー、セッション・認証トークン、オブジェクトストレージのファイル名、モバイルアプリのデバイス識別子などに使われます。中央管理なしにグローバルユニークIDが必要なあらゆる場面に適しています。

02

UUIDのバージョン解説(v1・v3・v4・v5)

UUID標準には5つのバージョンがあり、それぞれ異なる生成方法を持ちます。用途に合ったバージョンを選ぶために違いを理解しましょう。

バージョン1 — タイムスタンプベース

v1は現在のタイムスタンプと生成マシンのMACアドレスを組み合わせます。時間と空間を超えてユニークですが、MACアドレスと生成時刻が埋め込まれるためプライバシー上の懸念があり、現代のWebアプリではほとんど使われません。

バージョン4 — ランダム(最も一般的)

v4は122ビットの暗号論的乱数を使用します。マシン情報やタイムスタンプが含まれないためプライバシーに安全で、最も広くサポートされているバージョンです。多くの開発者が「UUID」と言った場合はv4を指し、本ツールもv4を生成します。

バージョン3・5 — 名前ベース

v3とv5は名前空間UUIDと名前文字列から決定論的にUUIDを生成します。同じ入力から常に同じUUIDが生成されるため、特定URLに対して常に同じIDを割り当てたい場合に便利です。v3はMD5、v5はSHA-1(推奨)を使用します。出力が予測可能なため、セキュリティトークンには不適切です。

03

開発者のためのUUID活用ベストプラクティス

UUIDを本番環境で効果的に使うには、ストレージ・インデックス・言語別APIの理解が必要です。本番導入前に押さえておきたいポイントをまとめます。

データベース格納 — BINARY(16) vs VARCHAR(36)

UUIDはVARCHAR(36)ではなくMySQLではBINARY(16)、PostgreSQLではuuid型で格納してください。BINARY(16)は16バイトで済みますが、VARCHAR(36)はハイフン込みで36バイト以上必要です。インデックスのサイズと検索パフォーマンスが大きく改善します。

各言語でのUUID生成方法

JavaScript/Node.js: crypto.randomUUID()(組み込み)。Python: uuid.uuid4()(標準ライブラリ)。PHP: Ramsey/uuidパッケージ。Go: google/uuidパッケージ。PostgreSQL: gen_random_uuid()。MySQL 8+: UUID()(v1生成)。いずれも外部ライブラリなし、または軽量パッケージで対応できます。

インデックス効率 — UUID v7やULIDも検討を

ランダムなv4 UUIDはB-treeインデックスの断片化を引き起こし、書き込みが多いテーブルでパフォーマンスが低下します。UUID v7(時刻順、ドラフトRFC)やULID(辞書順ソート可能)はv4と同等の一意性を保ちながら時系列に並ぶため、インデックス効率が大幅に改善します。多くのORMやデータベースが対応を進めています。

よくある質問(FAQ)

UUID v4とは何ですか?
UUID(Universally Unique Identifier)のバージョン4は、完全にランダムな128ビットの識別子です。「550e8400-e29b-41d4-a716-446655440000」のような8-4-4-4-12形式で表され、重複する確率が天文学的に低いためグローバルユニークIDとして広く利用されています。
生成されたUUIDはどれくらい一意性がありますか?
UUID v4は122ビットのランダム値から生成されます。1秒に10億個生成しても重複が起こる確率は約50%になるまでに85年かかると言われており、実用上はほぼ一意です。衝突確率は約1/5.3×10³⁶です。
UUIDとGUIDの違いは何ですか?
GUID(Globally Unique Identifier)はMicrosoftがUUID標準を実装した際の呼び名です。RFC 4122に基づく仕様は同一で、実質的に互換性があります。Windowsツールでは大文字+波括弧付き({550E8400-...})で表示されることがある点が外見上の違いです。
どのUUIDバージョンを使うべきですか?
一般用途にはv4(ランダム)が最適です。プライバシーが安全でほぼ全ての環境でサポートされています。データベースのインデックス効率を重視する場合はUUID v7(時刻順)やULIDも検討してください。同じ入力から同じUUIDを生成したい場合はv5(SHA-1ベース)を使います。
JavaScriptでUUIDを生成するには?
ブラウザ・Node.js 14.17以降では標準APIのcrypto.randomUUID()が使えます。ライブラリ不要で即時使用可能です(例: const id = crypto.randomUUID();)。
PythonでUUIDを生成するには?
標準ライブラリのuuidモジュールを使います。import uuid; my_id = uuid.uuid4() で生成し、str(my_id)で文字列に変換できます。外部パッケージは不要です。
UUIDをデータベースの主キーに使えますか?
使えますが注意点があります。分散システムでは中央管理不要のため有効ですが、v4のランダムUUIDはB-treeインデックスの断片化を引き起こします。MySQLではBINARY(16)で格納するとVARCHAR(36)より効率的です。書き込みが多いテーブルではUUID v7やULIDも検討してください。
UUID v1やv5には対応していますか?
本ツールはUUID v4(ランダム)のみ対応しています。v1(タイムスタンプ+MACアドレス)やv5(SHA-1ハッシュ)は非対応です。

不具合や動作がおかしい点を見つけたら教えてください。

不具合報告はこちら →