UUIDを生成

UUIDバリデーター

UUID形式

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
青: time_low(8桁16進)
緑: time_mid(4桁16進)
琥珀色 (M): version + time_hi(4桁16進)
紫 (N): variant + clock_seq(4桁16進)
赤: node(12桁16進)
合計: 128ビット / 32文字の16進数

UUIDについて

UUID(Universally Unique Identifier)はGUID(Globally Unique Identifier)とも呼ばれる128ビットの値で、コンピューターシステム内の情報を一意に識別します。UUIDはRFC 4122で標準化され、中央調整なしに一意なキーを作成できるため、データベース、分散システム、APIで広く使われています。

UUID v4(ランダム)とv1(時間ベース)
最大500件のUUID一括生成
UUIDバリデーター内蔵
100%クライアント側処理

UUID(汎用一意識別子)完全ガイド

無料オンラインUUID/GUID生成

UUID(Universally Unique Identifier)またはGUID(Globally Unique Identifier)をブラウザ内で即時生成できます。このツールはUUIDバージョン4(ランダム)、バージョン1(時間ベース)、nil UUIDに対応しています。単体または最大500件の一括生成、既存UUIDの検証、大文字やハイフンなしの出力形式に対応。生成はWeb Crypto APIを使ってクライアント側で行われ、データがサーバーへ送信されることはありません。

UUIDバージョンの説明

UUID v4(ランダム)

  • ランダム/疑似ランダム値から生成
  • 122ビットのランダム性
  • 最も一般的に使われるバージョン
  • 衝突確率は 1 / 2^122
  • 汎用的な一意IDに最適

UUID v1(時間ベース)

  • タイムスタンプ + ノードIDに基づく
  • 時間とMAC情報を含む
  • 複数マシン間で一意性を保証
  • 作成時刻で並べ替え可能
  • 分散システムに適しています

UUID v3(MD5名前ベース)

  • 決定的: 同じ名前 = 同じUUID
  • namespace + nameのMD5ハッシュを使用
  • システム間で再現可能
  • 一貫した命名方式に有用
  • v4やv5ほど一般的ではありません

UUID v5(SHA-1名前ベース)

  • 決定的: 同じ名前 = 同じUUID
  • SHA-1ハッシュを使用(v3より安全)
  • 新規アプリではv3より推奨
  • システム間で再現可能
  • コンテンツアドレス指定に有用

UUID生成ツールの使い方

  1. バージョンを選択: UUID v4(ランダム)、v1(時間ベース)、またはNil UUIDを選びます。
  2. 数量を設定: 生成するUUID数(1〜500)を入力します。
  3. 形式を選択: 必要に応じて大文字やハイフンなしオプションを切り替えます。
  4. 生成: 「UUIDを生成」ボタンをクリックしてUUIDを即時作成します。
  5. コピー: 個別UUIDの「コピー」または「すべてコピー」で結果を取得します。

UUIDの一般的な利用例

データベース主キー: UUIDはPostgreSQL、MySQL、MongoDBなどのデータベースで主キーとして使われ、分散システムで整数IDの衝突を避けます。複数ソースのデータをキー衝突なしに統合できます。

APIリソース識別子: REST APIではユーザー、注文、セッションなどのリソースを一意に識別するためUUIDを使います。UUIDは連番ではないため推測されにくく、APIセキュリティの向上にも役立ちます。

分散システム: マイクロサービスや分散アーキテクチャでは、各サービスが中央調整や共有カウンターなしに一意IDを独立生成できます。

セッションとトークン管理: UUIDはセッショントークン、CSRFトークン、パスワードリセットトークン、メール確認リンクなどに使われ、予測困難な一意識別子を提供します。

ファイル名: アップロードファイルの一意なファイル名生成にUUIDを使うと、名前の衝突を避け、URLを推測されにくくできます。

メッセージキュー: RabbitMQ、Kafka、SQSなどのメッセージシステムでは、メッセージを一意に識別し、冪等処理を保証するためUUIDを使います。

相関ID: ログとオブザーバビリティでは、UUIDで複数サービスをまたぐリクエストを追跡し、分散システムでエンドツーエンドのトレースを可能にします。

UUIDの形式と構造

標準形式: ハイフンで区切られた8-4-4-4-12桁の16進数

