🆔 UUIDツール

RFC 4122の全バージョンおよびULIDのような分散システム向けの最新代替をサポートする完全なUUID/GUID生成および検証ツールキット。

UUID v4ジェネレーター

システム情報を公開せずにデータベースの主キーやセッショントークンに最適な暗号学的にランダムなUUID v4識別子を生成。

UUID v1ジェネレーター

作成時間とMACアドレスを埋め込んだタイムスタンプベースのUUID v1識別子を生成し、トレーサビリティが必要な分散システム向け。

UUID v3ジェネレーター

名前空間と名前のMD5ハッシュを使用して決定論的なUUID v3識別子を生成し、同じ入力から一貫したIDを作成。

UUID v5ジェネレーター

DNS名やURLからSHA-1ハッシュを使用して安全な名前ベースのUUID v5識別子を作成し、v3より優れた衝突耐性を提供。

UUID v6ジェネレーター

タイムスタンプ順序付けとデータベースインデックス性能の向上を組み合わせた最新のUUID v6識別子を生成。

UUID v7ジェネレーター

ミリ秒精度のUnixエポックタイムスタンプを使用した最先端のUUID v7識別子を作成し、最新の分散システムに対応。

ULIDジェネレーター

URL安全でソート可能なUUIDの代替として26文字のエンコーディングを持つ普遍的に一意で辞書式ソート可能な識別子を生成。

Short UUIDジェネレーター

QRコードやURL向けに長さを36文字から22文字に短縮するbase62エンコーディングを使用したコンパクトなShort UUID識別子を作成。

Nil UUIDジェネレーター

データベース初期化やデフォルト状態のために空またはnull UUID値を表すRFC 4122 Nil UUID(全ゼロ)を生成。

UUIDデコーダー&バリデーター

任意のバージョンのUUIDを解析および検証し、タイムスタンプ、バージョン番号、バリアントの詳細などの埋め込み情報を抽出してデバッグ。

バルクUUIDジェネレーター

データベースのシード、負荷テスト、バルクデータ操作のために数千のUUIDを同時に生成し、エクスポート機能を提供。

UUID とは?

UUID (Universally Unique Identifier) は空間と時間を超えてグローバルに一意となるよう設計された標準化された識別子形式です。UUID は通常、32 文字の16進数で表され、ハイフンで区切られた5つのグループで表示されます。 123e4567-e89b-12d3-a456-426614174000.

UUID は RFC 9562 標準(以前の RFC 4122 を廃止)で定義されており、中央登録や調整を必要とせずに情報を識別するためにコンピューティングプラットフォーム全体で使用されます。

UUID フォーマット

すべての UUID は共通のフォーマットを持ち、36 文字(32 文字の16進数と4つのハイフン)で次のパターンに配置されます。

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

ここで:

  • x は任意の16進数の数字 (0-9, a-f)
  • M UUID バージョン (1-7) を示します
  • N は UUID のバリアントを示します(通常はモダン UUID で 8, 9, A, または B)

UUID バージョンの比較

VersionName生成方法Time-ordered使用例
UUID v1Timestamp現在のタイムスタンプ + ノード ID (MAC)はい(一部)ログ記録、分散システム
UUID v3名前ベース (MD5)名前空間 + 名前の MD5 ハッシュNo同じ入力に対する一貫した ID
UUID v4Randomランダムまたは疑似ランダムな数値No汎用、最も一般的
UUID v5名前ベース (SHA-1)名前空間 + 名前の SHA-1 ハッシュNoより強力なハッシュによる一貫した ID
UUID v6再配置されたタイムスタンプソート用に順序付けられたタイムスタンプYesデータベースキー、時間でソート可能なレコード
UUID v7Unix エポックタイムスタンプUnix タイムスタンプ + ランダムデータYesモダンなソート可能な識別子
Nil UUIDゼロ UUIDすべてゼロN/A特別な値、未初期化マーカー

UUID の利点

  • 調整不要: 中央調整なしで ID を生成
  • グローバルな一意性: 衝突確率が極めて低い
  • 固定長: 一貫した 36 文字の文字列表現
  • Cross-Platform: ほぼすべてのプログラミング言語でサポート
  • Versatile: 用途に応じた異なるバージョン

非標準 UUID の代替

ID タイプDescriptionAdvantagesDisadvantages
GUIDMicrosoft の UUID 実装UUID と機能的に同等古いシステムでの実装差異あり
ULID普遍的に一意な辞書式ソート可能識別子辞書式ソート可能、タイムスタンプ先頭、大文字小文字を区別しない新しく、普及度は低い
Snowflake IDTwitter の分散 ID システム時間でソート可能、コンパクト (64ビット)中央調整が必要
CUID/CUID2衝突耐性のある ID短く、クライアント側生成に適する公式標準ではない
Nano ID小型で安全、URL フレンドリーな一意文字列 ID ジェネレーターUUID より小さく、アルファベットを設定可能標準化されていない
Short UUID標準 UUID の短縮エンコードよりコンパクトな表現標準 UUID との変換が必要
Nil UUIDすべてのビットがゼロの UUID特別な意味を持つ一意ではない(特別な値として使用)
Minecraft UUIDハイフンあり・なしの UUID標準 UUID と互換性ありフォーマットの違いのみ

実用的な用途

  • データベースの主キー: 特に分散または複製データベースで
  • 分散システム: 複数システム間のエンティティ識別
  • Web アプリケーション: セッション識別子、匿名ユーザーの追跡
  • コンテンツ管理: ドキュメントおよびメディア識別子
  • APIs: トレースおよびデバッグのためのリクエストおよびトランザクション識別子
  • モノのインターネット: 中央登録なしのデバイス識別
  • データ同期: 複数のデータストア間のレコード識別
  • ソフトウェアライセンス: 一意の製品またはライセンスキー