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を生成する手順
- 暗号学的に安全な乱数生成器で128ビット(16バイト)のランダムな値を生成します。
- 7バイト目の上位4ビットを2進数の0100に固定し、バージョン4であることを示します。これが3番目のグループの最初の文字が常に「4」になる理由です。
- 9バイト目の上位2ビットを2進数の10に固定し、標準バリアントであることを示します。これが4番目のグループの最初の文字が常に8, 9, a, bのいずれかになる理由です。
- 残りのビットを32桁の16進数として表します。
- ハイフンで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_low | 16進数8桁 | 550e8400 |
| time_mid | 16進数4桁 | e29b |
| バージョン+time_hi | 16進数4桁(4で始まる) | 41d4 |
| バリアント+clock_seq | 16進数4桁(8〜bで始まる) | a716 |
| node | 16進数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