ソート可能・URLセーフなモダンIDをまとめて生成(100%ブラウザ内処理)
| 種類 | 長さ | ソート | 文字種 | 主な用途 |
|---|---|---|---|---|
| UUID v4 | 36 | 不可 | 16進+ハイフン | 汎用・完全ランダム |
| UUID v7 | 36 | 時系列可 | 16進+ハイフン | DB主キー(RFC 9562)・標準互換 |
| ULID | 26 | 時系列可 | Crockford Base32 | DB主キー・ログ・短く見せたい |
| NanoID | 21(既定) | 不可 | URLセーフ64種 | URL・短縮リンク・APIキー |
| CUID2 | 24(既定) | 不可 | 英小文字+数字 | 推測されにくい汎用ID・HTML id |
ULID・NanoID・UUID v7・CUID2という、2025〜2026年にかけてUUID v4に代わって普及が進む「モダンな一意識別子(ID)」を、ブラウザだけで無料生成できるツールです。上部のタブでID種類を選び、生成個数(1〜100)を指定して「生成する」を押すだけで、まとめてIDを作成できます。各IDは個別にコピーでき、「すべてコピー」「CSV出力」「JSON出力」で一括して持ち出せるため、テストデータ作成やDBのシード、APIのサンプル値づくりにそのまま使えます。
ULIDでは「単調増加(monotonic)」オプションを有効にすると、同一ミリ秒内で生成しても乱数部をインクリメントして必ず昇順になるよう保証します。NanoIDは文字数と使用文字(アルファベット)を自由に変更でき、URLセーフな短いIDから長い高強度IDまで調整可能です。CUID2も文字数を指定できます。
ULIDは先頭10文字に48ビットのミリ秒タイムスタンプを埋め込んでいます。本ツールの「ULID タイムスタンプ復号」欄にULIDを貼り付けると、その先頭部分をCrockford Base32からデコードし、埋め込まれた生成日時を人間が読める日付に復元します。ログに残ったULIDから「いつ発行されたIDか」を後から確認したいときに便利です。
従来広く使われてきたUUID v4は完全ランダムで、標準性と手軽さから長く定番でした。しかしデータベースの主キーに使うと、ランダムな値がインデックスのあちこちに挿入されるため、B-Treeのページ分割が頻発しキャッシュ効率が落ちるという弱点があります。そこで先頭に時刻を持たせ、新しいレコードほど連続した位置に追記される「時系列ソート可能なID」が注目されています。ULID・UUID v7がその代表で、挿入の局所性が高くインデックスの断片化を抑えられます。
| 観点 | おすすめ | 理由 |
|---|---|---|
| DB主キー(性能重視) | UUID v7 / ULID | 先頭タイムスタンプで挿入が局所化し断片化を抑制 |
| 標準・既存資産の活用 | UUID v7 | RFC 9562で標準化、既存のUUID型・ライブラリと互換 |
| URL・短縮リンク | NanoID | URLセーフで短く、長さ調整で強度も可変 |
| 推測されにくい汎用ID | CUID2 | 連番・時刻を露出せず、英小文字+数字で扱いやすい |
ULIDとUUID v7は、どちらもIDの先頭に「Unixミリ秒時刻(48ビット)」を配置します。文字列やバイト列として比較したとき、時刻部分が上位桁に来るため、単純な辞書順ソートが自動的に生成時刻順のソートになります。ULIDはCrockford Base32という、紛らわしいI・L・O・Uを除いた32文字を使うことで、大文字小文字の混同や誤読を避けつつ人間にも読みやすくしています。UUID v7は残りのビットにバージョン番号(7)とバリアントビット、乱数を格納することで、標準UUIDのフォーマットを保ったまま時系列性を実現しています。