ULID ジェネレーター

Blog

ULID ジェネレーター

BlogCheatsheets
Loading...
Loading ULID generator...

説明

ULID(辞書順ソート可能な汎用一意識別子)を生成。単調増加、時刻順ソート可能、URLセーフなUUIDの代替。

概要: ULID ジェネレーター

ULID は辞書順にソート可能で時間順に並ぶ128ビットの識別子です。最初の48ビットがミリ秒単位の Unix タイムスタンプをエンコードし、残りの80ビットはランダムです。Crockford の base32 を用いて26文字にエンコードされ、URL セーフで紛らわしい文字を避けています。ULID は作成時刻で自然にソートされる ID が欲しいときに UUID の便利な代替となり、このジェネレーターはブラウザ内でローカルにそれらを生成します。

使い方

  1. ツールを開くと、現在のタイムスタンプに基づいて ULID が生成されます。
  2. 必要に応じて、一度に生成する ULID の数を選択します。
  3. 「生成」をクリックすると、現在の時刻とランダムビットから新しい ULID が作成されます。
  4. 生成された26文字の識別子をコピーして、アプリケーションで使用します。

入力出力
ULID の形Generate one ULIDA 26-character Crockford base32 string, e.g. 01ARZ3NDEKTSV4RRFFQ69G5FAV

よくある質問

ULID は UUID とどう違いますか?

どちらも128ビットの識別子ですが、ULID は最初の48ビットにミリ秒タイムスタンプを埋め込み、Crockford base32(26文字)でエンコードされるため、作成時刻で辞書順にソート可能です。UUID(特に v4)は正規のテキスト形式では時間順にソートできません。

なぜ ULID はソート可能なのですか?

タイムスタンプが最上位ビットを占めるため、ULID を単純な文字列としてソートすると生成された時刻順に並びます。これはデータベースのキーやログに便利です。

ULID は URL セーフですか?

はい。Crockford base32 は数字と大文字の一部のみを使用し、混同を避けるため I、L、O、U などの文字を除外しているため、ULID はエスケープせずに URL やファイル名に配置できます。

ULID における「単調(monotonic)」とはどういう意味ですか?

同じミリ秒内に複数の ULID が生成されるとき、単調なジェネレーターはランダム成分をインクリメントするため、そのミリ秒内で完全にランダムになるのではなく、作成された順に ID がソートされます。