ツール説明
UUID ジェネレーターについて
UUID v4 Generator は、request ID、データベース key、テストデータ、相関 ID に使えるランダムな 128-bit ID を生成します。
複数件生成、大文字化、ハイフン除去に対応し、時間順に並べやすい UUID v7 も選べます。
UUID v4 Generator の使い方
- ランダム ID には UUID v4、時系列で並べたい場合は UUID v7 を選びます。
- テストデータやシードデータが必要なときは、生成前に件数を設定します。
- 大文字は旧システムが要求する場合だけ使い、通常は小文字で十分です。
- 32 文字のコンパクト形式が必要な場合だけハイフンを外します。
よくある利用場面
- API リクエストの correlation ID を作り、複数サービスのログをつなげる。
- データベース sequence に頼らずテストレコード ID を作る。
- mock JSON、OpenAPI 例、フロントエンド fixture 用の ID を用意する。
- イベントや監査レコードを作成時刻順に近い形で並べたいとき UUID v7 を使う。
UUID の形式と注意点
標準 UUID はハイフン込みで 36 文字、8-4-4-4-12 の 16 進グループで表示されます。UUID v4 はランダム、UUID v7 は timestamp とランダム値を組み合わせます。
- UUID v4: 多くのアプリ ID や request ID に向くランダム ID。
- UUID v7: 時間順に近い ID。挿入順が効く DB index に向きます。
- ハイフンなし: 同じ 128-bit 値を区切りなしで表します。
- 大文字小文字: 通常の比較では同じ値として扱えます。
UUID ジェネレーターのよくある質問
- UUID v4 は本当に一意ですか?
- 確率的に一意です。安全な乱数源を使えば、通常のアプリ ID で衝突する可能性は極めて低いです。
- UUID v7 はいつ使いますか?
- ログ、イベント、DB index など、作成時刻に近い順序で並べたいときに使います。
- UUID は大文字と小文字どちらがよいですか?
- Web や JSON では小文字が一般的です。大文字は互換性や表示要件がある場合に使います。
- ハイフンを削除してもよいですか?
- はい、値は同じです。ただし API 契約や保存形式が求める場合以外は標準形式を推奨します。
- 生成した UUID は送信されますか?
- いいえ。生成と整形はブラウザー内で行われ、wetool.site には送信されません。
UUID と auto-increment ID
auto-increment ID は短く読みやすい一方、中央の DB sequence が必要です。UUID は長いですが、分散環境やキュー経由の作成に向いています。
UUID v4 が適した場面
UUID v4 はオフラインでの生成、システム間の統合、連番を見せたくない外部公開 ID に向いていますが、すべての ID の既定解ではありません。
- クライアント側の一時 ID、分散タスク ID、テストデータ、公開共有リンクにはランダムな UUID が向いています。
- データベースの主キーでインデックスの局所性が重要なら、UUID v7、ULID、データベースの自動採番 ID も検討します。
- UUID を認可トークンとして扱わないでください。Guess しにくいことはアクセス制御と同じではありません。
衝突確率と乱数源
UUID v4 は高品質な乱数に依存します。ブラウザーでの生成は Math.random() ではなく Web Crypto 水準の乱数を使うべきです。
- 標準の v4 UUID は約 122 ビットのランダム性を持ち、通常の利用規模では衝突確率は非常に低いです。
- 一括生成後の重複確認はコピー&ペーストの誤りやスクリプト再利用の誤りを見つけられます。
- UUID v4 に時刻情報は含まれません。時刻順の並べ替えや追跡が必要なら created_at を別に保存するか、時刻順の ID を使います。