UUID生成ツール
ブラウザ内で動作し、何もアップロードされません
バージョン4またはバージョン7のUUIDを1つずつ、または1,000個まとめて生成し、任意のUUIDのバージョン、バリアント、タイムスタンプを確認できます。
Generated
Generating…
Inspect
Shows the version, the variant and, for time-based UUIDs (versions 1, 6 and 7), when it was made. Choose Inspect on a generated value to try it.
UUIDとは?
UUID(汎用一意識別子)はGUIDとも呼ばれる128ビットの値で、3f2b8c1e-9a4d-4e7b-b5c2-6d1f0a8e9c47 のように5つのグループに分けた32桁の16進数で書きます。中央のサーバーに問い合わせなくても誰でも作成でき、それでいて他の誰かが同じ値を作ることはまずありません。形式はRFC 9562で定義されています。
バージョン4はランダムで、128ビットのうち122ビットが安全な乱数生成器から作られます。バージョン7はミリ秒単位のUnix時間で始まり、その後にランダムなビットが続くため、値は作成時刻の順に並びます。新しい行がインデックスのランダムな位置ではなく末尾に追加されるので、v7のほうがデータベースのキーに向いています。バージョンは3つ目のグループの最初の桁(4 か 7)でわかります。
APIでは、UUIDをリソースID、冪等性キー、リクエストIDとして使います。テストでは実行ごとに一意の名前やキーを用意でき、形式は正しいけれど存在しないUUIDは、APIが500ではなく404を返すかを確かめるのに便利です。
使い方
- 1v4 random か v7 time-ordered を選び、必要な数(最大1,000)を指定して、Generate を押すか Ctrl+Enter を押します。
- 2書式を選びます。大文字、ハイフンの有無、GUIDでよく使われる波かっこ付き、
urn:uuid:プレフィックス付きから選べます。新しい値は生成されず、リストの表示だけが更新されます。 - 3各行のボタンで1つの値を、Copy all でリスト全体をコピーします。Download(Ctrl+S)で、1行に1つずつのテキストファイルとして保存できます。
- 4任意のUUIDを Inspect に貼り付けるか、生成された行で Inspect を選ぶと、バージョン、バリアント、そしてバージョン1・6・7の場合は作成日時を確認できます。
トラブルシューティング
- Inspect で桁数が正しくないと表示される
- UUIDはちょうど32桁の16進数です。ログからコピーした値は途中で切れていたり、余分な文字が付いていたりすることがあります。波かっこ、ハイフン、
urn:uuid:プレフィックスは受け付けます。 - バリアントがRFC 9562ではない
- 古いMicrosoftやNCSの形式は、別のバリアントビットを使います。そうした値ではバージョンの桁がRFC 9562のとおりの意味を持たないため、ツールはバリアントだけを表示し、それ以外は解釈しません。
- 2つのブラウザタブで作ったv7の値がきれいに並ばない
- 1回の生成の中では、同じミリ秒内であってもv7の値が必ず増加するようにしています。別のタブや別のマシンで同じミリ秒に作られた値は、RFCで認められているとおり、順序が入り混じることがあります。
よくある質問
2つのUUIDが同じになることはありますか?
実際にはありません。ランダムなビットが122ビット(v7ではミリ秒あたり74ビット)あるので、重複が起こりうるには、毎秒数十億個を何年も生成し続ける必要があります。
このUUIDを秘密の値として使っても安全ですか?
ブラウザの安全な乱数生成器から作られていますが、UUIDは秘密ではなく識別子であり、v7は作成日時がわかってしまいます。トークンや鍵にはパスワード生成ツールを使ってください。
UUIDはサーバーで生成されますか?
いいえ。ページの読み込み後にブラウザ内で生成され、どこにも保存・送信されません。