UUID 生成
10 個の UUID がすぐに用意されています。ランダムな v4 と時刻順の v7 を切り替え、形を変えてコピーまたはダウンロードできます。
生成された UUID
使い方
- ページを開くと 10 個の UUID がすでに並んでいます。必要なものをそのまま使うか、「生成する数」を変えて最大 1000 個まで一度に生成できます。
- バージョンを選びます。「v4 ランダム」は 122 ビットの乱数、「v7 時刻順」は先頭 48 ビットに Unix ミリ秒のタイムスタンプを置くため、生成順に並ぶ識別子になります。
- ハイフン・大文字・{ 波括弧 } で形を変えられます。ハイフンなしの 32 文字が必要なときや、Windows や .NET が使う {…} の形が必要なときに便利です。
例
設定
v4 · 生成数: 3 · 小文字 · ハイフンあり
結果の一例
3f2a1c90-7b4e-4b8a-9f31-0c5d6e7a8b12 8c1d0e77-5a2b-4f60-9c31-7ad4e02b5f19 b07c5e21-9d34-4a18-8e6b-1f2c9a0d4e35
値はランダムなので、まったく同じものが出ることはありません。形を確認してください。36 文字が 8-4-4-4-12 に区切られ、13 番目の 16 進数字は v4 なら必ず 4(v7 なら 7)、17 番目は必ず 8、9、a、b のいずれかです。このページの UUID はすべて端末上で作られ、外に出ることはありません。
ルール・制限・既知の問題
- 対応するのは v4 と v7 だけです。v1 と v6 は MAC アドレスやノード識別子を必要としますが、ブラウザはそれを提供できません。でっち上げれば v1 に見えるだけで v1 ではないものができます。v8 はレイアウトを各実装に委ねているため、一般的な説明ができません。nil UUID は生成するものではなく定数です: 00000000-0000-0000-0000-000000000000。
- v4 は 122 ビットの乱数を持ちます(128 ビットからバージョンの 4 ビットとバリアントの 2 ビットを除いたもの)。v7 は 48 ビットのタイムスタンプと 74 ビットの乱数を持ちます。
- 同じ束の中では、ミリ秒が変わらない間、v7 の 12 ビットの rand_a を増加するカウンターに置き換えます(RFC 9562 が認める方式)。これにより束の中で昇順に並びます。代償はそのミリ秒内のエントロピーが 12 ビットになることで、同じミリ秒に 4096 個を超えるとカウンターが尽き、順序の保証はなくなります。
- 一度に生成できるのは最大 1000 個です。それを超えると黙って切り捨てず、エラーを報告します。
- 乱数はブラウザの crypto.getRandomValues から取ります。どの UUID 実装でもそうであるように、一意性は確率的なものです。このツールが保証するのは正しい構築であり、地球規模での一意性ではありません。
- ハイフン、大文字、波括弧は値の書き方だけを変え、値そのものは変えません。
- 件数を増やすと、すでにある値を残したまま新しい値を追加します。束全体が入れ替わるのは「もう一度生成」を押したときか、バージョンを切り替えたときだけです。
- ページを再読み込みすると新しい束になります。履歴、保存された一覧、値を含むリンクはありません。残しておきたい場合は .txt ファイルをダウンロードしてください。
- 「生成する数」の数字は ASCII の 0-9、アラビア・インド数字の ٠-٩、ペルシア数字の ۰-۹、全角の 0-9で入力でき、桁区切りは無視するため「1 000」は 1000 です。
関連ツール
識別子を用意したあとによく使われるツールです。