UUID生成
UUID v4(ランダム)とv7(タイムスタンプ)を瞬時に生成。
crypto.randomUUID() — cryptographically secure random values. UUID v4 has 122 bits of randomness; collision probability is negligible.UUIDの用途
UUIDのバージョン
UUIDは、中央のコーディネーターなしに分散システム全体で一意の識別子を生成する問題を解決します。自動インクリメントのデータベースIDと異なり、UUIDは任意のクライアントでオフラインでも、衝突リスクなしに生成できます。
UUIDにはいくつかのバージョンがあります。v1はタイムスタンプとMACアドレスを含みます。v3とv5は名前空間ベース(入力から決定論的)です。v4は完全にランダムで最もよく使われます。v7(新しい)は時間順かつランダムで、データベースのインデックスパフォーマンスに有用です。
このGeneratorはcrypto.randomUUID()(ブラウザのネイティブCSPRNGベース実装)を使ってv4 UUIDを生成します。
バックエンド開発者は、自動インクリメントIDを生成するためにデータベースを起動せずに開発中のデータベースシードにテスト用UUIDを生成します。QAエンジニアは、テスト実行間で安定した一意の識別子が必要なテストフィクスチャ用のUUIDを作成します。マルチテナントSaaSシステムを設計するアーキテクトは、列挙攻撃を防ぐために自動インクリメントIDの代わりにUUIDを使います(IDが連番だと悪意ある者がすべてのレコードを反復できますが、UUIDはこれを事実上不可能にします)。データエンジニアは、ホットパーティションを避けるために分散データベース(Cassandra、DynamoDB)のパーティションキーとしてUUID v4を使います。
UUID v4は完全にランダムで一意性には優れていますが、ランダムな挿入がB木のページ分割を引き起こすためデータベースのインデックスパフォーマンスには不向きです。UUID v7(RFC 9562)はUUIDの先頭にミリ秒タイムスタンプを付加し、時間でソート可能にしてデータベースへの順次挿入を大幅に改善します。2025年に新システムを構築していてデータベースがUUID v7をネイティブサポートしている場合(PostgreSQL 17+、MySQL 8.0.35+)、主キーにはv7を推奨します。レガシーシステム・APIトークン・データベース以外のユースケースではv4が依然として標準です。
一括モードを使って最大50個のUUIDを一度に生成できます。「すべてコピー」ボタンで改行区切りのリストとしてコピーでき、SQL INSERTスクリプト・シードファイル・スプレッドシートにそのまま貼り付けられます。データベースがUUIDを32文字の文字列として保存する場合(MySQLのCHAR(32)カラム型でよくある)はハイフンオプションをオフにしてください。システムが大文字の16進数を期待する場合(一部の古いOracleやSQL Serverのスキーマ)は大文字をトグルしてください。
- データベースの主キー — 特に分散システムやマルチテナントシステム
- APIキーとトークン — 一意の参照のベースとして
- ファイル名 — マルチユーザーのアップロードでの競合を防ぐ
- セッションIDと相関ID — リクエストのトレーシング用
- フロントエンドで生成したID — サーバー確認前の楽観的UI更新用
よくある質問
- What is a UUID?
- UUID (Universally Unique Identifier) is a 128-bit label used to uniquely identify objects in computer systems. The standard format is 8-4-4-4-12 hexadecimal digits separated by hyphens, e.g. 550e8400-e29b-41d4-a716-446655440000.
- What is UUID v4?
- UUID v4 is randomly generated — 122 bits of randomness with a small portion reserved for version and variant bits. It requires no coordination between systems, making it ideal for distributed databases, frontend IDs, and API keys.
- Are these UUIDs truly unique?
- The probability of generating two identical v4 UUIDs is astronomically small — roughly 1 in 5.3 × 10^36. For practical purposes in any application, they are effectively guaranteed unique.
- Is crypto.randomUUID() safe to use?
- Yes. crypto.randomUUID() uses the browser's cryptographically secure pseudorandom number generator (CSPRNG), the same source used for cryptographic operations. It is significantly more random than Math.random().
- When should I use UUID without hyphens?
- Some databases and APIs prefer the compact 32-character hex string without hyphens (e.g., MySQL's UNHEX for binary storage, some REST APIs). Both formats represent the same value — the hyphens are just separators for readability.
関連ツール
- JSON Formatter, Validator & Repair Tool
Format, minify, validate, and repair JSON instantly in your browser. Sort keys alphabetically, auto-format on paste, download as file, escape/unescape strings — free, no sign-up, 100% client-side.
- QRコード生成
URL、テキスト、Wi-FiなどのQRコードを生成。PNGでダウンロード可能。
- パスワード生成
カスタム長と文字セットで強力なランダムパスワードを生成。
- Base64 エンコーダー / デコーダー
テキストをBase64にエンコード、または逆にデコード。
- URLエンコーダー / デコーダー
パーセントエンコーディングでURLとクエリ文字列をエンコードまたはデコード。