UUID/ULID生成
UUID v4・UUID v7・ULIDを即座に生成できます。データベースの主キーやAPI識別子など一意のIDが必要な場面で活用でき、複数件の一括生成や各種フォーマットオプションにも対応しています。
最終更新:
使い方
使い方を開く使い方を閉じる
- 1
形式を選択
UUID v4(ランダム)、UUID v7(タイムスタンプ付き)、ULIDから生成したい形式を選択します。
- 2
オプションを設定
大文字/小文字、ハイフンの有無、生成数(1〜100個)を設定します。
- 3
生成してコピー
「生成」ボタンをクリックし、生成されたIDを「コピー」ボタンでクリップボードにコピーできます。
設定
1〜100の整数
生成結果
生成履歴
履歴はありません
UUID/ULID生成ツールとは
UUID/ULID生成ツールは、一意の識別子(ユニークID)を生成するオンラインツールです。データベースの主キーやAPI識別子など、重複のない識別子が必要な場面で活用できます。UUID v4(完全ランダム)、UUID v7(タイムスタンプ付き)、ULID(ソート可能)の3形式に対応しています。 UUID(Universally Unique Identifier)は、RFC 4122で標準化された128ビットの識別子です。分散システムにおいて、中央の採番サーバーなしに各ノードが独立してIDを生成できることが最大の特徴です。現在までにバージョン1〜8が定義されていますが、実務で主に使用されるのはv4とv7です。 UUID v4は122ビットが暗号学的乱数で構成される完全ランダムな識別子です。衝突(同じIDが生成される)の確率は天文学的に低く、1秒間に10億個を生成し続けても、50%の確率で衝突が起きるまでに約85年かかる計算です。その汎用性の高さから、最も広く使われているUUIDバージョンです。 UUID v7は2024年にRFC 9562で正式に標準化された新しいバージョンで、先頭48ビットにUnixタイムスタンプ(ミリ秒精度)を格納します。生成順にソート可能なため、データベースのB-treeインデックスと相性が良く、挿入パフォーマンスが大幅に向上します。UUID v4ではランダムな値がインデックス全体に散らばるためページ分割が頻発しますが、v7では時系列に並ぶためこの問題が解消されます。新規プロジェクトではv7の採用が増えています。 ULID(Universally Unique Lexicographically Sortable Identifier)は、Crockford's Base32エンコーディングで26文字の文字列として表現される識別子です。先頭10文字がタイムスタンプ、後半16文字がランダム値で構成されます。UUIDの36文字(ハイフン含む)より短く、大文字小文字を区別しないため、URLやファイル名での利用に適しています。 暗号学的に安全な乱数生成器(crypto.getRandomValues)を使用しています。
主な機能
- UUID v4生成(122ビットのランダム値、最も広く使用される形式)
- UUID v7生成(タイムスタンプ+ランダム、時系列ソート可能)
- ULID生成(タイムスタンプ+ランダム、26文字、辞書順ソート可能)
- 一括生成機能(最大100個まで同時生成)
- 大文字/小文字切り替え、ハイフン有無のオプション
こんな場面で役立ちます
- データベースの主キーを設計するとき
- 分散システムで衝突しないIDが必要なとき
- APIのリソース識別子を決めるとき
- ファイル名やセッションIDを生成するとき
- テストデータ用の一意なIDが必要なとき
よくある質問
UUID v4、UUID v7、ULIDの違いは何ですか?
UUID v4は122ビットがランダムで、完全にランダムな識別子です。UUID v7は先頭にタイムスタンプが含まれ、生成順にソート可能です。ULIDも時系列ソート可能ですが、26文字のBase32形式でUUIDより短く、URLやファイル名に適しています。
UUIDが重複する可能性はありますか?
理論上は存在しますが、UUID v4の場合、衝突確率は極めて低く(約2^122通り)、実用上は無視できます。1秒間に10億個生成し続けても、重複が発生するまで約85年かかる計算です。
データベースの主キーにはどれを使うべきですか?
UUID v7またはULIDがおすすめです。タイムスタンプ順にソートできるため、B-treeインデックスの効率が良く、挿入パフォーマンスが向上します。UUID v4はランダムなため、インデックスが断片化しやすい傾向があります。
ハイフンなしオプションはどんな時に使いますか?
URLパラメータやファイル名など、ハイフンが扱いにくい場面で使用します。32文字の連続した文字列になりますが、一意性は変わりません。
生成されたIDはサーバーに送信されますか?
いいえ、処理はブラウザ内のcrypto.getRandomValues()で行われます。生成されたIDが外部に送信されることはありません。
UUID v7とULIDのどちらを選ぶべきですか?
UUID v7はRFC 9562で標準化されており、既存のUUIDインフラ(128ビット、36文字形式)との互換性が高いため、エンタープライズシステムや標準準拠が求められる場面に適しています。ULIDは26文字と短く大文字小文字を区別しないため、URLやファイル名に向いています。新規プロジェクトではUUID v7が標準的な選択肢になりつつあります。
UUID v4のランダム性はどのように保証されていますか?
ブラウザの crypto.getRandomValues() API を使用しており、OSレベルの暗号学的乱数生成器(CSPRNG)に基づいています。これはMath.random()とは異なり、予測不可能で偏りのない乱数を生成します。セキュリティトークンやセッションIDにも安全に使用できる品質です。
UUID v7のタイムスタンプから生成日時を特定できますか?
はい、UUID v7の先頭48ビットにはUnixタイムスタンプ(ミリ秒精度)が格納されているため、生成日時を逆算できます。この特性はデバッグやログ分析で便利ですが、生成日時を秘匿したい場合はUUID v4を選択してください。
連番(AUTO_INCREMENT)ではなくUUIDを使う利点は何ですか?
UUIDには主に3つの利点があります。(1) 分散システムで中央の採番サーバーなしにIDを生成できる (2) マイクロサービス間でのデータ統合が容易 (3) 連番のようにレコード数やデータの登録順序が外部から推測されない。一方、UUIDは128ビット(16バイト)と連番の整数型(4〜8バイト)より大きいため、ストレージ効率はやや劣ります。
