ZeroTool Workbench
ULID ジェネレーター
ULIDをオンラインで生成。単体またはバッチ(最大100件)対応。タイムスタンプとランダム部分を表示。ULIDデコーダー内蔵。外部依存なしの完全クライアントサイド処理。
使い方
- バッチ数(1–100)を設定して、一度に生成するULIDの数を決めます。
- 生成ボタンをクリックして新しいULIDを作成します。
- 各行にULIDの全文字列、デコードされたタイムスタンプ(UTC)、ランダム部分が表示されます。
- 各行のコピーで単一ULIDをコピー、すべてコピーで全ULIDを改行区切りでコピーします。
- 下部のULIDデコーダーに既存のULIDを貼り付けてタイムスタンプを抽出できます。
ULID 構造
01ARZ3NDEKTSV4RRFFQ69G5FAV
├─ タイムスタンプ(10文字)─┤├── ランダム部分(16文字)──┤
48ビット ミリ秒タイムスタンプ 80ビット 暗号学的乱数
ULID vs UUID 比較
| 特徴 | ULID | UUID v4 |
|---|---|---|
| 長さ | 26文字 | 36文字(ハイフン含む) |
| ソート可能 | ✓ はい | ✗ いいえ |
| タイムスタンプ内蔵 | ✓ はい | ✗ いいえ |
| URL安全 | ✓ はい | ✓ はい |
| 大文字小文字不区別 | ✓ はい | ✓ はい |
| ランダムビット数 | 80ビット | 122ビット |
関連ツール
- UUID ジェネレーター — 標準UUID v4の生成
FAQ
ULIDとは何ですか?
ULID(Universally Unique Lexicographically Sortable Identifier)は、Crockford Base32の26文字で表現される128ビットの識別子です。UUID v4と異なり、ULIDは辞書順でソート可能です。先頭10文字が48ビットのミリ秒タイムスタンプ、残り16文字が80ビットの乱数です。
ULIDの構造を教えてください。
ULIDは26文字:先頭10文字がタイムスタンプ(48ビット、ミリ秒精度、西暦10889年まで有効)、残り16文字が暗号学的に安全な乱数(80ビット)。Crockford Base32(0-9とA-Z、I・L・O・Uを除く)でエンコードされます。
ULIDとUUIDの違いは何ですか?
UUID v4は完全にランダムで時系列ソートができません。ULIDは生成順に辞書順ソートされるため、データベースの主キーとして最適です。順次挿入によりB木の断片化が減少し、大規模テーブルのINSERT・SELECT性能が向上します。ULIDはURL安全で大文字小文字を区別しません。
ULIDデコーダーは何のためですか?
既存のULIDを貼り付けると、その生成タイムスタンプを抽出できます。別途created_atカラムがなくてもIDから直接レコードの作成日時を確認できるため、デバッグに役立ちます。
ツールは完全にクライアントサイドで動作しますか?
はい。ULID生成はブラウザのWeb Crypto API(crypto.getRandomValues)を使用し、Date.now()でタイムスタンプを取得します。サーバーへのデータ送信は一切ありません。