UUID/GUID生成ツール
UUID (Universally Unique Identifier) v4を生成する無料オンラインツールです。
✨ 생성된 UUID
UUID (Universally Unique Identifier) v4를 생성합니다. 각 UUID는 통계적으로 고유하며, 데이터베이스 키, 세션 ID 등으로 사용됩니다.
💡 예시
550e8400-e29b-41d4-a716-446655440000550E8400-E29B-41D4-A716-446655440000550e8400e29b41d4a716446655440000UUIDとは?
UUID (Universally Unique Identifier) またはGUID (Globally Unique Identifier)は、情報を一意に識別するための128ビットの数値です。UUID v4はランダムに生成され、重複する確率はほぼゼロに近いです。
主な機能
- 一括生成: 1個、5個、10個、20個から選択可能
- 大文字/小文字: お好みの形式を選択
- ハイフンオプション: ハイフン付き/なしを選択
- 即座にコピー: ワンクリックでクリップボードにコピー
- ブラウザベース: インストール不要、完全にクライアントで実行
使い方
基本的な使い方
- 生成するUUIDの個数を選択します (1、5、10、20)
- オプションを選択します:
- 大文字: チェックすると大文字で生成
- ハイフン付き: チェックするとハイフン付き形式
- 「生成」ボタンをクリックします
- 生成されたUUIDをコピーして使用します
形式の選択
基本形式 (小文 字、ハイフン付き)
550e8400-e29b-41d4-a716-446655440000
大文字
550E8400-E29B-41D4-A716-446655440000
ハイフンなし
550e8400e29b41d4a716446655440000
UUID構造
UUID v4は以下のような構造を持ちます:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
- x: ランダムな16進数 (0-9, a-f)
- 4: バージョン番号 (v4を表す)
- y: ランダムな16進数 (8, 9, a, b のいずれか)
合計128ビット = 32桁の16進数で表現されます。
使用例
1. データベース主キー
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100),
email VARCHAR(100)
);
2. 分散システムID
複数のサーバーで独立してIDを生成しても衝突なし:
const userId = '550e8400-e29b-41d4-a716-446655440000';
const sessionId = 'a3bb189e-8bf9-3888-9912-ace4e6543002';
3. ファイル名
const filename = `upload-${uuid}.jpg`;
// upload-550e8400-e29b-41d4-a716-446655440000.jpg
4. APIトークン
Authorization: Bearer 550e8400-e29b-41d4-a716-446655440000
5. セッションID
const sessionId = generateUUID();
sessionStorage.setItem('sessionId', sessionId);
UUIDバージョン
UUID v1
- タイムスタンプ + MACアドレスベース
- 時系列順序を保証
- MACアドレス露出の懸念
UUID v4 (このツールで使用) ⭐
- 完全にランダム
- 最も広く使用されている
- 個人情報の露出なし
UUID v5
- 名前ベース (SHA-1ハッシュ)
- 同じ入力 → 同じUUID
衝突確率
UUID v4の衝突確率は極めて低いです:
- 生成可能なUUID総数: 2^122 ≈ 5.3 × 10^36個
- 10億個生成時の衝突確率: 約10^-18 (ほぼゼロ)
- 宇宙の全原子数: 10^80個
実用的に衝突を心配する必要はありません!
プログラミング言語別の使用方法
JavaScript
// ブラウザ
const uuid = crypto.randomUUID();
// Node.js
const { v4: uuidv4 } = require('uuid');
const uuid = uuidv4();
Python
import uuid
# UUID v4生成
my_uuid = uuid.uuid4()
print(my_uuid) # 550e8400-e29b-41d4-a716-446655440000
Java
import java.util.UUID;
UUID uuid = UUID.randomUUID();
String uuidString = uuid.toString();
PHP
<?php
$uuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
);
?>
C#
using System;
Guid uuid = Guid.NewGuid();
string uuidString = uuid.ToString();
実用的なヒント
1. 一括生成
多数のUUIDが必要な時に一度に生成:
- テストデータ生成
- マイグレーションスクリプト
- シードデータ準備
2. データベースインデックス
UUIDを主キーとして使用する際の注意点:
- 完全にランダム → B-Treeインデックス のパフォーマンス低下の可能性
- UUID v1またはULIDを検討 (順序的特性)
- PostgreSQLの
gen_random_uuid()使用を推奨
3. URLでの使用
// ハイフンなし形式がすっきり
const url = `https://example.com/items/${uuid.replace(/-/g, '')}`;
4. ロギングとトレース
const requestId = crypto.randomUUID();
console.log(`[${requestId}] Request started`);
// ... 処理 ...
console.log(`[${requestId}] Request completed`);
セキュリティに関する考慮事項
✅ 安全な使用
- セッションID
- APIキー (追加のセキュリティと併用)
- 一時ファイル名
- トラッキングID
⚠️ 注意が必要
- 予測不可能だが秘密ではない: UUIDのみで認証しないでください
- 追加検証が必要: 権限確認、 署名など
- 露出可能: URLに含める場合ログに記録される
よくある質問
Q: UUIDは本当に一意ですか?
はい。統計的に衝突確率はほぼゼロです。実際に重複する可能性は、宇宙の年齢の間、毎秒10億個を生成してもほとんどありません。
Q: UUID v4とv1の違いは?
- v1: タイムスタンプ + MACアドレスベース、時系列順序保証、個人情報露出の懸念
- v4: 完全にランダム、時系列順序なし、個人情報安全
Q: 大文字と小文字、どちらを使うべきですか?
一般的に小文字が標準ですが、どちらも有効です。シス テム要件に応じて選択してください。
Q: ハイフンは必須ですか?
ハイフンは可読性のためのものです。一部のシステムではハイフンなし形式を好みます。
Q: データベース主キーとして使用できますか?
はい、可能です。ただし、パフォーマンスのために順序付きID(AUTO_INCREMENT)やULIDを検討することもできます。
Q: UUIDをパスワードとして使用できますか?
推奨しません。UUIDは予測できませんが、パスワードハッシュ関数(bcrypt、argon2)を使用する方が安全です。
関連ツール
- タイムスタンプ変換 - Unixタイムスタンプ変換
- ハッシュ生成 - MD5、SHA-256などのハッシュ生成
- Base64エンコーダー - Base64エンコード/デコード
パフォーマンス
- 生成速度: ミリ秒未満
- ブラウザサポート: Chrome 92+、Firefox 95+、Safari 15.4+
- メモリ使用: 最小限
- オフライン動作: 完全サポート
ブラウザ互換性
このツールはWeb Crypto APIを使用します:
- Chrome 92+ ✓
- Firefox 95+ ✓
- Safari 15.4+ ✓
- Edge 92+ ✓
古いブラウザでは動作しない場合があります。
💬 このツールは役に立ちましたか?
このUUID生成ツールがお役に立ちましたら、ぜひ周りの 開発者にもシェアしてください。フィードバックやご要望がございましたら、お気軽にお知らせください。
プライバシー保護
このツールは完全にクライアント側で動作します。生成されたUUIDはサーバーに送信されず、ブラウザでのみ処理されます。あなたのデータは完全に安全です。