UUID v7(UUIDv7)ジェネレーター & タイムスタンプ抽出: RFC 9562

UUID v7(UUIDv7 とも表記)は RFC 9562 で標準化された 128 ビットの識別子で、ミリ秒単位の Unix タイムスタンプを埋め込んでいるため、グローバルな一意性を保ちながら ID が作成時刻順に並びます。この無料ツールで UUIDv7 の値を生成し、既存の値からタイムスタンプをデコードし、各フィールドを確認できます。すべてブラウザ内で処理され、サーバーには何も送信されません。

お客様のデータの安全を最優先にしています。すべてブラウザ内のローカルで動作します。
このツールはデータを保存したり、お使いのデバイスの外に送信したりすることはありません

複数の UUID v7 を生成
一度に最大 10 個の UUID v7 を生成できます。テスト、データのシード、順序の動作検証に便利です。
柔軟なタイムスタンプモード
タイムスタンプの生成方法を選べます。現在時刻を使うか、カスタムのタイムスタンプを設定して特定の時点の UUID を生成できます。
内蔵の UUID インスペクター
生成された各 UUID には、埋め込まれた Unix タイムスタンプ、UUID のバージョン、バリアント情報などの構造化された詳細を表示するインスペクターが付いています。
タイムスタンプ抽出ツール
既存の UUID v7 から Unix タイムスタンプを抽出し、作成時刻の確認や時間ベースの順序のデバッグに使えます。

How the Tool Works

ステップ 1.
生成する ID の数(1〜10)を選びます。
ステップ 2.
タイムスタンプモードを選びます: 「Now」または「Set a time」(ISO 8601 UTC、Unix)。
ステップ 3.
「Generate UUIDs」をクリックします。
ステップ 4.
任意の値をワンクリックでコピーするか、「Copy All」ですべてコピーします。
ステップ 5.
色分けされたインスペクターで各フィールドの意味を確認します。
ステップ 6.
「Timestamp extraction tool」に切り替えて、既存の UUID v7 をデコードします。

UUID v7 とは?

UUID v7 は RFC 9562 で定義された 128 ビットの識別子です。ミリ秒単位の 48 ビット Unix タイムスタンプに続き、4 ビットのバージョンマーカー(7)、12 ビットのランダム/シーケンス部、2 ビットのバリアント(RFC 4122)、62 ビットのランダム部が並びます。時間コンポーネントにより、強いランダム性を保ちながら、ほぼ単調で時系列順にソートしやすい ID が得られます。

主な用途

データベースのキー: 時系列順の挿入でインデックスの局所性が高い。
イベント ID: 追加のカラムなしで作成時刻順にソートできる。
ログの相関: 埋め込まれたミリ秒タイムスタンプで切り分けが容易。

UUID v4 ではなく UUID v7(UUIDv7)を使う理由

UUID v4 は完全にランダムなため、新しく挿入された行が B-tree インデックス全体に散らばり、コストの高いページ分割が発生します。書き込み量が多いと実際のパフォーマンス問題になります。UUIDv7 はランダムビットの前に 48 ビットのミリ秒 Unix タイムスタンプを置くので、新しく生成された ID は作成時刻順に辞書式にソートされ、インデックス内で近くにまとまり、同時挿入でも良好に動作します。v4 のグローバルな一意性を保ちつつ、自動増分整数のインデックス局所性を得られ、どちらのプライバシー面や調整のコストも負いません。

UUID v7 はグローバルに一意ですか?

UUID は正しく生成されれば衝突確率が極めて低くなるように設計されています。v7 はタイムスタンプと大きなランダム部を組み合わせることで、その性質を維持しています。