ULID ジェネレーター(オンライン)

ソート可能な ULID を生成し、埋め込まれたタイムスタンプをデコードし、ULID と UUID を相互変換します — すべてブラウザ内で。何もアップロードされません。

ULID ジェネレーターはすべてブラウザ内で動作します。ランダム性は Web Crypto API から得られ、生成・デコード・変換する ULID が端末から離れることも ArrayKit に届くこともありません。

UUID ジェネレーターを開く

ULID ジェネレーター について

ULID ジェネレーターは、辞書順でソート可能な識別子である ULID を生成します。ULID は 48 ビットのミリ秒タイムスタンプと 80 ビットのランダム性を、コンパクトな 26 文字の Crockford base32 文字列に詰め込みます。単一の ULID や数百のバッチを生成し、同じミリ秒に作られた ID も作成順にソートされるようモノトニックモードを切り替え、データベースが好む形式に合わせて大文字小文字を切り替えられます。デコードモードはその逆を行います: 任意の ULID を貼り付けると、正確な作成時刻をエポックミリ秒と ISO-8601 タイムスタンプとして読み戻せます。組み込みのコンバーターは、ULID をその等価な 128 ビットの UUID に、また元に、1 ビットも失わずに変換します。時刻でソートされるデータベースキー・ログの相関 ID・UUID の代替が必要なときに便利です。ランダムバイトはブラウザの Web Crypto API から得られ、すべての ULID は端末上で構築されるため、生成したものがサーバーに送られることは決してありません。

機能

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

  1. Generate タブを選んだまま、必要な ULID の数を設定します
  2. 時刻順のキーには Monotonic を有効に、独立したランダム末尾には無効にします
  3. 出力ボックスから ULID またはバッチ全体をコピーします
  4. Decode に切り替えて ULID のタイムスタンプを読むか、ULID to UUID で変換します

入力

01ARZ3NDEKTSV4RRFFQ69G5FAV

出力

timestamp: 1469922850259 (2016-07-30T23:54:10.259Z)
uuid: 01563e3a-b5d3-d676-4c61-efb99302bd5b

最初の 10 文字が作成時刻にデコードされ、128 ビットすべてが UUID にマッピングされます。

よくあるエラーとトラブルシューティング

よくある質問

ULID とは何で、UUID とどう違いますか?
ULID は 26 文字の Crockford base32 で書かれる 128 ビットの識別子です。ランダムな UUIDv4 と異なり、先頭のビットがミリ秒タイムスタンプなので、ULID はグローバルに一意でありながらプレーンなテキストとして作成順にソートされます。
モノトニックな ULID 生成はどう機能しますか?
同じミリ秒内に複数の ULID を生成するとき、モノトニックモードは新しいランダム性を引く代わりに、そのミリ秒のランダムフィールドを再利用して各新規 ID ごとに 1 を加えます。これにより各 ULID が前のものより厳密に大きいことが保証されます。
ULID から作成時刻を復元できますか?
はい。最初の 10 文字が 48 ビットのミリ秒タイムスタンプをエンコードします。ULID を Decode モードに貼り付けると、ツールが正確なエポックミリ秒の値と対応する ISO-8601 の日時を表示します。
ULID から UUID への変換は可逆ですか?
はい。ULID と UUID はどちらも 128 ビットを保持するため、コンバーターはすべてのビットを損失なくマッピングします。ULID を UUID に変換して元に戻すと、正確に元の ULID が得られます。
アルファベットが I・L・O・U を除くのはなぜですか?
ULID は Crockford base32 を使い、ID が読みやすく打ち間違えにくいよう I・L・O・U を省きます。デコード時には利便性のため、I と L を 1 として、O を 0 として受け付けます。
ここで生成する ULID は非公開ですか?
はい。すべての ULID はランダム性に Web Crypto API を使ってブラウザ内で構築されます。生成・デコード・変換する ID が ArrayKit やどのサーバーにも送られることはありません。

関連ツール

すべての ArrayKit ツール