utilduck
Home · 開発 · UUID生成ツール

UUID生成ツール

ブラウザでUUID v4識別子を即生成します。

リスト
-

UUIDとは?

UUID(汎用一意識別子)は128ビットのラベルで、ハイフンで区切られた5グループの32桁の16進数で表されます(例: 550e8400-e29b-41d4-a716-446655440000)。v4 UUIDはランダムに生成され、同じ値が2度生成される確率は天文学的に低いです。

UUIDは中央機関なしにIDを割り当てる必要がある分散システムで、データベースの主キー・セッショントークン・一意識別子として広く使われます。このツールは暗号的に安全なブラウザ内蔵のcrypto.randomUUID()を使用します。

UUID v4を生成する方法

UUID v4を生成するには、128ビットを暗号学的にランダムな値で埋めた後、標準のUUID形式に合うようバージョンとバリアントを示す特定の6ビットだけを固定します。形式の例: 550e8400-e29b-41d4-a716-446655440000。2番目のハイフンの直後にある「4」は常にバージョン4を示します。

バージョン4のUUIDを生成する手順

  1. 暗号学的に安全な乱数生成器で128ビット(16バイト)のランダムな値を生成します。
  2. 7バイト目の上位4ビットを2進数の0100に固定し、バージョン4であることを示します。これが3番目のグループの最初の文字が常に「4」になる理由です。
  3. 9バイト目の上位2ビットを2進数の10に固定し、標準バリアントであることを示します。これが4番目のグループの最初の文字が常に8, 9, a, bのいずれかになる理由です。
  4. 残りのビットを32桁の16進数として表します。
  5. ハイフンで8-4-4-4-12桁のグループに区切り、最終的なUUID文字列を作ります。

UUID v4の構造

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (xは任意の16進数、yは8・9・a・bのいずれか)
  • 全体の長さ = ハイフン4個を含めて36文字(16進数32桁+ハイフン4個)
  • バージョンニブル = 常に「4」(バージョン4、つまりランダム生成を意味)
  • バリアントニブル = 常に8, 9, a, bのいずれか(RFC標準バリアントを意味)

UUID v4形式の例(説明用 — 実際の生成値は毎回ランダム)

グループ長さ例の値
time_low16進数8桁550e8400
time_mid16進数4桁e29b
バージョン+time_hi16進数4桁(4で始まる)41d4
バリアント+clock_seq16進数4桁(8〜bで始まる)a716
node16進数12桁446655440000

よくある質問

UUID v4同士が衝突する確率はどれくらい低いですか?

UUID v4はランダムなビットが122個(全体128ビットからバージョン・バリアント固定の6ビットを除く)あり、可能な値は約5.3×10^36通りです。毎秒10億個ずつ10億年生成し続けても衝突する確率は無視できるほど小さく、そのため中央での調整なしに事実上一意として扱われます。

UUID v4はなぜどれも同じ位置に4があるのですか?

その桁はランダムではなく、標準によってバージョン4(ランダム生成)を示すよう固定された値です。おかげで追加のメタデータなしでも、どのバージョン・アルゴリズムで生成されたUUIDかをソフトウェアが識別できます。

UUIDとGUIDは同じものですか?

GUID(グローバル一意識別子)は、UUIDとして標準化されたものと同じ128ビットの識別子形式にマイクロソフトが付けた名前です。両者は基本的に同じ構造を指し、実務ではほぼ同じ意味で使われますが、一部のレガシーなマイクロソフトツールでは形式に細かな違いがあります。

UUIDはデータベースの主キーとして適していますか?

複数のサーバーで調整なしに独立してIDを生成する必要があり、単一の自動採番カウンターがボトルネックになるのを避けたい場合、UUID v4はよく適合します。ただし、ランダムなUUIDは整数より大きく、連番IDと違って大量挿入時に一部のデータベースエンジンでインデックスの局所性を損なうことがある点がトレードオフです。

このツールはブラウザ内蔵のcrypto.randomUUID()を使いバージョン4(ランダム)のUUIDのみを生成し、暗号学的に安全です。タイムスタンプベースのv1や名前ベースのハッシュv5など他のバージョンのUUIDは生成しません。

Sources: RFC 9562 - 汎用一意識別子(UUID)

プライバシーと安全性

  • ブラウザ内で計算 — 入力した値はお使いの端末内だけで計算され、utilduckのサーバーへ送信されません。
  • 暗号化された通信 — すべてのページはHTTPSで配信され、通信経路で内容を読み取られません。
  • 第三者へ渡しません — 入力内容は解析・広告サービスへ渡されません。
  • 保存しません — 計算結果をサーバーに保存せず、アカウント登録も不要です。

最終更新: 2026-08-17