logo
GeekFormat

UUID ジェネレーター

フォーマットオプション

生成数

1 件

無料オンラインUUID/GUID/ULID/NanoIDジェネレーター。5種類のユニークIDフォーマット、最大100個の一括生成、フォーマットカスタマイズ、UUID検証・識別に対応。ブラウザを開くだけですぐに使え、データベース主キーやテストデータ作成に最適です。

関連おすすめ

ユースケース

  • データベース設計時に UUID v4 をテーブルレコードの主キーとして生成し、オートインクリメントIDによるデータ量の漏洩を防止
  • 分散システムやマイクロサービスアーキテクチャで ULID をソート可能なグローバルユニークなリクエストトレースIDとして使用
  • API開発・結合テスト時にUUIDを一括生成してテストデータやモックの注文番号・ユーザーIDとして使用
  • フロントエンドの短縮URLや共有リンクで NanoID をUUIDの代わりに使用し、より短く美しくURLエンコード不要に
  • UUID v5 を使用して固定の名前空間から決定論的IDを生成し、同じ入力からは常に同じ出力が得られることを保証
  • デバッグログやサードパーティのドキュメントで不明な形式のIDに遭遇した際、検証機能でIDの種類とバージョンを識別

特徴

  • 5種類のIDを1ページで網羅: UUID v1(タイムスタンプ)、v4(ランダム)、v5(名前空間)、ULID(ソート可能)、NanoID(URLセーフ)を同時サポート。1つのツールでさまざまな技術スタックのニーズに対応
  • UUID検証・識別: 検証タブに切り替えて任意のIDを貼り付けるだけで、UUIDのどのバージョンか、あるいはULID/NanoID形式かを識別。デバッグ時の問題調査が迅速に
  • 最大100個の一括生成: 1〜100個の任意の数を一括生成可能。テストデータ作成で1個ずつ手動コピーする必要なし
  • 柔軟なフォーマット切り替え: UUIDの大文字小文字とハイフンのオン/オフに対応し、データベース、URL、設定ファイルなどさまざまなシーンのフォーマット要件に適合
  • エクスポートと履歴記録: 全件ワンクリックコピー、TXT/JSONファイル出力に対応。生成履歴はローカルに保存されいつでも復元可能で、一括操作がより効率的に
  • クライアントサイドで安全な乱数生成: ブラウザのcrypto APIを使用して暗号学的に安全な乱数を生成。IDはサーバーに送信されず、オフラインでも利用可能

使い方

  1. 上部のカードから生成したいIDの種類を選択: UUID v4(推奨)、v1、v5、ULID、NanoID
  2. UUID v5を選択した場合は名前空間用の文字列を入力。その他のIDはそのままフォーマットオプションを設定可能
  3. 必要に応じて大文字小文字とハイフンのスイッチを切り替え、クイックボタンまたはスライダーで一括生成数(1〜100)を設定
  4. 生成ボタンをクリックして結果リストを表示。個別コピー、全件一括コピー、またはTXT/JSONファイルとしてエクスポートが可能
  5. 既存のIDを検証したい場合は「検証」タブに切り替え、ID文字列を貼り付けると種類とバージョン情報が表示される

よくある質問

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

UUID(Universally Unique Identifier)と GUID(Globally Unique Identifier)は本質的に同じもので、呼び名が異なるだけです。UUID は IETF 標準(RFC 4122)の正式名称で、GUID はマイクロソフトが Windows エコシステムで慣習的に使用している呼び名です。両者のフォーマットは完全に同一で、`550e8400-e29b-41d4-a716-446655440000` のような形式の128ビット識別子です。このツールで生成する標準 UUID は、GUID が必要なあらゆる場面でそのまま使用できます。

UUID v1、v4、v5 はどのように選べばよいですか?

UUID v1 はタイムスタンプとMACアドレスに基づいて生成され、時間順に並べることができ追跡可能ですが、MACアドレスが漏洩する可能性があります。UUID v4 は完全に乱数に基づいて生成され、最も一般的で安全な選択肢であり、ほとんどの主キー・識別子の用途に適しています。UUID v5 は名前空間ベースのハッシュ版(SHA-1)で、同じ名前空間+同じ名前からは常に同じUUIDが生成され、決定論的な出力が必要な場面に適しています。通常の開発では UUID v4 をデフォルトで選択すれば問題ありません。

