メインコンテンツへスキップ

UUID生成

v4ランダムUUIDをまとめて生成。大文字・ハイフンなし・波括弧付きに対応。ブラウザ内で生成。

(1〜100)

UUID v4(ランダム)をブラウザ内で生成します。生成された値は外部に送信されません。

このツールの使い方

  1. 生成数(1〜100)を指定する
  2. 必要なら大文字・ハイフンなし・波括弧付きを選ぶ
  3. 「生成する」を押す
  4. 各行をタップして個別コピー、または「全部コピー」でまとめて取得

UUIDとは — 構造を理解する

UUID(Universally Unique Identifier)は、中央の採番サーバーを使わずに、各端末が独立して発行しても衝突しないよう設計された128ビットの識別子です。 Microsoft系では GUID とも呼ばれますが、実体は同じものです。表記は32桁の16進数を 8-4-4-4-12 に区切った形式が標準です。

f47ac10b-58cc-4372-a567-0e02b2c3d479
  • 4 の位置(13桁目)がバージョン番号。v4なら 4、v7なら 7 が入ります。
  • a の位置(17桁目)がバリアントで、通常 8・9・a・b のいずれかになります。
  • ・残りの桁が乱数やタイムスタンプなどの実データです。

v1・v4・v7の違いと使い分け

よく使われるのは完全ランダムのv4ですが、データベースの主キーに使うなら、時刻順に並ぶv7を検討する価値があります。

種類生成元並び順向いている用途
v1時刻+MACアドレスほぼ時刻順レガシー互換。MAC露出に注意
v4乱数(122ビット)ランダム一般的な識別子・APIキー・分散環境
v7Unix時刻+乱数時刻順(昇順)DB主キー。インデックス断片化を抑制

v4はランダムのため、主キーにするとB-Tree系インデックスへの挿入位置がばらつき、断片化やキャッシュ効率の低下を招くことがあります。 近年は時刻が先頭に来る v7 が主キー向きとして標準化(RFC 9562)され、注目されています。

衝突(重複)は本当に起きないのか

v4は122ビットの乱数を持ち、組み合わせは約 5.3×1036 通りあります。 目安として10億個のUUIDを毎秒生成し続けても、50%の確率で1回衝突するまでに約85年かかる計算です。 現実的なアプリケーションでは重複を心配する必要はほぼありませんが、乱数の質が低い環境(安全でない乱数源)では衝突リスクが上がるため、 このツールはブラウザ標準の暗号学的乱数(crypto.randomUUID)を使用しています。

言語・DBでの生成例

JavaScriptcrypto.randomUUID()
Pythonimport uuid; uuid.uuid4()
Javajava.util.UUID.randomUUID()
Gogithub.com/google/uuid → uuid.New()
PostgreSQLgen_random_uuid()
MySQL 8UUID()

使うときの注意点

  • 推測されて困る値には単体で使わない:v4はランダムですが「秘密のトークン」として設計されたものではありません。パスワードリセット等の秘密鍵には専用の乱数トークンを使ってください。
  • URLやログに載る前提で扱う:UUID自体に個人情報は含まれませんが、v1はMACアドレスと時刻を含むため、外部公開する識別子には向きません。
  • DB主キーはv7か、内部連番+外部UUIDの併用を検討:ストレージ効率と分散耐性のバランスを取れます。

関連ツール

広告

関連ツール

一緒によく使われます