ssecutils
Browser-native / zero upload

ULID Generator

Crockford Base32 でエンコードされた 26 文字の ULID を生成します。先頭がタイムスタンプなので文字列ソートで時系列に並びます。

local pipelinesealed
mode
local
tracking
zero

🆔 ULID Generator

Crockford Base32 でエンコードされた 26 文字の ULID(Universally Unique Lexicographically Sortable Identifier)を生成します。 先頭 48 bit がミリ秒タイムスタンプ、残り 80 bit がランダムで、文字列ソートで時系列順に並びます。すべてブラウザ内で crypto.getRandomValues による暗号学的乱数で生成され、サーバーには送信されません。

1〜1000
結果(0 件)タイムスタンプ(ローカル時刻)

タイムスタンプを抽出

既存のULIDを貼り付けると、先頭10文字から生成時刻を取り出します。

💡 ULID について

  • 26文字、固定長: UUID(36文字、ハイフン込み)より短く、URLやログに入れやすい形式です。
  • 辞書順 = 時系列順: 先頭48bitがUNIXミリ秒なので、文字列としてソートすると生成時刻順に並びます。RDBの主キーやログ識別子に使うと、B-treeインデックスのページ分散が抑えられ書き込みが安定します。
  • Crockford Base32: アルファベット 0123456789ABCDEFGHJKMNPQRSTVWXYZ。視認性を上げるため I / L / O / U を除外しています。
  • UUID v7との関係: 設計思想は近く、どちらも先頭にタイムスタンプを置く方式です。UUID v7はバイナリ16バイトのHEX表記(36文字)、ULIDはBase32表記(26文字)という違いがあります。
  • ランダム部分は crypto.getRandomValues による暗号学的に安全な乱数で生成します。Math.random() は使いません。
Next workflow

次に使うツール

作業の流れに近いツールへすぐ移動できます。

Search guide

ULIDを生成しタイムスタンプを確認する

ULID Generator は、Crockford Base32 エンコードの 26 文字 ULID をブラウザ内で生成するツールです。文字列ソートで時系列に並ぶため、ログID、イベントID、DBの主キーで時系列順を維持したい場面に向いています。

Browser-native privacy

ULIDの生成はブラウザ内で行われ、crypto.getRandomValues による暗号学的乱数を使用します。生成結果はサーバーへ送信されません。

UUIDとの使い分け

ULIDの先頭48bitはUNIXミリ秒タイムスタンプ、残り80bitがランダム値です。UUID v7と設計思想が近く、辞書順ソートと生成時刻順が一致します。表記は短くて大文字英数字のみ(IとLとOとUは除外)なので、URLやログにも入れやすい形式です。

時系列インデックスとの相性

B-treeインデックスでは、挿入順がインデックスのページ末尾に集中するほど断片化が抑えられ書き込みが安定します。完全ランダムなUUID v4と比べて、ULIDやUUID v7は近い時刻のレコードがインデックス上で近接するため、書き込み性能と読み出しキャッシュ効率の両方を高めやすくなります。

ULID Generator でできること

  • Crockford Base32 で26文字、IとLとOとUを除外
  • 先頭10文字がUNIXミリ秒、残り16文字がランダム
  • 文字列ソートで時系列順に並ぶ