ULID と NanoID は UUID v4 と比べてどのようなメリットがありますか?

ULID(26文字)は UUID(ハイフン含む36文字)より短く、辞書順にソート可能なため、データベースインデックスやログトレースに適しています。NanoID(デフォルト21文字)はさらに短く高速で、URLセーフな文字を使用しているためURLやCookieでエスケープが不要で、UUIDより約30%小さくなります。3つとも衝突確率は極めて低いですが、分散システムではULIDのソート可能性が有利で、NanoIDはフロントエンド・URLシナリオでより使いやすいです。

一度に複数の UUID を一括生成できますか?

はい、できます。このツールは1〜100個の一括生成に対応しており、数量ボタンまたはスライダーで数を設定してワンクリックで生成できます。テストデータ作成、一括インポート、スクリプト用のユニークID準備に最適です。生成後は全結果をワンクリックでコピーできるほか、TXTテキストまたはJSONファイルとしてエクスポートすることもできます。

一括生成の使い方

文字列が正しい UUID かどうかを検証できますか?

はい、できます。「検証」タブに切り替えて任意の文字列を入力すると、ツールが自動的に識別・検証します。標準UUID(v1/v3/v4/v5)の場合は具体的なバージョン番号を表示し、ULID(26文字のCrockford Base32形式)とNanoID(21文字のURLセーフ文字)のフォーマットも識別できるため、開発・デバッグ時にIDフォーマットの問題をすばやく調査するのに非常に便利です。

オンラインで UUID を生成するとサーバーに漏洩しませんか? 安全ですか?

完全に安全です。このツールのすべてのID生成と検証は、お使いのブラウザ内でJavaScriptによりローカルで実行されます。crypto.getRandomValues() による暗号論的に安全な乱数を使用しており、生成したIDがサーバーに送信されることはなく、生成履歴がクラウドに記録されることもありません。オフラインでも正常に使用できるため、企業イントラネットや機密性の高いプロジェクトでも安心してご利用いただけます。

生成した UUID からハイフンを除去したり大文字に変換したりできますか?

はい、できます。UUID v1/v4/v5 については、「大文字」スイッチで出力の大文字小文字を切り替え、「ハイフン」スイッチで中央のハイフンを除去できます(URL、設定ファイル、ハイフンなし形式を必要とする一部のデータベースでの使用に便利です)。ULIDとNanoIDはデフォルトでハイフンがなく、大文字小文字の切り替えにも対応しています。

なぜコマンドラインではなくオンラインツールでUUIDを生成するのですか?

コマンドラインツール(Linuxのuuidgen、Pythonのuuidモジュールなど)は開発環境が必要ですが、オンラインツールはブラウザを開くだけですぐに使え、ソフトウェアのインストールは不要です。さらにこのツールにはUUIDバージョン識別、一括エクスポート、履歴記録などの付加機能も統合されており、デバイスをまたいだ作業(技術者でない同僚のためにIDを生成する場合など)や急に必要になったときにより便利です。

UUID とは何ですか?

UUID(Universally Unique Identifier、汎用一意識別子)は、オープンソフトウェア財団(OSF)により標準化され RFC 4122 で定義された128ビットの識別子規格です。分散システム内のすべての要素が、中央制御装置によるIDの指定を必要とせずに一意の識別情報を持てるようにすることを目的としています。

標準的なUUIDは `550e8400-e29b-41d4-a716-446655440000` のような形式で、32個の16進数字からなり、ハイフンで5つのセクション(8-4-4-4-12)に区切られています。理論上、UUID v4の衝突確率は約1/10^36です。これは毎秒10億個のUUIDを生成し続けて、衝突が発生する確率が50%に達するまでに約800年かかる計算であり、実用上は一意であるとみなせます。

