UUID チェック - 無料オンライン UUID 検証・確認ツール
無料のオンライン UUID チェックツール。UUID の形式検証、バージョン判別(v1/v3/v4/v5)、構造表示ができます。RFC 4122 準拠。登録不要。
UUID バリデーターとは?
UUID(Universally Unique Identifier)バリデーターは、指定された文字列がRFC 4122標準に準拠しているかどうかをチェックします。UUIDは128ビットの識別子で、分散システム全体で一意のIDを生成するためにソフトウェア開発で広く使用されています。当ツールは、UUIDの形式の正しさを即座にチェックし、UUIDバージョンを識別し、構造を構成要素に分解します——すべてブラウザ内で処理され、データがサーバーに送信されることはありません。
UUID バリデーターの使い方
UUIDを入力
UUID文字列を入力フィールドに貼り付けるか入力します。標準形式(ハイフン付き)、URN形式(urn:uuid:...)、中括弧形式に対応しています。
検証をクリック
検証ボタンを押すか、入力するだけで — RFC 4122に照らしてUUIDの形式、バージョンビット、バリアントビットをチェックします。
結果を確認
UUIDが有効かどうか、どのバージョンに属するかを確認し、各セグメントがハイライトされた詳細な構造の内訳を表示します。
新しいUUIDを生成
UUIDが必要ですか?生成ボタンをクリックして、ブラウザのcrypto.randomUUID() APIを使用して暗号的に安全なUUID v4を作成します。
UUID の一般的な使用例
データベースの主キー
UUIDは、PostgreSQL、MongoDB、Cassandraなどの分散データベースでグローバルに一意な主キーとして機能し、IDの競合なしにデータをマージできます。
API リクエスト追跡
各APIリクエストにUUIDを割り当て、マイクロサービス全体での分散トレーシングを実現し、エンドツーエンドのリクエスト相関とデバッグを可能にします。
ファイルとリソースの命名
アップロードされたアセットに一意のファイル名を生成し、S3やCDNキャッシュレイヤーなどのクラウドストレージシステムでの命名衝突を防止します。
セッションとトークンの生成
UUID v4は、WebアプリケーションでのセッションID、CSRFトークン、ワンタイム認証コードの生成に広く使用されています。
UUID 構造と RFC 4122 の解説
UUIDは128ビットの数値で、32桁の16進数を5つのグループ(8-4-4-4-12)で表します。各セグメントはUUIDバージョンに応じて特定の情報をエンコードします。RFC 4122標準は、バージョンおよびバリアントフィールドのビットレベルレイアウトを含むUUIDの構築方法を定義しています。
UUID 形式フィールド
| フィールド | 長さ | 説明 |
|---|---|---|
time_low | 8 hex | タイムスタンプの下位32ビット(v1)またはランダムデータ(v4)。 |
time_mid | 4 hex | タイムスタンプの中間16ビットまたはランダムデータ。 |
time_hi_and_version | 4 hex | 上位12ビット:バージョン番号(ビット13-16)。UUID生成方法を決定します。 |
clock_seq_and_variant | 4 hex | ビット17-18:バリアント(10xx = RFC 4122)。UUIDレイアウト標準を定義します。 |
node | 12 hex | 48ビットのノード識別子 — 通常はMACアドレス(v1)またはランダムビット(v4)。 |
UUID バージョン一覧
| バージョン | 生成方法 |
|---|---|
| v1 | 時刻ベース(1582-10-15からの100ns間隔)+ MACアドレス。 |
| v3 | MD5ハッシュを使用した名前ベース。同じ名前空間+名前で決定論的。 |
| v4 | ランダム生成。Web開発で最も一般的。約122ビットのランダム。 |
| v5 | SHA-1ハッシュを使用した名前ベース。より優れた衝突耐性のためv3よりも推奨。 |
| Nil | 全ビットがゼロ(00000000-0000-0000-0000-000000000000)。特別な予約値。 |
UUIDの構造を理解することはデバッグに役立ちます。例えば、ログでUUID v1を見つけた場合、time_lowおよびtime_midフィールドから作成タイムスタンプを抽出できます。UUID v4は一般的な用途に最適なランダム性を提供し、v3/v5は既知の入力から決定論的で再現可能なIDが必要な場合に理想的です。
コードでUUIDを検証する方法
主要なプログラミング言語でUUIDを検証する方法を学びます。各例では、検証(文字列が有効なUUIDかどうかのチェック)と生成(新しいUUIDの作成)の両方を示しています。
JavaScript
// Validate UUID
function isValidUUID(str) {
const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
return regex.test(str);
}
// Generate UUID v4
function generateUUID() {
return crypto.randomUUID();
}Python
import uuid
# Validate UUID
def is_valid_uuid(s):
try:
uuid.UUID(s)
return True
except ValueError:
return False
# Generate UUID v4
new_uuid = uuid.uuid4()Java
import java.util.UUID;
// Validate UUID
public static boolean isValidUUID(String s) {
try {
UUID.fromString(s);
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
// Generate UUID v4
UUID uuid = UUID.randomUUID();Go
import "github.com/google/uuid"
// Validate UUID
func isValidUUID(s string) bool {
_, err := uuid.Parse(s)
return err == nil
}
// Generate UUID v4
id := uuid.New()UUID 検証のよくある問題
正しく見えるUUIDが拒否される
誤って貼り付けられた非表示文字(ゼロ幅スペース、改行)がないか確認してください。また、バージョンニブル(13文字目)が1-5、バリアントニブル(17文字目)が8、9、a、bであることを確認してください。
大文字/小文字の混乱
UUIDの16進数はRFC 4122に従い大文字小文字を区別しません — 大文字(A-F)と小文字(a-f)の両方が有効です。当ツールは両方を受け入れ、自動的に正規化します。
ハイフンあり/なしのUUID
標準的なUUID形式には4つのハイフン(8-4-4-4-12)が含まれます。ハイフンのない32文字の16進数文字列は、厳密にはUUIDではなく16進数表現です。当ツールはハイフン付きの標準形式を受け入れます。
URN 形式のUUID
'urn:uuid:' プレフィックス付きのUUIDはRFC 4122に従い有効です。当ツールは検証時にURNプレフィックスを自動的に除去します。中括弧で囲まれたUUIDもサポートされています。
UUID 検証に関するよくある質問
UUIDとは何ですか?
UUID(Universally Unique Identifier)は、コンピュータシステム内の情報を一意に識別するために使用される128ビットの数値です。UUIDはOpen Software Foundation(OSF)によって標準化され、Distributed Computing Environment(DCE)の一部としてRFC 4122に文書化されています。中央の調整機関を必要とせずに、空間的・時間的にグローバルに一意になるよう設計されています。
UUIDとGUIDの違いは何ですか?
UUID(Universally Unique Identifier)とGUID(Globally Unique Identifier)は本質的に同じものです。GUIDはMicrosoftによるUUID標準の実装です。どちらも128ビットの識別子で、同じ形式(8-4-4-4-12の16進数)を持ちます。実務上、これらの用語はソフトウェア開発において互換的に使用されます。
UUIDのバージョンはいくつありますか?
RFC 4122で定義されているUUIDバージョンは5つあります:バージョン1(時刻ベース、MACアドレスとタイムスタンプを使用)、バージョン2(DCEセキュリティ、ほとんど使用されない)、バージョン3(名前ベース、MD5ハッシュを使用)、バージョン4(ランダム、最も一般的)、バージョン5(名前ベース、SHA-1ハッシュを使用)。さらに、「Nil UUID」(すべてゼロ)は特別な予約値です。バージョン4は現代のWeb開発で最も広く使用されています。
UUIDは一意であることが保証されていますか?
UUIDは「絶対的に一意」ではなく「実用的に一意」であるよう設計されています。UUID v4(ランダム)の場合、衝突確率は約2^122分の1で、天文学的に小さい値です。具体的には:1秒間に10億個のUUIDを約100年間生成し続けて、ようやく1回の衝突が発生する確率が50%になります。すべての実用的な目的において、UUIDは一意として扱うことができます。
UUIDの有効性を確認する方法は?
当サイトの無料オンラインUUIDバリデーターを使用して、任意のUUID文字列を即座にチェックできます。UUIDを入力フィールドに貼り付けて「検証」をクリックするだけです。RFC 4122に従い、形式(8-4-4-4-12の16進数)、バージョンビット(1-5であること)、バリアントビット(8、9、a、bであること)をチェックします。また、正規表現やUUID解析ライブラリを使用してプログラムで検証することもできます。
正しいUUIDの形式は何ですか?
正規のUUID形式は、ハイフンで区切られた5つのグループで表示される32桁の16進数です:xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx。'M'はUUIDバージョン(1-5)、'N'はバリアント(8、9、a、bはRFC 4122)を示します。例:550e8400-e29b-41d4-a716-446655440000。16進数は大文字でも小文字でも構いません。代替表現としてURN形式(urn:uuid:...)や中括弧形式があります。
自動インクリメントIDの代わりにUUIDを使用すべき場合は?
UUIDは、分散システム全体でグローバルに一意な識別子が必要な場合、複数のソースからのデータをマージする場合、セキュリティ上の理由でIDをURLやAPIで公開する場合、オフラインクライアントがIDを生成する必要がある場合に使用します。自動インクリメントIDは、シーケンシャルな順序が重要でストレージ容量が懸念される単純な単一データベースアプリケーションに適しています。
オンラインで無料でUUIDを生成できますか?
はい!当UUIDバリデーターツールには生成ボタンが含まれており、ブラウザのcrypto.randomUUID() APIを使用して暗号的に安全なUUID v4値を作成します。データがサーバーに送信されることはありません — UUIDは完全にブラウザ内で生成されます。必要な数だけ無料で生成でき、登録も不要です。
UUIDの衝突確率はどのくらいですか?
UUID v4(ランダム)の場合、衝突確率は誕生日問題の公式を使用して計算できます:p ≈ n²/(2×2^122)、nは生成されたUUIDの数です。50%の衝突確率を得るには、約2.7×10^18個のUUIDを生成する必要があります。毎秒10億個の割合で、これには約86年かかります。すべての実用的な目的において、UUID v4の衝突は発生しません。
データベースの主キーとしてUUIDを使用すべきですか?
UUIDを主キーとして使用することには長所と短所があります。長所:グローバルに一意、分散ID生成が可能、データマージに適している。短所:整数より大きい(16バイト vs 4-8バイト)、ランダム性によりB-treeインデックスで断片化が発生する可能性がある、人間にとって読みにくい。データベースのパフォーマンス向上のためには、ULIDまたはUUID v7(時刻順序)の使用を検討してください(データベースがサポートしている場合)。
UUIDを公開しても安全ですか?
UUID v4は識別情報を含まずランダムビットのみであるため、一般的に公開しても安全です。ただし、UUID v1には生成マシンのMACアドレスとタイムスタンプが含まれており、追跡に使用される可能性があります。公開向けの用途では、常にランダム性のみを提供するUUID v4を優先してください。当ツールはcrypto.randomUUID()を使用して安全でプライベートなUUIDを生成します。