例: 550e8400-e29b-41d4-a716-446655440000

合計サイズ: 128ビット(16バイト)、32文字の16進数として表現

バージョン桁: 13番目の16進桁(Mの位置)がUUIDバージョン(1〜5)を示します

バリアントビット: 17番目の16進桁(Nの位置)がバリアント(RFC 4122では8、9、a、b)を示します

可能なUUID総数: v4では 2^122 ≈ 5.3 × 10^36(地球表面の原子数推定より多い)

このUUID生成ツールを使う理由

100%無料・無制限: 登録、サブスクリプション、制限なしで無制限にUUIDを生成できます。

完全なプライバシー: すべてのUUID生成はWeb Crypto APIを使ってブラウザ内で行われます。データがサーバーへ送信されることはありません。

暗号学的に安全: UUID v4はcrypto.randomUUID()またはcrypto.getRandomValues()を使い、真に近いランダム性を得ます。

一括生成: バッチ処理、データベースシード、テスト向けに最大500件のUUIDを一度に生成できます。

内蔵バリデーター: 任意のUUIDを貼り付けて形式を検証し、バージョンとバリアントを確認できます。

柔軟な出力: 大文字、小文字、ハイフンあり/なしなど、必要に合わせて形式をカスタマイズできます。

UUIDと他の一意ID方式の比較

UUID vs 自動採番: 自動採番IDは連続的で推測可能で、中央データベースが必要です。UUIDはランダムで推測されにくく、調整なしにどこでも生成できます。分散システムではUUIDが好まれます。

UUID vs ULID: ULID(Universally Unique Lexicographically Sortable Identifier)は時間順に並べられ、文字列表現がよりコンパクトです。UUIDはより広くサポートされ、RFC 4122で標準化されています。

UUID vs Snowflake ID: Snowflake ID(Twitter/XやDiscordで使用)は64ビットでソート可能ですが、ワーカー調整が必要です。UUIDは128ビットで完全に分散的に生成でき、インフラを必要としません。

UUID vs NanoID: NanoIDは短く(21文字 vs 36文字)、URL向きでカスタマイズ可能です。UUIDはより標準化され、すべてのプラットフォームと言語で広く認識されています。

ベストプラクティス

  • 基本はv4を使用: UUID v4(ランダム)は最も一般的で、多くのアプリケーションで一意識別子生成に推奨されます。
  • バイナリとして保存: データベースではVARCHAR(36)ではなく、BINARY(16)またはネイティブUUID型で保存すると性能と容量効率が向上します。
  • インデックスを考慮: ランダムUUIDはB-treeインデックスで断片化を起こすことがあります。必要なら時間順に並べられるUUID v7やULIDを検討してください。
  • 秘匿性だけに頼らない: UUIDは推測困難ですが(v4は122ランダムビット)、唯一のセキュリティ機構にしないでください。適切な認証と認可を追加しましょう。
  • 大文字小文字を区別しない: UUID比較は大文字小文字を区別しないようにし、一貫性のため小文字で保存・比較しましょう。
  • ネイティブ型を使用: PostgreSQLにはネイティブUUID型があり、MySQL 8.0+にはUUID関数があります。利用できる場合は文字列保存より優先してください。
  • 入力を検証: ユーザー入力や外部APIからUUIDを受け取る場合は、必ずUUID形式を検証してください。

こんな用途に最適

  • バックエンド/フルスタック開発者
  • データベース管理者
  • API設計者・アーキテクト
  • DevOpsエンジニア
  • QAテスター・自動化エンジニア
  • データエンジニア
  • マイクロサービス開発者
  • モバイルアプリ開発者
  • IoTシステム設計者
  • 技術プロジェクトマネージャー
  • 分散システムを学ぶ学生
  • オープンソース貢献者

100%プライバシー保護

すべてのUUID生成はWeb Crypto APIを使ってブラウザ内で実行されます。データがサーバーへアップロード、データベース保存、ログ記録、第三者送信されることはありません。生成されたUUIDは暗号学的に安全で、端末から外へ送信されません。

UUIDについてもっと学ぶ

汎用一意識別子の仕組み、UUIDバージョン比較、衝突確率、データベースのベストプラクティス、v4からv7への進化を詳しく学べます。

記事全文を読む