ULID / NanoID / CUID2 ジェネレーター
分散システム向けの現代 ID 3 種。**ULID** は 26 文字、時刻順ソート可(48 ビット時刻 + 80 ビット乱数)。**NanoID** はアルファベットを設定可能なランダム ID — UUIDv4 同等の安全性、より短く URL 安全。**CUID2** は衝突耐性、フィンガープリント無し、既定で安全。すべて `crypto.getRandomValues` +棄却サンプリングで一様分布。
—
解説
ULID: 26 文字 · 48 ビット時刻 + 80 ビット乱数 · Crockford Base32 · 時刻順ソート。
使い方
- 方式(ULID・NanoID・CUID2)を選択。
- NanoID/CUID2 は長さ、NanoID はアルファベットも指定可能。
- 個数を決めて生成。個別または一括コピー。
よくある質問
- ULID と UUIDv4 の違いは?
- 両者とも 128 ビットの乱数だが、ULID の先頭 48 ビットは時刻 — 後で生成された ID が後ろに並ぶため DB PK に有用。
- UUID でなく NanoID を使う理由は?
- より短く(21 vs 36 文字)、既定で URL 安全、アルファベット設定可能。既定サイズで UUIDv4 と同等の暗号強度。
- CUID2 は安全?
- はい — 暗号学的 RNG、長さ調整可能。時刻やフィンガープリントを埋め込まず設計されている。
- RFC 準拠?
- ULID はコミュニティ仕様。NanoID・CUID2 は事実上の標準だが、UUID のような RFC 番号は無し。
このテーマのガイド
関連ツール
UUID ジェネレーター
ランダムなバージョン 4 UUID をまとめて生成し、コピー。
開発 0 0
ULID デコーダー (タイムスタンプ & ランダム)
ULID を 48 ビットの生成タイムスタンプと 80 ビットのランダム値に復号 — Crockford Base32、大文字小文字を区別せず、時刻を ISO UTC・相対・エポックミリ秒で表示 — ブラウザ内で。
開発 0 0
Snowflake ID デコーダー (Discord, Twitter)
Discord・Twitter/X・Instagram の Snowflake ID を生成タイムスタンプ、ワーカー/プロセスまたはデータセンター、シーケンスに復号 — カスタムエポックモード付き — ブラウザ内で。
開発 0 0
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
開発 0 0
JSON → TypeScript インターフェイス
JSON サンプルから TypeScript インターフェイスを生成 — キー名に沿って再帰的に型推論。
開発 0 0
JSON to JSDoc @typedef ジェネレーター
JSON オブジェクトを @property タグ付きの JSDoc @typedef ブロックにブラウザ上で変換します。
開発 0 0