UUID生成ツール|v4・v7・ULID対応・無料

お役立ちツール
状態:読み込み中…

UUID(v4・v7)やULID、ランダム英数字IDをワンクリックで生成します。すべてブラウザ内で生成し、サーバーには送りません。

※ IDはあなたのブラウザ内だけで生成され、サーバーには送信されません(安全)。
※ 対応ブラウザでは暗号学的に安全な乱数(Crypto API)を使用します。非対応の古いブラウザでは簡易乱数に切り替わり、上の状態表示でお知らせします。

このツールの使い方

操作はシンプルです。難しい設定や会員登録は必要ありません。IDの種類を選ぶところから始めてください。

  1. IDの種類をUUID v4・UUID v7・ULID・ランダム英数字IDの中から選びます。迷ったら定番のUUID v4のままで構いません。
  2. 生成する個数を指定します。1〜100個まで一括生成でき、必要ならハイフンなしや大文字出力に切り替えられます。
  3. 生成するボタンを押すと、IDの一覧が下に表示されます。各行のコピーで1件ずつ、すべてコピーで改行区切りの一括コピーができます。
  4. 大量のIDを保存したいときは、テキストで保存を押すと1行1件のテキストファイルでダウンロードできます。
データベースの主キーを作るなら時系列で並ぶUUID v7、公開URLに使うIDなら生成時刻が漏れないUUID v4、と使い分けるのがおすすめです。対応ブラウザでは暗号学的に安全な乱数で生成され、IDはすべてブラウザ内で作られて外部に送信されません。

そもそもUUIDとは?

UUID(Universally Unique Identifier・汎用一意識別子)とは、世界中の誰がいつ作っても事実上重複しない、128ビットの識別子です。16進数32桁を8-4-4-4-12のパターンでハイフン区切りした36文字の形式で表記され、MicrosoftのGUIDもUUIDの実装のひとつです。

最大の特徴は、中央の採番サーバーがなくても、その場で一意なIDを作れることです。仕様はRFC 9562(2024年5月に旧RFC 4122を置き換えて標準化)で定められており、完全ランダムなv4に加えて、先頭にミリ秒単位のタイムスタンプを持ち時系列でソートできるv7が新たに追加されました。一般的な用途で推奨されるのはこのv4とv7です。

UUIDのメリット・デメリット

UUIDは分散システム時代の定番IDですが、連番IDをすべて置き換えればよいわけではありません。得意なことと苦手なことの両方を知っておくと、設計の判断を誤らずに済みます。

メリット

  • 採番サーバーへの問い合わせなしに、複数のサーバーやアプリがそれぞれの場所でIDを作っても衝突しません。分散システムやオフライン動作と相性が良い方式です。
  • 連番と違ってIDから件数や登録順を推測されないため、URLのIDを1つずつずらして他人のデータを覗くような攻撃を防ぎやすくなります(v4の場合)。
  • ほぼすべてのプログラミング言語とデータベースが標準でサポートしており、システム間でIDをやり取りしても互換性の心配がありません。

デメリット・気をつけたい点

  • 36文字(128ビット)と整数の連番より長く、保存容量やインデックスサイズが大きくなります。小規模な単一データベースなら連番のほうが軽量です。
  • 完全ランダムなv4をデータベースの主キーにすると、挿入位置がバラバラになりインデックスの断片化で書き込み性能が落ちることがあります。この弱点を解決するのがv7です。
  • 逆にv7やULIDは、IDの先頭から生成時刻が読み取れます。作成日時を知られたくない公開IDには、時刻情報を含まないv4を選んでください。

こんな時に使うと便利

  • データベース設計で主キーの実物を見たいとき:v7を数十個生成して並べると、先頭が時系列で揃う様子をその場で確認できます。
  • テストデータやサンプルコードを作るとき:仮のユーザーIDや注文IDが今すぐ100個必要、という場面で環境構築なしに一括生成できます。
  • APIキーの識別子やWebhookのIDを決めるとき:ドキュメントや設定ファイルに貼る一意な識別子を、コマンドを打たずに用意できます。
  • ファイル名やキャンペーンコードに一意な文字列が欲しいとき:ランダム英数字IDなら長さを4〜64文字で自由に調整できます。
  • 社外に出せない開発作業のとき:IDはブラウザ内だけで生成されるため、外部サービスに一切送信せずに使えます。

よくある質問

Q
生成したIDは外部に送信されますか?
A

いいえ、送信されません。生成はすべてお使いのブラウザ内で完結し、作られたIDがサーバーに送られたり保存されたりすることはありません。社内システムや未公開サービスのID作成にも安心して使えます。

Q
生成したUUIDが他の人のUUIDと重複することはありますか?
A

実用上は起こりません。UUID v4はバージョン情報などを除いた122ビットがランダムで、組み合わせは天文学的な数になります。毎秒大量に生成し続けても衝突が現実的な確率になるまで気の遠くなる時間がかかる設計です。ただし理論上の確率はゼロではないため、絶対の一意性が必要なシステムではデータベース側の一意制約と併用するのが定石です。

Q
パスワードやセッショントークンとして使ってもいいですか?
A

おすすめしません。UUIDはあくまで識別のための仕組みで、秘密情報として設計されていません。特にv7やULIDは生成時刻がIDから読み取れます。パスワードには記号を含むランダム文字列を作れる当サイトのパスワード生成ツールを、セッショントークンなどには各言語の暗号用乱数機能を使ってください。

Q
UUID v4とv7の違いは何ですか?
A

生成方式が違います。v4は全体がほぼ乱数の完全ランダム型で、IDから作成時刻などの情報が一切漏れません。一方v7は先頭48ビットにミリ秒単位の現在時刻を埋め込むため、生成順に並べ替えられ、データベースの主キーにしたときの書き込み性能に優れます。プライバシー重視の公開IDならv4、大量データを扱う内部の主キーならv7、というのが基本の使い分けです。

コメント