ジェネレーター 🔒 ブラウザ内で動作 — データは送信されません

UUID v4生成

ブラウザーの暗号学的に安全な乱数生成器を使い、バージョン4のランダムなUUIDを1件ずつ、または一括で作成します。

生成したUUID
UUIDを検査

ランダムなUUID v4をオンラインで生成

ふつう「UUID」と言えば、たいていバージョン4のことです。タイムスタンプもマシンのアドレスも名前も含まず、122ビットの乱数だけでできているため、事前の調整なしにどこでも生成できます。ブラウザーでも、スマートフォンでも、1,000台のサーバーで同時にでも構いません。

このページは、バージョン4を選択し、最初のUUIDを生成した状態でUUID生成ツールを開きます。

v4 UUIDの構造

f47ac10b-58cc-4372-a567-0e02b2c3d479を例に取ります。3番目のグループの先頭にある4がバージョンです。4番目のグループの最初の桁(ここではa)は、上位2ビットがバリアントを表すため、必ず8、9、a、bのいずれかになります。それ以外の16進数の桁はすべてランダムです。

重複はどれくらい起こりにくいのか

生成したUUIDの数どれかが重複する確率
10億個(10^9)約1000京分の1
1兆個(10^12)約10兆分の1
270京個(2.7 × 10^18)約50%

この数字は、質の高い乱数源を前提にしています。そのためこのツールは、一意性の保証を想定して設計されていないMath.randomではなく、crypto.getRandomValuesを使っています。

v4とv7のどちらを選ぶか

ランダムなUUIDは新しい行をデータベースのインデックス全体に散らばらせるため、非常に大きなテーブルでは挿入が遅くなることがあります。負荷の高いデータベースでUUIDを主キーにするなら、タイムスタンプで始まり新しい値が順に並ぶUUID v7を検討してください。トークン、相関ID、ファイル名には、今もv4がシンプルな既定の選択です。

コードでv4を生成する

  • JavaScript:crypto.randomUUID()
  • Python:import uuid; uuid.uuid4()
  • Java:UUID.randomUUID()
  • C#:Guid.NewGuid()
  • PostgreSQL 13以降:gen_random_uuid()
  • Linuxのシェル:cat /proc/sys/kernel/random/uuid

プラットフォームでGUIDと呼ばれ、波括弧や大文字が求められる場合は、それらのオプションをオンにしたGUID生成ツールのページを使ってください。

関連ガイド