ULIDジェネレーター

時系列にソート可能かつ一意なULIDを生成します。

構成

生成

生成数

出力

読み取り専用

ULIDジェネレーターとは?

ULID(Universally Unique Lexicographically Sortable Identifier)を生成するシンプルなツールです。

ULIDについて

ULIDは時刻とランダム性を組み合わせて生成される一意な識別子(ID)です。
同様に一意なIDを生成するものにUUID(Universally Unique Identifier)がありますが、下記がUUIDと異なる点およびULIDの特徴です。

  • UUIDとの128ビット互換性
  • 1ミリ秒あたり1.21e+24のユニークなULID
  • 辞書順でソート可能
  • 36文字のUUIDと異なり、26文字の文字列として正規化される
  • Base32エンコ-ディングを使用し、効率と可読性を向上(1文字あたり5ビット)
  • 大文字小文字を区別しない
  • 特殊文字なし(URLセーフ)
  • 単調ソート順(同じミリ秒を正しく検出して処理する)

※ULID仕様: https://github.com/ulid/spec

ULIDジェネレーターの使い方

  1. 生成方法を選択
  2. 生成に利用するシードタイムを入力

ULID生成ボタンを押すと指定した構成に従ってULIDを生成します。
一度に生成するULIDの数を指定可能です。1~100の間で生成数を変更できます。

ULIDの構成について

デフォルト

タイムスタンプとクリプトセキュアな擬似乱数生成アルゴリズムによって生成されたランダムビットを組み合わせて生成します。

タイムシード

シードタイムを指定して生成します。
同じシードタイムを使い生成すると、生成されたULIDのタイムスタンプコンポーネント(先頭8バイト)は常に同じになります。
ただし、ULIDの残り8バイトはランダムビットとなるため、タイムスタンプコンポーネントが同じでも異なるULIDが生成されます。

単調増加

単調増加するULIDを生成します。
同じシードタイムを指定することで、最下位のランダムビットを1ずつ増分し厳密な順序付けがされたULIDを生成します。