UUIDはデータベース主キー、分散トレースID、リクエストID、ログトレースID、ファイルの一意な名前付け、テストデータID、セッション識別子などのシーンで広く使用されており、ほぼすべての主要なプログラミング言語にUUID生成ライブラリが組み込まれています。

术语表

UUID
Universally Unique Identifier(汎用一意識別子)。128ビット長、RFC 4122標準。よく使われるバージョンはv1(タイムスタンプ+MAC)、v4(ランダム)、v5(SHA-1ハッシュ)。
GUID
Globally Unique Identifier(グローバル一意識別子)。マイクロソフトによるUUIDの呼び名で、フォーマットと用途は両者で完全に同一。
ULID
Universally Unique Lexicographically Sortable Identifier(辞書順ソート可能な汎用一意識別子)。26文字でCrockford Base32エンコーディングを使用、先頭48ビットがタイムスタンプで作成時間順にソート可能。
NanoID
軽量なユニークID生成方式。デフォルトで21個のURLセーフ文字(A-Za-z0-9_-)を使用し、UUIDより短く高速で、フロントエンドやURLシーンに適している。
UUID v1
タイムスタンプとMACアドレスに基づくUUIDバージョン。時間順にソート可能だが、MACアドレスと生成時間が漏洩する可能性があり、セキュリティ面ではv4に劣る。
UUID v4
完全に乱数に基づいて生成されるUUIDバージョン。最も広く使用されており、衝突確率は極めて低く、開発におけるデフォルトの選択肢。
UUID v5
SHA-1ハッシュに基づく名前空間UUIDバージョン。同じ名前空間+同じ名前の入力からは同じUUIDが出力され、決定論的なシナリオに適している。
衝突確率
ランダムに生成された2つのIDが偶然に同一になる確率。UUID v4の衝突確率は約170億分の1兆分の1であり、実用上無視できる。
Crockford Base32
Douglas Crockfordにより設計されたBase32エンコーディング。I/L/O/Uを除外した大文字と数字を使用し、混同しやすい文字を回避。ULIDで使用されている。

UUID / ULID / NanoID 比較表

特性UUID v4ULIDNanoID
長さ36文字(ハイフン含む)/ 32文字(ハイフンなし)26文字デフォルト21文字
文字セット16進数(0-9a-f)Crockford Base32(32文字)URLセーフ(64文字)
ソート性ソート不可(ランダム)時間順にソート可能ソート不可(ランダム)
URLセーフエスケープが必要(ハイフン+英数字)おおむね安全(大文字+数字)完全にURLセーフ
生成速度高速高速UUIDより約60%高速
衝突確率1/10^361/10^361/10^34(21文字時)
代表的な用途データベース主キー、汎用ID分散システム、ログトレース短縮URL、フロントエンドID、Cookie

各言語での UUID 生成方法

言語コード
JavaScriptcrypto.randomUUID() // モダンブラウザ/Node.js 19+
Pythonimport uuid; uuid.uuid4()
JavaUUID.randomUUID()
Gogithub.com/google/uuid; uuid.New()
Bash/Linuxuuidgen または cat /proc/sys/kernel/random/uuid

Code Examples

JavaScript で UUID v4 を生成

javascript

モダンブラウザと Node.js 14.17+ には Web Crypto API が組み込まれており、サードパーティライブラリなしで直接 UUID v4 を生成できます。

// モダンブラウザ / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"

// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();

Python で UUID を一括生成

python

Python 標準ライブラリの uuid モジュールを使用して複数の UUID v4 を一括生成。テストデータ準備に最適です。

import uuid

# 単一のUUIDを生成
uid = uuid.uuid4()
print(uid)

# 10個を一括生成
for _ in range(10):
    print(uuid.uuid4())

# ハイフンなしの大文字UUIDを生成
print(uuid.uuid4().hex.upper())

シェルコマンドラインで UUID を生成

bash

Linux/macOS ターミナルですばやくUUIDを生成。シェルスクリプトでの使用に適しています。

# Linux
uuidgen

# macOS
uuidgen | tr 'A-Z' 'a-z'

# システムランダムファイルから直接読み取り(最も原始的な方法)
cat /proc/sys/kernel/random/uuid

Authoritative References