無料オンラインUUID / ULID / NanoID生成ツール
ブラウザ内でUUID v4、UUID v1、ULID、NanoIDを即座に生成できます。一度に最大100件まで対応。100%クライアントサイドで動作し、サーバーへデータは送信されません。
UUIDとは?
UUID(Universally Unique Identifier:汎用一意識別子)は、RFC 4122で定義された128ビットのラベルです。UUID v4は5×10³⁶通り以上のパターンを持つため、同じUUIDが二度生成される確率は天文学的に低いといえます。UUIDを使うことで、データベースの行やAPIリソース、セッショントークンなど、中央の管理者やカウンターを必要とせずに分散システム全体で一意の識別子を作成できます。
UUID v4 と UUID v1、ULID、NanoIDの違い
用途に合った識別子を選びましょう。
完全にランダムな値です。すべてのモダンなデータベースや言語がネイティブにサポートする、最も広く使われている形式です。時系列情報は含まれません。crypto.randomUUID()で生成できます。
タイムスタンプを埋め込み、時系列順のソートを可能にします。元の仕様ではMACアドレスが露出するプライバシー上の懸念があるため、新規システムでは非推奨です。ソート性が必要な場合はULIDの使用をおすすめします。
作成時刻順に辞書順ソートが可能です。Prisma、Drizzleなど、あらゆるORMでデータベースの主キーとして最適です。26文字のCrockford Base32形式で、URLセーフかつ大文字小文字を区別しません。
わずか21文字(UUIDの36文字に対して)で、URLセーフな文字セット(A-Za-z0-9_-)を使用します。長さも設定可能です。URLスラッグや短いトークン、生成される識別子に最適です。
各識別子を使うべき場面
正しいID形式を選ぶための実践的なガイドです。
PostgreSQL(uuid型)、MySQL(CHAR(36))など、UUIDをネイティブにサポートするデータベースの主キーとしてUUID v4を使用します。主要なORMすべてでサポートされています。
ログファイル名やイベントの順序付けのためにタイムスタンプ埋め込み型のIDが必要なレガシーシステム向けです。新規プロジェクトではULIDの使用をおすすめします。
別途タイムスタンプ列を用意せずに作成時刻順でソートできる主キーが必要な場合はULIDを使用します。Prisma、Drizzle ORM、TypeORMですぐに利用できます。
URLスラッグや短命なトークンなど、コンパクトさとURLセーフ性が重要な場面ではNanoIDを使用します。長さを調整して衝突確率と可読性のバランスを取れます。