UUIDv7ジェネレーター

ブラウザ内で生成します。入力はサーバーへ送信しません。

検証

タイムスタンプ(推定)

UUIDv7は先頭側にUnix時間(ミリ秒)が入る設計です。

使い方

「生成」でUUIDv7を作成します。UUID欄に貼り付けた値も自動で検証し、タイムスタンプを表示します。

このツールの検証内容

  • 形式:hex-and-dash(8-4-4-4-12)
  • Version:versionフィールドが 7
  • Variant:variantフィールドが 0b10(RFC4122系)

注意(このツール)

  • 「妥当(valid)」は形式や規格に沿うという意味で、一意性(衝突しないこと)や安全性を保証しません。
  • タイムスタンプはUUIDに埋め込まれたミリ秒値から推定します(同一ms内の順序などは分かりません)。
  • 古い実装やライブラリはUUIDv7を未対応で弾くことがあります。運用環境の対応状況も確認してください。

UUIDv7の技術説明

UUIDv7とは

UUIDv7は、Unix Epoch(1970-01-01 00:00:00 UTC)からの「ミリ秒」を先頭48bitに持つ、時系列で並べやすいUUIDです。

UUIDのまま作成時刻の目安を取り出せるため、DB主キー、ログ/イベントID、相関IDなどで扱いやすい場面があります。

RFCベースの要点

  • 文字列表現はhex-and-dash(大文字/小文字混在OK)で定義されています。
  • unix_ts_ms は 48-bit(big-endian, unsigned)のUnix時間(ミリ秒)です。
  • Versionは bit 48–51 で、v7は値が 7 です。
  • VariantはRFCのUUIDでは 0b10(RFC4122系)です。
  • 残りビットは一意性のための領域で、実装により単調性向上の構成も許容されています。

FAQ(UUIDv7)

UUIDv4と何が違いますか?

UUIDv4は基本的に乱数中心、UUIDv7は先頭側に時刻(ミリ秒)を持つのが大きな違いです。

タイムスタンプは正確ですか?

UUIDから取り出せるのは埋め込まれたミリ秒値です。同一ms内の順序などは復元できないため、目安(推定)として扱ってください。

一意性は保証されますか?

UUIDは衝突が極めて起きにくい設計ですが、仕様上「絶対に衝突しない」とは言えません。用途に応じて設計してください。

出典(RFC)

  1. RFC 9562 §5.7(UUIDv7の構造)
  2. RFC 9562 §4(文字列表現 / ABNF)
  3. RFC 9562 §4.1 / §4.2 (Variant / Version)

Example

0193f0c0-2a2b-7b9d-b5a9-2a6e0c7b3a8e