使い方
- 種類を選びます。ランダムな識別子ならバージョン4、時刻で並ぶ識別子ならバージョン7か ULID です。
- 個数を1から1000の数に設定します。
- 必要なら、システムが求める場合は大文字か波かっこで囲むにチェックを入れます。
- コピーで一覧をコピーするか、ダウンロードで1行に1つずつの識別子をテキストファイルとして保存します。
UUID と ULID の形式
UUID は128ビットで、16進数の32桁を、8-4-4-4-12の5つのグループで書いたものです。例えば3f2b8c1e-7a9d-4f3e-9b21-6d5e4c3b2a10のようになります。バージョンの桁が種類を示し、バリアントのビットが RFC の形式に従うことを示します。ULID は128ビットを、Crockford の base32の26文字で書いたもので、例えば01ARZ3NDEKTSV4RRFFQ69G5FAV のようになります。
UUID バージョン4: 122ビットの乱数
UUID バージョン7: 48ビットの時刻と、さらに74ビット
ULID: 48ビットの時刻と80ビットの乱数
バージョン7と ULID は時刻で並ぶ
どちらも Unix 時刻のミリ秒で始まるため、後で作られた識別子は、先に作られたものの後ろに並びます。これにより、データベースの索引が速く保たれます。1回のまとめ作成の中で、同じミリ秒に作られた識別子は数が増えていくため、一覧は順番どおりに保たれます(RFC 9562の6.2節と、ULID 仕様の単調性の規則)。
乱数と、識別子の用途
- 乱数は、時計だけからではなく、お使いのブラウザの暗号用の乱数生成器から得られます。
- バージョン4は時刻を持たず、並びません。順序が重要でないときに使ってください。
- UUID や ULID は識別子であり、パスワードやアクセスキーではありません。秘密として扱わないでください。
例:バージョン7か ULID の時刻を読み取る
このページは新しいランダムな識別子を作るため、例は既存のものを使う必要があります。RFC 9562の付録 A.6にあるバージョン7の UUID の先頭48ビットは017f22e279b0です。これは1,645,557,742,000ミリ秒、つまり2022-02-22 19:22:22 UTC です。
ULID 仕様にある ULID 01ARZ3NDEKTSV4RRFFQ69G5FAV の最初の10文字が、その時刻です。01ARZ3NDEK は1,469,922,850,259ミリ秒、つまり2016-07-30 23:54:10.259 UTC です。
| 識別子 | 時刻の部分 | 時刻(UTC) |
|---|---|---|
| 017f22e2-79b0-7cc3-98c4-dc0c0c07398f(UUID バージョン7) | 1,645,557,742,000ミリ秒 | 2022-02-22 19:22:22 |
| 01ARZ3NDEKTSV4RRFFQ69G5FAV(ULID) | 1,469,922,850,259ミリ秒 | 2016-07-30 23:54:10.259 |
よくある質問
UUID バージョン4、バージョン7、ULID の違いは何ですか?
バージョン4はランダムで、時刻を持ちません。バージョン7は Unix 時刻のミリ秒で始まる UUID で、ULID は同じ考え方に基づく26文字の文字列です。作った順序が大切なときは、バージョン7か ULID を使ってください。
作った識別子が同じになることはありますか?
バージョン4のランダムな空間は2の122乗なので、同じ識別子が出ることは事実上ありえません。1回のまとめ作成の中で、同じミリ秒に作られたバージョン7や ULID は、カウンターが増えるため、繰り返しません。
これらの識別子は、パスワードやアクセスキーとして安全に使えますか?
いいえ。識別子は秘密にするために作られていません。バージョン7や ULID は、作られた時刻を示します。秘密には、秘密用に作られたトークン生成ツールを使ってください。
バージョン7や ULID を解読すると、時刻が表示されるのはなぜですか?
どちらも、作成時刻を先頭の48ビットに、1970年からのミリ秒として持つからです。識別子を見た人は誰でもその時刻を読めるため、個人情報を入れないでください。
このページは、識別子を保存したり送信したりしますか?
いいえ。識別子はお使いのブラウザの中で作られ、保存も、アップロードも、記録もされません。ページを閉じると、作成された一覧は消えます。
出典
- RFC 9562:UUID(Universally Unique IDentifiers)、5.4、5.7、6.2節(IETF)(英語)
- ULID 仕様(GitHub、ulid/spec)(英語)
- Crockford の base32符号化(Douglas Crockford)(英語)
数値と文章の最終確認日:2026年11月10日火曜日。