UUID 生成

10 個の UUID がすぐに用意されています。ランダムな v4 と時刻順の v7 を切り替え、形を変えてコピーまたはダウンロードできます。

使い方

  1. ページを開くと 10 個の UUID がすでに並んでいます。必要なものをそのまま使うか、「生成する数」を変えて最大 1000 個まで一度に生成できます。
  2. バージョンを選びます。「v4 ランダム」は 122 ビットの乱数、「v7 時刻順」は先頭 48 ビットに Unix ミリ秒のタイムスタンプを置くため、生成順に並ぶ識別子になります。
  3. ハイフン・大文字・{ 波括弧 } で形を変えられます。ハイフンなしの 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 です。

識別子を用意したあとによく使われるツールです。