UUID生成
UUID v4またはv7を必要な数だけ、端末内の安全な乱数で生成します。
- 生成数
- 5
出力
•••••••••••••••••••••••••••••••••••• •••••••••••••••••••••••••••••••••••• •••••••••••••••••••••••••••••••••••• •••••••••••••••••••••••••••••••••••• ••••••••••••••••••••••••••••••••••••
ファイルは端末の外に出ません
このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。
使用例
例:検証用データベースの会員300人分の主キーを、時刻順のv7で作る
開発中の会員管理システムの検証用データベースに、ダミーの会員を300人入れます。主キーは作成順に並ぶUUID v7にしたいので、バージョンは「v7(時刻順)」、件数は300、「大文字で出力」はオフ。2026年11月4日 10:00:00(日本時間)に生成した場合で読み方を見ます。
- 「UUIDを生成」を押すと300行が出ます。たとえば1行目は 01a1a411-ea80-7750-9bfa-d6eaac53875c、2行目は 01a1a411-ea80-7750-9bfa-d6eaac548646 のような形です(後半は毎回変わります)。
- 先頭12桁「01a1a411ea80」は生成時刻のミリ秒を16進数にしたもの。10進数で1793754000000、つまり2026年11月4日 10:00:00.000(日本時間)です。
- 3つ目のかたまりの先頭「7」がバージョンで、v4なら同じ位置が「4」になります。4つ目のかたまりの先頭は8・9・a・bのどれかです。
- 同じミリ秒に作られたIDは、後半の部分が前のIDより必ず大きくなるように作られます。300件を文字列として並べ替えても、生成した順のままです。
| 位置 | 例 | 意味 |
|---|---|---|
| 1〜12桁目 | 01a1a411-ea80 | 生成時刻(Unixミリ秒) |
| 13桁目 | 7 | バージョン(v7) |
| 17桁目 | 9 | バリアント(8・9・a・bのどれか) |
| 残り | 750-…-d6eaac53875c | 乱数(同じミリ秒の中では増えていく) |
300行をコピーしてINSERT文やCSVのid列に貼れば、主キーが作成順に揃います。ただしIDから作成日時が読めるので、会員番号として画面やURLに出す値にはv4を使うほうが安心です。
使い方
- バージョンを選びます。完全にランダムな識別子ならv4、生成時刻の順に並ぶ識別子ならv7です。
- 必要な件数を1〜500の範囲で指定します。1件ずつ独立して生成されます。
- コードベースやデータベースの規約で16進数の大文字が求められる場合は「大文字で出力」をオンにします。
- 「UUIDを生成」を押して一覧をコピーします。1行に1件ずつ出力されるので、テストデータやスプレッドシート、マイグレーションにそのまま貼り付けられます。
よくある質問
- UUID v4とv7の違いは何ですか?
- v4は122ビットが純粋な乱数です。v7(RFC 9562)は先頭48ビットがUnixミリ秒のタイムスタンプで、その後に乱数が続くため、後から生成したUUIDは先に生成したものより後ろに並びます。ランダムなv4をPostgreSQLやMySQLの主キーに使うとB-treeインデックスが断片化しやすいのに対し、v7はその問題を避けられるため主キーに向いています。
- 乱数の品質はどの程度ですか?
- ブラウザの暗号学的に安全な乱数生成器であるcrypto.getRandomValuesを使い、利用可能な環境ではcrypto.randomUUIDも使用します。Math.randomは使っていません。
- 生成したUUIDが重複することはありますか?
- v4の場合、重複が起きる確率が50%に達するには約270京件を生成する必要があり、実用上は無視できます。v7はさらにタイムスタンプを含むため、衝突には同一ミリ秒での生成も必要になります。
- v7のUUIDから生成時刻が分かりますか?
- はい。先頭48ビットがミリ秒単位の生成時刻です。公開URLなどで生成時刻を知られたくない場合はv4を使ってください。
- GUIDとUUIDは違うものですか?
- 同じ128ビットの識別子で、使われる環境によって呼び方が違うだけです。ここで作った値はGUIDとしてもそのまま使えます。中括弧 { } で囲む書き方が必要な場合は、生成後に付け足してください。
- ハイフンなしの32桁が必要です。
- このツールは 8-4-4-4-12 の区切りでハイフン付きの36文字を出力します。ハイフンなしが必要なら、結果をテキストエディタに貼り、置換で「-」を空文字に置き換えてください。中身の32桁は同じです。
- UUIDはサーバーで生成・記録されますか?
- いいえ。すべてブラウザ内で生成され、どこにも送信されません。Nouploには生成されたIDの記録は一切残りません。