メインコンテンツへスキップ
Toolsbase Logo

UUID/ULID生成

UUID v4・UUID v7・ULIDを即座に生成できます。データベースの主キーやAPI識別子など一意のIDが必要な場面で活用でき、複数件の一括生成や各種フォーマットオプションにも対応しています。

最終更新:

使い方

使い方を開く
  1. 1

    形式を選択

    UUID v4(ランダム)、UUID v7(タイムスタンプ付き)、ULIDから生成したい形式を選択します。

  2. 2

    オプションを設定

    大文字/小文字、ハイフンの有無、生成数(1〜100個)を設定します。

  3. 3

    生成してコピー

    「生成」ボタンをクリックし、生成されたIDを「コピー」ボタンでクリップボードにコピーできます。

設定

1〜100の整数

生成結果

0件

生成履歴

履歴はありません

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バイト)より大きいため、ストレージ効率はやや劣ります。