ULID Generator

ULID(26文字、時刻+乱数)を即生成し、貼り付けた値から時刻を逆算して確認できます。UUIDより短い見た目で、ログやURLで扱いやすいIDを用意したいときに便利です。

状態

検証結果

デコード時刻

ブラウザ内で処理します。入力はサーバーへ送信しません。

使い方

件数を決めて「生成」。任意のULIDを下段に貼り付けると形式チェックと時刻デコードを表示します。

注意(このツール)

  • 大文字のCrockford Base32を前提に判定します。
  • 時刻はULID先頭10文字から算出するため、元の生成環境の時計精度に依存します。

このページについて

何をするツール?

ULIDを指定件数で生成し、同時に入力ULIDの形式チェックと時刻デコードを行います。

時刻が先頭に埋め込まれているため、概ね時系列に並びやすいIDをすぐ作れます。

使いどころ

  • ログ行やイベントIDを時系列で追いたい
  • URLに載せるIDを短く保ちたい
  • 既存ULIDから発行時刻をざっくり確認したい

推奨(実務)

  • DB索引では文字列照合順序(collation)を固定し、大小文字混在を避ける
  • 時刻順が重要なら同一ms内の採番方針(monotonic ULID)を検討する
  • 外部公開IDでも認可設計は別途必要(ID推測困難性に依存しない)

このツールでできること

  • ULIDの複数件生成
  • ULID形式の妥当性チェック
  • 先頭10文字からの時刻デコード

注意点

  • この実装はmonotonic ULIDを保証しません。同一ms内の厳密順序は実装依存です。
  • ULIDの時刻はミリ秒精度です。アプリ側時刻同期が崩れると順序前提も崩れます。
  • 検証は形式中心であり、値の真正性や所有権までは判定しません。

切り分け手順(おすすめ)

  • ULIDを生成して入力先へ貼り付ける
  • 受信側で拒否された値を再貼り付けして形式チェック
  • デコード時刻を確認し、時刻ずれや順序異常を確認する

参照仕様

  • ULID specification
  • Web Crypto API(getRandomValues)

FAQ

ULIDはUUIDの代わりになりますか?

用途次第です。短く扱いやすく時系列性を持たせやすい反面、標準化状況や既存互換性はUUIDの方が広いです。

ULIDから正確な作成時刻を取得できますか?

ミリ秒単位の時刻は取得できますが、同一ミリ秒内の正確な順序は乱数部だけでは確定できません。

参考リンク

  1. ULID Specification
  2. MDN: Crypto.getRandomValues()

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. UUIDv7(Timestamp→UUID) — Unix msからUUIDv7境界値(earliest/random/latest)を生成
  2. UUIDv7ジェネレーター — UUIDv7を生成・検証し、時刻由来の値を抽出
  3. UUID Inspect(解析) — UUIDを正規化し、version/variant/timestamp を解析
  4. UUID v4 Generator — UUID v4を複数生成し、表示形式を切り替えてコピー

Example

01JMV9Q7FK4W1N7C3J8K2AQN5S