UUIDv7 From Timestamp

ID・乱数・時刻系の値をブラウザ内で生成/検査します。入力はサーバーへ送信しません。仕様適合の一次確認に使えます。

状態

Timestamp (UTC)

Timestamp (TZ)

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

Unix msを入れて「生成」。3パターンのUUIDv7を出します。各行のCopyでコピーできます。

注意(このツール)

  • earliest/latestはランダム領域を最小/最大に寄せる実装です。仕様が保証する“真の最小/最大”ではなく、並び用途の実用値です。
  • UUIDv7のtimestampは48-bitのUnix msです。範囲外の値は生成できません。

このページについて

何をするツール?

指定したUnix msに対応するUUIDv7を作り、「その時刻の最小/最大(earliest/latest)」を作成します。

期間クエリ(start/endの範囲)を作りたい場合は Range Builder を使ってください。

earliest / random / latest

同じミリ秒でも、タイムスタンプ以外のビットにより複数のUUIDv7が取り得ます。そのため、境界値を作るときは「そのmsにおける最小(earliest)」と「最大(latest)」が重要になります。

  • earliest:そのミリ秒における最小(下限)UUID(開始境界に向く)
  • latest:そのミリ秒における最大(上限)UUID(終了境界に向く)
  • random:そのミリ秒の中間値(単発の目安。境界用途は基本 earliest/latest 推奨)

切り分け手順(おすすめ)

  • 値を生成または貼り付ける
  • 形式・時刻・文字種制約を確認する
  • 利用先のバリデーション条件で最終確認する

注意(運用)

  • 形式妥当性は安全性や一意性を保証しません。用途に応じた要件確認が必要です。
  • 乱数/時刻/フォーマットの扱いは運用ポリシーに合わせてください。

参照仕様

  • RFC 9562(UUIDv7)
  • unix_ts_ms: 48-bit(0〜2^48-1)
  • 境界: earliest / latest の意味づけ
  • 時刻はミリ秒(Unix ms)で入力

使いどころ

  • 特定時刻の“境界UUID”を1つだけ作りたい
  • earliest / latest / random の違いを比較したい

FAQ

同じ時刻なら毎回同じUUIDv7になりますか?

なりません。earliest/latestの境界固定を除き、通常はランダム領域が変わるため同一時刻でも値は変化します。

ローカル時刻とUTCの差は影響しますか?

内部計算はUnixミリ秒なので基準はUTCです。入力時刻をUnix msへ正しく変換して扱ってください。

参考リンク

  1. RFC 9562 §5.7(UUIDv7)

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. UUID Inspect(解析) — UUIDを正規化し、version/variant/timestamp を解析
  2. UUIDv7ジェネレーター — UUIDv7を生成・検証し、時刻由来の値を抽出
  3. UUIDv7 Range Builder — 開始/終了msから検索用のUUIDv7範囲境界を作成

Example

生成結果は入力値に応じて変わります(下は表示例)。

start(earliest)
... 019be116-9806-7000-8000-000000000000
end(latest)
... 019be116-9806-7fff-bfff-ffffffffffff