生成
UUID 生成
crypto.randomUUID() を使い、衝突可能性が極めて低い UUID v4 を 1〜100 個まとめて生成します。大文字化、ハイフンなし表記の切替に対応。
直近の入力
全履歴 ·
履歴はあなたのブラウザにのみ保存されます。サーバーに送信されません。 設定
こんなときに使う
DB の主キーとして使う
PostgreSQL の uuid 型や MySQL の CHAR(36) で主キーに使う ID を作ります。連番より分散書き込みに強く、外部に推測されにくい利点があります。
イベント / リクエスト ID としてログに紐付ける
リクエストごとに UUID を発行して x-request-id ヘッダや構造化ログに含め、複数サービス間で 1 リクエストの追跡を可能にします。
テスト用のダミー ID を量産する
ステージング環境やユニットテストで「重複しないがそれっぽい」識別子が必要なとき、本ツールで 100 個まとめて生成します。
ファイル名に乱数サフィックスを付けて衝突回避
アップロードファイルや一時ファイルの名前に UUID を付与し、同名衝突を防ぎます。ハイフンなしモードを使うとパスを短くできます。
S3 / GCS のオブジェクトキー設計
オブジェクトストレージのキーに UUID を含めて、列挙されにくい URL を作ります。CDN キャッシュキーにも有効です。
Kafka / NATS などのメッセージ ID として
メッセージブローカーで重複排除(idempotency key)として UUID を使うと、再送による副作用を防ぎやすくなります。
CLI / 他言語でやる方法
uuidgen (macOS / Linux)
uuidgen デフォルト v4。--time で v1 も生成可能(macOS / Linux で挙動差あり)。
Python
python -c "import uuid; print(uuid.uuid4())" 標準ライブラリのみで生成可能。
Node.js
node -e "console.log(require('crypto').randomUUID())" Node 14.17+ で利用可能。本ツールと同じ実装。
よくある質問
▶ なぜ v4 ですか?v1 や v7 は?
v4 は完全乱数で衝突可能性が極めて低く、汎用的です。v1 は MAC アドレスを含み追跡可能、v7 は時刻順ソート可能で新しい用途に向いています。本ツールは現状 v4 のみ対応です。
▶ 重複する確率はどのくらいですか?
v4 は 122 ビットの乱数なので、年間 10 億個生成しても衝突確率は事実上無視できます。誕生日問題で見ても 1 兆個程度生成して 10 万分の 1 程度です。
▶ 暗号学的に安全ですか?
crypto.randomUUID() はブラウザの暗号学的乱数源(CSPRNG)を使います。連番のように予測される心配はありません。
▶ ハイフンなしモードはどう違いますか?
見た目だけの違いです。8-4-4-4-12 の区切りハイフンを取り除いて 32 文字の連続した 16 進数になります。容量を節約したい URL パスや短い ID 用途に使えます。
▶ 大文字化すると一意性に影響しますか?
影響しません。表記の違いだけで、同じ UUID を扱うシステム間では小文字に正規化されることが多いです。RFC 4122 では小文字推奨ですが、大文字でも有効です。
▶ ULID / Snowflake と何が違いますか?
ULID は時刻順にソート可能でアルファベット順比較に使え、Snowflake はサーバーごとの ID 割り当てがあります。UUID v4 は時刻情報を含まないため、DB のインデックス分散には向きますが、時系列ソートには向きません。
▶ サーバーに送信されますか?
送信されません。生成はブラウザ内の crypto.randomUUID() で完結します。
▶ 一度に何個まで生成できますか?
本ツールでは UI 上 100 個まで選択できます。さらに必要なら CLI(uuidgen のループ等)の利用を推奨します。