本文へスキップ
kitto works
ツール一覧

UUID生成|v4・v7を一括作成

RFC 9562準拠のUUIDバージョン4(乱数ベース)・バージョン7(時刻ベース、ソート可能)を1〜100件まとめて生成します。大文字/小文字・ハイフン有無も切り替え可能。生成はすべてブラウザの中で行われ、外部には送信されません。

UUIDの生成はすべてお使いのブラウザの中で行われ、サーバーには何も送信されません。

生成結果

「生成する」を押すとUUIDがここに表示されます。

使い方

  1. バージョン(v4またはv7)と生成件数(1〜100件)を選びます。
  2. 必要に応じて大文字表記・ハイフンなしを切り替えます。
  3. 「生成する」を押すとUUIDの一覧が表示され、個別または一括でコピーできます。

計算・変換の根拠

UUIDv4(乱数ベース)

128ビットのうち、バージョンを表す4ビットとバリアント(RFC 4122)を表す2ビットを固定し、残りの122ビットを暗号学的に安全な乱数(crypto.getRandomValues())で埋めます。16進数で表すと、先頭から数えて15文字目が常に4、20文字目が常に89abのいずれかになります。

UUIDv7(時刻ベース)

先頭48ビットにUnix時刻をミリ秒単位で埋め込み、続けてバージョン(4ビット)・乱数(12ビット)・バリアント(2ビット)・乱数(62ビット)を配置します(RFC 9562準拠)。時刻が先頭にあるため、生成したUUIDを文字列としてソートすると、生成された順番(時系列順)に並びます。同じミリ秒内に複数生成した場合、その中での順序までは保証しません(RFC上も必須ではありません)。

乱数源について

すべての乱数はWeb Crypto APIのcrypto.getRandomValues()から取得しています。Math.random()は予測可能な場合があり暗号用途に向かないため使用していません。

表記オプション

大文字/小文字、ハイフンの有無は表示上の整形のみで、UUIDの値そのものは変わりません。

よくある質問

UUIDv4とUUIDv7はどちらを使えばいいですか?

ランダム性だけを重視するならv4、データベースの主キーなど生成順にソートしたい用途にはv7が向いています。v7は先頭に時刻情報を含むため、インデックスの局所性が良くなる特性があります。

生成したUUIDが他とぶつかる(衝突する)ことはありますか?

理論上はゼロではありませんが、v4は122ビット、v7も乱数部分だけで74ビットの空間があり、実用上衝突を心配する必要はありません。

入力や生成結果はサーバーに送信されますか?

送信されません。UUIDの生成はすべてお使いのブラウザの中で完結し、外部への通信は発生しません。

UUIDv1やv3、v5には対応していますか?

対応していません。v1はMACアドレスなど端末情報に依存し、v3・v5はネームスペースと名前文字列からハッシュ生成する用途向けで、v4・v7に比べて需要が限定的なため、本ツールではv4とv7のみを扱っています。

一度に生成できる件数に上限はありますか?

1件から100件まで指定できます。100件を超える指定をしても自動的に100件にクランプされます。