開発者向け / TOOL 106

UUID・ULID判定とデコード

UUIDのバージョン・variantやULIDの生成時刻を確認し、UUID v4とULIDも生成します。

01 条件を入力AUTO CALCULATE
02 / YOUR RESULT結果
入力すると判定結果が表示されます。

計算結果は参考値です。
計算方法・条件・注意点をあわせてご確認ください。

計算方法・根拠を確認 ↓
URL共有時は、対応する入力値がURLに含まれます。

使い方

入力欄へUUIDまたはULIDを貼り付けると、形式を判定して詳細を表示します。UUIDはハイフン付きの標準表記を大文字・小文字どちらでも入力でき、version(1〜8)とvariantを読み取ります。v1・v6・v7では識別子に含まれる生成時刻を日時として表示します。ULIDは先頭10文字のCrockford Base32から時刻を復元します。「UUID v4を生成」「ULIDを生成」は、件数を指定して最大20件まで作成できます。生成した一覧はボタンでコピーできます。

計算方法・仕様

UUIDのversionは13番目の16進文字、variantは17番目の上位ビットから判定します。v1はtime_low・time_mid・time_hi_and_versionを組み替え、UUID epoch(1582-10-15)からの100ナノ秒単位をUnix時刻へ変換します。v6は先頭48ビットを時刻として同様に扱い、v7は先頭48ビットをUnix時刻のミリ秒として扱います。ULIDは128ビット中の先頭48ビットがミリ秒時刻で、Crockford Base32(I/L/O/Uを使わない文字表)を数値として復元します。

注意点
  • 形式が正しくても、そのIDが実在することや発行元を証明するものではありません。
  • UUID v4とULIDの乱数部分は暗号学的乱数を使いますが、用途に必要な一意性・秘匿性はシステム設計でも確認してください。
  • 時刻は埋め込まれた値の目安です。時計のずれや実装差により、実際の作成時刻と一致しないことがあります。
よくある質問

Q. UUID v4に日時は入っていますか?

A. v4は基本的に乱数で、生成時刻を復元できる仕様ではありません。日時が必要ならv7やULIDを検討してください。

Q. ULIDとUUIDは同じものですか?

A. どちらも128ビットの識別子ですが、ULIDは時刻を先頭に持ち、通常は26文字のBase32で表す点が異なります。