mochotomochotoロゴ
UUID 生成(v4)

UUID v4(ランダムUUID)を簡単に生成できるオンラインツールです。 データベースのプライマリキーやAPIの識別子として使用できます。

1〜100個まで指定可能

UUID v4について

UUID(Universally Unique Identifier)は、ソフトウェア開発で一意の識別子が必要な場面で使用される128ビットの値です。

このツールで生成されるUUID v4は、ランダムに生成され、実質的に重複することのない一意な値が得られます。

標準形式の例:

550e8400-e29b-41d4-a716-446655440000

主な使用場面

  • データベースのプライマリキー
  • APIのリクエストID、トランザクションID
  • セッションID、トークン生成
  • ファイル名やディレクトリ名の一意化
  • 分散システムでの一意な識別子

UUID生成ツールについて

このツールは、UUID(Universally Unique Identifier)v4を簡単に生成できる無料オンラインツールです。UUID v4はランダムに生成される128ビットの識別子で、実質的に重複することのない一意な値が得られます。データベースのプライマリキー、APIのリクエストID、セッションIDなど、様々な場面で活用できます。

主な機能

  • 一括生成: 1〜100個まで一度に生成可能
  • 複数フォーマット対応: 標準形式、ハイフンなし、大文字など4種類
  • 個別コピー: 各UUIDを個別にコピー
  • 一括コピー: 生成したすべてのUUIDをまとめてコピー
  • 追加生成: 既存の結果に1件ずつ追加可能
  • 暗号学的に安全: ブラウザの crypto.randomUUID() を使用

使い方

  1. 生成数を入力(1〜100個)
  2. フォーマットを選択(標準、ハイフンなし、大文字など)
  3. 「生成」ボタンをクリック
  4. 生成されたUUIDが一覧表示されます
  5. 個別にコピーするか、「全てコピー」で一括コピー

フォーマットの種類

標準形式

550e8400-e29b-41d4-a716-446655440000

RFC 4122に準拠した標準的な形式。ハイフンで区切られた5つのグループ(8-4-4-4-12文字)。

ハイフンなし

550e8400e29b41d4a716446655440000

ハイフンを除いた32文字の16進数文字列。データベースやファイル名に便利。

大文字

550E8400-E29B-41D4-A716-446655440000

標準形式の大文字版。一部のシステムで要求される形式。

大文字・ハイフンなし

550E8400E29B41D4A716446655440000

大文字でハイフンを除いた形式。特定のAPIやシステムで使用。

UUID v4とは

UUID v4は、ランダムに生成される128ビット(16バイト)の識別子です。理論上、約3.4×10³⁸個の異なる値を生成できるため、実用上は重複の心配がありません。

UUIDの構造

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
  • 4: バージョン番号(v4を示す)
  • y: バリアント(8, 9, a, bのいずれか)
  • x: ランダムな16進数(0-9, a-f)

主な使用場面

  • データベース: テーブルのプライマリキーとして使用
  • API開発: リクエストID、トランザクションID、相関IDの生成
  • セッション管理: セッションID、トークンの生成
  • ファイル管理: 一意なファイル名やディレクトリ名の生成
  • 分散システム: 複数サーバー間で重複しない識別子が必要な場合
  • テストデータ: 開発・テスト用のダミーIDの生成

使用例

データベースのプライマリキー(PostgreSQL)

CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  username VARCHAR(50) NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);

JavaScript/TypeScriptでの使用

// ブラウザ環境
const uuid = crypto.randomUUID();
console.log(uuid); // '550e8400-e29b-41d4-a716-446655440000'

// Node.js環境
import { randomUUID } from 'crypto';
const uuid = randomUUID();

REST APIのリクエストID

fetch('https://api.example.com/data', {
  headers: {
    'X-Request-ID': crypto.randomUUID()
  }
});

UUIDの利点と注意点

利点

  • グローバルに一意な識別子を生成できる
  • 中央管理サーバーなしで生成可能
  • 分散システムでも重複の心配がない
  • 予測不可能で安全性が高い(v4の場合)
  • 標準化された形式(RFC 4122)

注意点

  • サイズが大きい(128ビット = 16バイト)
  • 可読性が低い(人間が覚えにくい)
  • シーケンシャルではないため、インデックス効率が劣る場合がある
  • ソート順が生成順と一致しない(タイムスタンプベースのUUID v1やv7を検討)

よくある質問

Q. UUIDは本当に重複しませんか?

A. 理論上は重複の可能性がありますが、実用上は限りなく0に近いです。UUID v4の名前空間は2¹²²(約5.3×10³⁶)個あり、10億個のUUIDを毎秒生成し続けても、重複の確率は極めて低いです。

Q. UUIDとGUIDの違いは何ですか?

A. 基本的には同じものです。UUIDはIETFの標準用語で、GUIDはMicrosoftの用語です。実装や形式にわずかな違いがある場合がありますが、概念的には同一です。

Q. データベースのパフォーマンスへの影響は?

A. UUIDは連続した値ではないため、インデックスの断片化が起こりやすく、整数のAUTO_INCREMENTと比べてパフォーマンスが劣る場合があります。ただし、分散システムや複数データベース間での一意性が必要な場合は、UUIDの利点が上回ります。

プライバシーとセキュリティ

このツールはブラウザのcrypto.randomUUID()APIを使用してUUIDを生成します。すべての処理はブラウザ上で実行され、生成されたUUIDがサーバーに送信されることはありません。暗号学的に安全な乱数生成器を使用しているため、予測不可能で安全なIDが生成されます。

関連規格

  • RFC 4122: UUID の仕様を定義
  • ISO/IEC 9834-8:2005: UUID の国際規格