UUID Generator

UUID ジェネレーター

暗号学的に安全な乱数を使い、ブラウザ内で RFC 4122 バージョン 4 の UUID (GUID) を生成します。

UUID (Universally Unique Identifier、Windows では GUID と呼ばれる) は、中央機関を介さずにシステム間でデータを一意に識別するための 128 ビットの数値です。バージョン 4 UUID は乱数から生成されます。

実用上は一意です。v4 UUID は 122 ビットのランダム性を持ち、2^122 ≈ 5.3 × 10^36 通りの可能性があります。毎秒数十億個を数千年生成しても衝突の可能性は無視できます。

ヒント: Space または R キーで再生成できます。

UUID Generator を選ぶ理由

RFC 4122 準拠、暗号学的乱数、完全クライアントサイド。

暗号学的に安全

crypto.randomUUID または crypto.getRandomValues を使用。銀行やパスワードマネージャーと同じブラウザ標準の暗号学的安全乱数生成器を利用します。

RFC 4122 準拠

正しいバージョンビット (4xxx) とバリアントビット (10xx) を持つ真の v4 UUID を生成。実用上一意性が保証されます (2^122 通り)。

25 言語対応

25 言語に対応し、ブラウザ言語を自動検出。アラビア語、ペルシア語、ウルドゥー語の RTL 表示にも対応。

一括生成

一度に 1〜10 個の UUID を生成。個別コピー、一括コピー.txt ファイルとしてダウンロードも可能。

複数フォーマット

標準小文字、大文字、ハイフンなし、波括弧 {} — 利用するシステムに合わせて選択可能 (SQL Server.NET、Postgres など)。

プライバシー重視

すべての UUID は完全にブラウザ内で生成され、サーバーに送信されることはなく、ログや計測もありません。

UUID ジェネレータの仕組み

ブラウザの CSPRNG による RFC 4122 v4 UUID を、単発でもバッチでも。

  1. 1

    個数を選択

    単一の UUID、小規模バッチ(10 / 100)、またはテストデータの種まき用に最大 10,000 件まで一度に生成できます。大きなバッチはページがフリーズしないよう、textarea にストリーミングで流し込まれます。

  2. 2

    crypto.randomUUID が処理を担当

    現代のブラウザは crypto.randomUUID を提供しており、crypto.getRandomValues と同じハードウェアバックの乱数を用いて RFC 4122 v4 UUID を生成します。これを直接利用しています — サードパーティライブラリも、品質の妥協もありません。

  3. 3

    フォーマットオプション

    小文字(デフォルト)、大文字、ハイフンあり / なし、波括弧付き(Microsoft GUID 形式)から選べます。変換は文字列置換にすぎず、根底にある乱数性は同一です。

  4. 4

    コピーまたは CSV としてダウンロード

    ワンクリックで単一 UUID をクリップボードにコピーできます。バッチの場合は 1 行 1 UUID の .csv としてダウンロード可能 — データベースの種まきやテストフィクスチャの生成に便利です。

UUID v4 を使うべき場面

ID スキームによってトレードオフが異なります。

データベースの主キー(順序が重要でない場合)

v4 は完全にランダムなので、最新ページに集中せず B-tree のページ全体に挿入が分散されます。書き込みが少〜中程度のテーブルに適しています。書き込みが多いテーブルでは、インデックスの局所性のためにタイムスタンププレフィックス付きの UUID v7 を検討してください。

API リクエスト ID

リクエストごとに新しい UUID を生成して、サービス間でログを相関させます。v4 は十分にユニークです — 衝突確率は数学的に無視できる水準です。

テストデータの種まき

テストフィクスチャに 1,000 件のユニーク ID が必要? バッチ生成してシーダーに貼り付けるだけで完了です。データベースの UUID 関数を 1,000 回呼ぶより速いです。

JWT の jti クレーム

JWT に署名する際、jti(JWT ID)クレームはトークンごとにユニークである必要があります。v4 が標準的な選択です — 新しいものをトークン署名コードに貼り付けてください。

ローカル CSPRNG が重要な理由

UUID ジェネレータがサーバーから乱数を取得する場合、2 つの障害モードが現れます。サーバーが生成済み ID を漏洩する(IP に紐付ける)か、もっと悪い場合は、RNG が脆弱なら予測可能な ID を生成してしまいます。iKit はブラウザのハードウェアバック CSPRNG を直接使うため、どちらも起こり得ません。

  • crypto.randomUUID は非決定的かつ標準化されています。
  • 生成された ID はブラウザ外に出ません。バッチダウンロードもローカル完結です。
  • 生成内容に関する利用アナリティクスは一切ありません。

関連ガイド

iKit ブログの詳しいチュートリアルとツール比較。

よくある質問

UUID とは何ですか?

UUID (Universally Unique Identifier、Windows では GUID と呼ばれる) は、中央機関を介さずにシステム間でデータを一意に識別するための 128 ビットの数値です。バージョン 4 UUID は乱数から生成されます。

これらの UUID は本当に一意ですか?

実用上は一意です。v4 UUID は 122 ビットのランダム性を持ち、2^122 ≈ 5.3 × 10^36 通りの可能性があります。毎秒数十億個を数千年生成しても衝突の可能性は無視できます。

UUID はサーバーに送信されますか?

いいえ。生成はすべて JavaScript の Web Crypto API を通じてブラウザ内で行われます。UUID を生成する際にネットワークリクエストは発生しません。ブラウザの Network タブで自身で確認できます。

UUID と GUID の違いは?

同じものです。GUID (Globally Unique Identifier) は RFC 4122 で定義された 128 ビット識別子の Microsoft 名称です。このツールが生成する識別子は両者と互換性があります。

primary key として使えますか?

はい、UUID は分散システムの primary key としてよく使われます。ただし v4 はランダムなので、ソート可能/時系列順の ID (ULID、v7、Snowflake) が必要な場合は B-tree インデックスの断片化を避けるため別方式を使用してください。