本文へ移動
ZEKILO Dev

UUID生成

UUID v4・v7とULIDをブラウザで生成します。値はページを開いたあとに作られ、どこにも送信されません。

入力はブラウザの外に出ませんRFC 9562ULID基準日 2026.10.03

生成した値

UUID生成の使い方

  1. 1種類(v4・v7・ULID・Nil・Max)と個数を選びます。ページを開くと一覧がすぐに表示されます。
  2. 2「再生成」を押すと新しい値に変わります。オプションを変えても作り直します。
  3. 3値の横のコピーボタンで1つずつコピーするか「すべてコピー」を押し、「ダウンロード」で1行に1つの値が入った .txt ファイルを保存します。

UUID生成のオプション

種類
UUID v4は乱数です。UUID v7はミリ秒単位のUNIX時間で始まるため、生成した順に並びます。ULIDは同じ時刻をCrockford Base32の26文字で表します。Nil・Maxはすべてのビットが0の値と1の値です。
個数
一度に1〜1,000個。既定は5個です。
大文字
16進数を大文字で書きます。ULIDは常に大文字です。
ハイフン
既定はオン(8-4-4-4-12)です。オフにすると32桁を続けて書きます。
囲み
値ごとに波かっこまたは二重引用符で囲みます。
解析
UUIDまたはULIDを貼り付けると、バージョンとバリアントを表示します。v1・v6・v7とULIDは、値に含まれる時刻も表示します。

UUIDのバージョンと標準

UUIDは RFC 9562 で定義されています。128ビットを16進数32桁で書き、5つのグループ(8-4-4-4-12)に分けます。3番目のグループの最初の桁がバージョンで、4番目のグループの最初の桁にバリアントが入っています。

  • v4: 乱数122ビット。バージョンの桁は 4、バリアントの桁は 8・9・a・b のいずれかです。
  • v7: ミリ秒単位のUNIX時間48ビット、バージョンの桁 7、そのあとは乱数です。あとから生成した値は、先に生成した値より後ろに並びます。
  • Nil・Max: すべてのビットが0の値と、すべてのビットが1の値です。

ULID は同じ48ビットのミリ秒時刻のあとに乱数80ビットを続け、Crockford Base32の26文字で書きます。

値の生成方法

v4は crypto.randomUUID() で生成します。v7とULIDの乱数は crypto.getRandomValues() から取得します。Math.random() は使いません。同じミリ秒にv7を複数生成するときは、バージョンの桁に続く12ビットをカウンターとして使い、1つの一覧の値が昇順になるようにします。

サーバーが送るHTMLでは作業カードは空です。値はページを開いたあとにブラウザで生成し、「再生成」を押すかオプションを変えると新しい一覧に置き換わります。

UUID生成の例

  • Nil UUID(種類 Nil・Max)

    2行目のMax UUIDは ffffffff-ffff-ffff-ffff-ffffffffffff です。

    入力

    Nil

    出力

    00000000-0000-0000-0000-000000000000
  • 1767225600000 ms(2026-01-01T00:00:00.000Z)に生成したUUID v7

    先頭の16進数12桁 019b76daa800 がミリ秒単位のUNIX時間です。7 はバージョン、x は乱数の桁です。

    入力

    1767225600000

    出力

    019b76da-a800-7xxx-…
  • 同じ時刻に生成したULID

    先頭の10文字が時刻で、そのあとに乱数16文字が続きます。

    入力

    1767225600000

    出力

    01KDVDNA00…
  • UUIDの解析

    バージョン、バリアント、先頭48ビットに入っている時刻です。

    入力

    019b76da-a800-7000-8000-000000000000

    出力

    7 · RFC 9562 · 2026-01-01T00:00:00.000Z

例は、このツールを検証している基準ケースの値です。

UUID生成のよくある質問

入力したデータはサーバーに送信されますか?

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

v4とv7のどちらを使えばよいですか?

意味を持たない一意な値だけが必要ならv4を使います。データベースのキーにはv7が向いています。先頭に時刻があるので、新しい行がインデックスの近い位置にまとまります。ただしv7は生成した時刻が分かるため、時刻を隠したい場合はv4を使ってください。

生成したUUIDが重複することはありますか?

v4のUUIDは乱数が122ビットあるため、現実的には重複しません。値は Math.random() ではなく、ブラウザの crypto.randomUUID() と crypto.getRandomValues() で生成します。

ページを開く前に一覧が空なのはなぜですか?

値はページを開いたあとにブラウザで生成します。サーバーが送るHTMLには生成した値が含まれないため、2人が同じ一覧を受け取ることはありません。

ULIDとは何ですか?

ULIDは128ビットの識別子をCrockford Base32の26文字で書いたものです。先頭の10文字はミリ秒単位の時刻、後ろの16文字は乱数です。文字列のまま並べても時刻順になり、I・L・O・Uは使いません。

一度に生成したv7の値はどのような順序ですか?

一度に生成した値はすべて同じミリ秒です。バージョンの桁に続く12ビットが値ごとに1ずつ増えるカウンターなので、一覧はすでに昇順です。カウンターが上限に達すると、次の値は次のミリ秒を使います。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: RFC 9562 · ULID
  • エンジン: Web Crypto API (crypto.randomUUID, crypto.getRandomValues) (ブラウザ内蔵) · ZEKILO Dev UUID v7・ULID生成器、UUID解析器 (自社実装)
  • UUID v7とULIDには生成した時刻が含まれます。時刻を隠す必要がある場所では使わないでください。
  • 生成した値は保存しません。再読み込みすると新しい一覧を作ります。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)