Skip to content

UUID生成ツール & デコーダー

無料のオンラインUUID生成ツール。v1/v4/v5/v7の全バージョンを即時生成。UUIDのデコード・検証、最大50件の一括生成に対応。登録不要、100%ブラウザ上で動作します。

トラッキングなし ブラウザで動作 無料
すべてのUUIDはブラウザ内でローカルに生成されます。データの送信や保存は一切行われません。
RFC 9562準拠性と構造の正確性を確認済み — Go Toolsエンジニアリングチーム · Mar 22, 2026

UUIDとは?

UUID(Universally Unique Identifier:汎用一意識別子)は、RFC 9562(IETF、2024年5月)で標準化された128ビットのグローバルに一意な識別子です。分散システムにおいて、中央の調整機関なしに衝突のないIDを生成するために設計されています。UUIDは現代のソフトウェアで最も広く採用されている識別子フォーマットであり、データベースの主キー、APIリクエストの追跡、セッション管理、マイクロサービスアーキテクチャで使用されています。

UUIDは32桁の16進数で表記され、標準的な8-4-4-4-12フォーマットで記述されます(例:`550e8400-e29b-41d4-a716-446655440000`)。この仕様はIETFが管理しており、RFC 9562は以前のRFC 4122(2005年)を置き換え、UUIDバージョン6、7、8を正式に導入しました。

広く使用されているUUIDには5つのバージョンがあります。バージョン1(v1)は現在のタイムスタンプと生成マシンのMACアドレスをエンコードし、時間と空間の両方で一意性を保証します。バージョン3(v3)とバージョン5(v5)は決定論的で、名前空間と名前をそれぞれMD5またはSHA-1でハッシュ化し、同じ入力からは常に同じUUIDが生成されます。バージョン4(v4)は最も一般的で、122ビットを暗号学的に安全な乱数データで埋め、5.3 × 10³⁶以上の可能な値を提供します(RFC 9562、セクション5.4)。バージョン7(v7)は最新の標準で、RFC 9562セクション5.7に記載されているとおり、「UUID version 7 features a time-ordered value field derived from the widely implemented and well-known Unix Epoch timestamp source」(UUID v7は広く実装され周知のUnixエポックタイムスタンプから導出された時間順の値フィールドを持つ)——48ビットのミリ秒タイムスタンプとランダムデータを組み合わせ、一意かつ生成時間順にソート可能なUUIDを生成します。

UUIDは分散システム、データベース、API、そして中央集権的な調整なしに一意な識別子が必要なあらゆる場面で不可欠です。独立したシステム間でのID衝突のリスクを排除し、マイクロサービス、イベントソーシング、マルチテナントアーキテクチャに最適です。

本ツールはWeb Crypto APIを使用して、すべてのバージョンのUUIDをブラウザ内で完全に生成します。UUIDはサーバーに一切送信されません。サーバーベースの生成ツールとは異なり、データのアップロード、ログ記録、データ保持は一切ありません。本番環境のデータベースキー、API識別子、セキュリティに配慮が必要なアプリケーションに安全にご利用いただけます。また、既存のUUIDをデコード・検証して、バージョン、バリアント、埋め込みデータを確認することもできます。

// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'

// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
  const bytes = new Uint8Array(16);
  crypto.getRandomValues(bytes);
  bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
  bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
  const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
  return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
}

主な機能

UUID v7対応(RFC 9562)

最新のUUID v7フォーマットを生成。Unixタイムスタンプ埋め込みにより、時間順でソート可能なデータベース向け識別子を作成できます。RFC 9562標準に対応した数少ないオンラインツールの一つです。

UUIDデコーダー & バリデーター

任意のUUIDを解析し、バージョン、バリアント、タイムスタンプ(v1/v7)、クロックシーケンス、ノード情報を表示します。文字列が正しいUUID形式かどうかを瞬時に検証できます。

マルチバージョン対応

5つのバージョンのUUIDを生成可能——v1(タイムスタンプベース)、v3(MD5)、v4(ランダム)、v5(SHA-1)、v7(時間順ランダム)——すべてRFC 9562に準拠しています。

一括生成

一度に最大50個のユニークなUUIDを生成できます。各UUIDは完全な暗号学的ランダム性またはバージョン固有の正しいエンコードで独立して生成されます。

複数の出力形式

標準小文字、大文字、ハイフンなし、中括弧 {GUID} 形式でUUIDを出力——お使いのシステムやフレームワークが求める形式に正確に対応します。

暗号学的に安全

Web Crypto API(crypto.getRandomValues())を使用した真の乱数生成——最新のブラウザやセキュリティツールと同じ標準を採用しています。

100%ブラウザベース

すべてのUUIDはブラウザ内でローカルに生成されます。サーバーへのデータ送信は一切なく、生成した識別子は完全にプライベートです。

UUIDバージョン比較

用途に合わせて最適なUUIDバージョンを選択してください。

バージョン ベース ソート可能 プライバシー 最適な用途
v1 タイムスタンプ + MACアドレス 作成時間順 MACと時間が露出 時間ベースの順序付けが必要なレガシーシステム
v4 122ビット暗号学的乱数 不可 完全匿名 汎用——最も広く使用されるバージョン
v5 SHA-1ハッシュ(名前空間 + 名前) 不可 決定論的、再現可能 既知の入力から一貫したIDを生成(URL、DNS)
v7 Unixタイムスタンプ(ミリ秒)+ 乱数 作成時間順 作成時間のみ露出 モダンなデータベース——ソート可能、インデックスに最適(RFC 9562)

UUID vs その他のIDフォーマット

ULID

26文字、Crockford Base32

UUID v7と同様に辞書順でソート可能ですが、Crockford Base32エンコードを使用します(26文字 vs 36文字)。UUID v7はIETF標準化された代替手段として、より広範なツールサポートを提供します。

nanoid

21文字、URLセーフ文字セット

より短くURLセーフで、コンパクトさが重要な場合に最適です。正式な標準ではないため、UUIDが持つネイティブなデータベース型やクロスプラットフォームライブラリのサポートがありません。

CUID2

可変長、英数字

水平スケーリング向けに設計され、衝突耐性を備えています。UUIDより採用率が低く、ネイティブなデータベースサポートがありません。標準化された時間順IDにはUUID v7をご検討ください。

UUIDバージョンの例

UUID v4(ランダム)

550e8400-e29b-41d4-a716-446655440000

最もよく使用されるバージョンです。122ビットの暗号学的乱数により5.3 x 10^36以上の候補値を提供し、調整なしに一意性が必要なほぼすべてのユースケースに適しています。

UUID v7(時間順)

01906b5e-4a3e-7234-8f56-b8c12d4e5678

48ビットのミリ秒単位Unixタイムスタンプとランダムデータを組み合わせています。UUIDは時系列でソートされるため、インデックスの局所性が重要なデータベース主キーに最適です。新規プロジェクトではv1やv4よりもv7の使用が推奨されます。

UUID v1(タイムスタンプベース)

6ba7b810-9dad-11d1-80b4-00c04fd430c8

60ビットのタイムスタンプと生成マシンの48ビットMACアドレスをエンコードします。時間と空間の両方で一意性を保証しますが、ハードウェアの身元情報が漏洩する可能性があります。RFC 9562でv6/v7に置き換えられました。

UUID v5(SHA-1名前ベース)

886313e1-3b8a-5372-9b90-0c9aee199e5d

DNS名前空間と名前 'python.org' をSHA-1でハッシュ化して生成された決定論的UUIDです。同じ名前空間と名前からは常に同じUUIDが生成されるため、v5は再現可能な識別子に最適です。

使い方

  1. 1

    UUIDバージョンを選択

    v1(タイムスタンプベース)、v3(MD5名前ベース)、v4(ランダム)、v5(SHA-1名前ベース)、v7(時間順ランダム)から選択します。各バージョンには異なる用途があり、v4が汎用的に最もよく使われます。

  2. 2

    オプションを設定

    v3およびv5では、名前空間(DNS、URL、OID、X.500、またはカスタム)を選択し、ハッシュ化する名前を入力します。生成数を1〜50で設定し、出力形式を選択します:標準小文字、大文字、ハイフンなし、または中括弧 {GUID}。

  3. 3

    UUIDを生成

    「UUID生成」ボタンをクリックします。各UUIDはWeb Crypto API(crypto.getRandomValues())を使用して暗号学的に安全に生成されます。バージョン固有のフィールド(v1/v7のタイムスタンプ、v3/v5のハッシュ値)は正しくエンコードされます。

  4. 4

    コピーして使用

    各UUIDの横にある「コピー」ボタンでクリップボードにコピーするか、「すべてコピー」で生成されたすべてのUUIDを一括コピーできます。「デコード」タブに切り替えると、既存のUUIDのバージョン、バリアント、タイムスタンプなどの埋め込み情報を分析できます。

主なユースケース

データベース主キー
データベースノード間の調整なしに、UUID v4またはv7をユニークな主キーとして使用できます。UUID v7は時間順の特性によりB-treeインデックスのパフォーマンスが向上するため、特に適しています。
分散システム
マイクロサービス、メッセージキュー、イベントソーシングシステム全体で、独立してユニークな識別子を生成します。UUIDにより中央集権的なID生成サービスが不要になります。
API開発
RESTfulおよびGraphQL APIのユニークなリクエストID、相関ID、冪等キーを作成します。UUIDにより分散サービス境界をまたいだリクエストの追跡が容易になります。
セッション & トークン管理
認証フローのためのユニークなセッション識別子と一時トークンを生成します。UUIDは大規模ユーザーベースにおけるセッション衝突を防ぐのに十分な一意性を提供します。
テスト & 開発
テストデータ、モック識別子、自動テスト用のユニークなフィクスチャIDを素早く生成できます。一括生成機能により、開発用データベースやテストスイートへのデータ投入が容易になります。

技術詳細

UUIDの構造
UUIDは128ビット(16バイト)で、32桁の16進数文字が8-4-4-4-12のフォーマットで表されます。ビット48〜51(13番目の16進数桁)がバージョン番号をエンコードします。ビット64〜65がバリアントフィールドをエンコードし、UUIDのレイアウトを識別します。残りのビットにはバージョン固有のペイロード(タイムスタンプ、乱数データ、またはハッシュ出力)が含まれます。
バージョンビット
ビット48〜51(第7バイトの上位ニブル)がUUIDバージョンをエンコードします:0001 = v1(タイムスタンプベース)、0011 = v3(MD5名前ベース)、0100 = v4(ランダム)、0101 = v5(SHA-1名前ベース)、0110 = v6(時間再配置)、0111 = v7(Unixエポック時間)。この4ビットは生成時に常に明示的に設定されます。
バリアントフィールド
ビット64〜65(第9バイトの最上位2ビット)がバリアントを定義します。パターン10xはRFC 4122/9562 UUID(大多数)を示します。パターン110はMicrosoft GUIDを示し、混合エンディアンのバイトオーダーを使用します。パターン0xxはNCS後方互換UUID(レガシー)を示します。パターン111は将来の使用のために予約されています。
RFC 9562標準
RFC 9562は2024年5月に公開され、RFC 4122に代わるUUIDの決定版仕様となりました。UUIDバージョン6、7、8を正式に導入しています。バージョン6はv1のフィールドを並べ替えてソート可能にします。バージョン7は48ビットのミリ秒単位Unixタイムスタンプと乱数データを使用し、新しい時間ベースUUIDの推奨バージョンです。バージョン8はカスタムの実装固有UUIDのフォーマットを提供します。RFC 9562はまたv1を正式に非推奨とし、v6/v7の使用を推奨しています。

ベストプラクティス

適切なバージョンを選択する
順序付けや決定論性が不要な汎用の一意識別子にはv4を使用してください。データベースの主キーにはv7を使用——時間順の特性によりインデックスパフォーマンスが大幅に向上します。名前から決定論的なIDを導出する必要がある場合はv5を使用してください(より強力なハッシュのため、v3よりv5を優先します)。
データベース主キーにはUUID v7を使用する
UUID v7の時間順構造はB-treeの挿入を順次的に保ち、ランダムなv4 UUIDと比較してインデックスの断片化を約90%削減します。これにより書き込み速度の向上、インデックスサイズの縮小、キャッシュ利用率の向上が実現します。ほとんどのモダンなデータベース(PostgreSQL 17以降、MySQL 8.0以降)は、このパターンに最適化されたネイティブUUIDサポートを備えています。
UUIDをセキュリティトークンとして使用しない
UUIDは一意性のために設計されており、秘密性のためではありません。UUID v1は生成タイムスタンプとMACアドレスを漏洩します。UUID v4は予測可能な構造を持ち、エントロピーは122ビットのみです。セキュリティトークン、APIキー、セッションシークレットには、専用のCSPRNGで128ビットまたは256ビットの純粋な乱数データを生成し、UUID構造のオーバーヘッドを避けてください。
解析前に検証する
UUIDを解析または保存する前に、正規表現でフォーマットを必ず検証してください。APIエンドポイント、フォーム送信、データベース入力などのシステム境界で不正な入力を拒否してください。これにより、インジェクション攻撃、データ破損、無効な識別子がシステム全体に伝播することによるデバッグ困難なエラーを防止できます。

よくある質問

UUIDとは何ですか?
UUID(Universally Unique Identifier:汎用一意識別子)は、RFC 9562で標準化された128ビットの識別子です。32桁の16進数をハイフンで区切った5つのグループで表記され、8-4-4-4-12のフォーマットに従います(例:550e8400-e29b-41d4-a716-446655440000)。UUIDは中央の登録機関なしにグローバルに一意であるよう設計されています。GUID(Globally Unique Identifier)はMicrosoftによる同じ概念の呼称で、同一のフォーマットを使用します。UUIDはデータベース、分散システム、API、ソフトウェア開発において、一意な識別子が必要なあらゆる場面で広く使用されています。UUID v4には5.3 x 10^36以上の候補値があり、重複が生成される確率は天文学的に小さいため、協調のないシステム間での独立した生成も安全です。
UUIDの各バージョンの違いは何ですか?
UUID v1は60ビットのタイムスタンプとマシンの48ビットMACアドレスをエンコードし、時間と空間の一意性を保証しますが、ハードウェア情報が漏洩する可能性があります。UUID v3はMD5で名前空間と名前をハッシュ化して決定論的なUUIDを生成します——同じ入力からは常に同じ結果になります。UUID v4は128ビットのうち122ビットを暗号学的に安全な乱数データで埋め、汎用の一意識別子として最も広く使用されているバージョンです。UUID v5はv3と同じですが、MD5の代わりにSHA-1を使用し、より強力なハッシュ衝突耐性を提供します。UUID v7はRFC 9562(2024年5月)で導入され、48ビットのミリ秒単位Unixタイムスタンプにランダムビットを加え、一意かつ生成時間順にソート可能なUUIDを生成します。バージョンの選択は要件に依存します:v4はシンプルさ、v5は決定論性、v7は時間順にソート可能なデータベースキーに最適です。
UUID v4とv7はどちらを使うべきですか?
UUID v4は最も人気のあるバージョンで、優れたデフォルトの選択肢です。122ビットの純粋な乱数を生成し、設定不要で、あらゆる場面で動作します。一意な識別子が必要で順序を気にしない場合はv4を使用してください。UUID v7は、UUIDをデータベースの主キーとして使用する場合や、作成時間順にソートする必要がある場合により適しています。v7は最上位ビットにミリ秒精度のタイムスタンプを埋め込むため、v7 UUIDは自然に時系列でソートされます。この特性によりB-treeインデックスのパフォーマンスが劇的に向上します——挿入は常にインデックスの末尾に追加され、ランダムな位置には入らないため、ページ分割と断片化を最大90%削減します。2026年の一般的な推奨事項は、データベースキーにはv7、その他にはv4を使用することです。両バージョンとも乱数部分の一意性と暗号学的ランダム性は同等です。
UUIDの衝突確率はどのくらいですか?
UUID v4は122ビットの乱数を持ち、2^122(約5.3 x 10^36)通りの候補値があります。少なくとも1回の衝突が50%の確率で発生するには、約2.71 x 10^18個のUUIDを生成する必要があります——つまり271京個です。別の見方をすると、1秒間に10億個のUUIDを生成した場合、50%の衝突確率に達するまでに約86年かかります。より現実的な生成速度では、衝突確率は極めて小さくなります。例えば、1000万個のUUIDを生成した場合の衝突確率は約10^22分の1です。実際には、ハードウェア障害、ソフトウェアのバグ、人為的ミスによるID重複の方が、UUID v4の衝突よりも何十億倍も起こりやすいです。この計算は誕生日問題の公式に基づいています:p(n) ≈ n^2 / (2 * 2^122)。
UUIDとGUIDの違いは何ですか?
UUID(Universally Unique Identifier)とGUID(Globally Unique Identifier)は本質的に同じものです。GUIDはMicrosoftが作った用語で、主にWindows、.NET、COM、SQL Server環境で使用されます。UUIDはRFC 9562(およびその前身RFC 4122)で定義された標準用語で、Linux、Java、Python、PostgreSQL、Web開発など、その他のほとんどの場面で使用されます。両者は同一の128ビットフォーマットを使用し、32桁の16進数が8-4-4-4-12のパターンで表示されます。唯一のわずかな違いは、MicrosoftのツールがGUIDを大文字と中括弧で表示する場合があることです(例:{550E8400-E29B-41D4-A716-446655440000})。一方、UUIDは通常小文字で中括弧なしで表示されます。本ツールでは出力形式セレクターで両方のフォーマットに対応しており、Microsoft形式の出力には中括弧 {GUID} 形式を選択できます。
UUID v4は暗号学的に安全ですか?
crypto.getRandomValues()または同等のCSPRNG(暗号学的に安全な擬似乱数生成器)で生成された場合、UUID v4は122ビットの暗号学的に安全な乱数データを含みます。本ツールはWeb Crypto APIを使用しており、OSのセキュアな乱数ソースからエントロピーを取得します。ただし、UUIDをセキュリティトークン、パスワード、暗号鍵として使用すべきではありません。122ビットの乱数により予測は実質的に不可能ですが、UUIDは予測可能な構造を持っています——バージョンニブル(4)とバリアントビットは固定で公開されています。セキュリティトークンには、crypto.getRandomValues()などの専用APIで完全な128ビットまたは256ビットのエントロピーを生成するか、JWTなどの確立されたトークン形式を使用してください。UUIDは識別に使用するものであり、セキュリティに使用するものではありません。
UUIDのフォーマットを検証する方法は?
有効なUUIDは正規表現パターン ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(大文字小文字区別なし)にマッチします。このパターンは8-4-4-4-12の16進数フォーマットを強制し、バージョン桁(15番目の位置)が1〜7の間であることを確認し、バリアントニブル(20番目の位置)が8、9、a、またはbで始まること(RFC 4122/9562バリアントを示す)を検証します。JavaScriptでは次のように検証できます:/^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid)。ほとんどのプログラミング言語にはUUID解析の組み込み機能もあります——例えばPythonのuuid.UUID()コンストラクタ、JavaのUUID.fromString()、Goのuuid.Parse()です。インジェクション攻撃やデータ破損を防ぐため、保存・処理前のシステム境界で常にUUIDを検証してください。
UUIDはデータベースの主キーに適していますか?(パフォーマンス、安全性、最適なバージョン)
はい、UUIDはデータベースの主キーとして安全で、ますます普及しています。推奨バージョンはUUID v7です。主な利点:(1) UUIDはどこでも生成可能——クライアント、サーバー、エッジファンクション——データベースへの往復が不要で、オフラインファーストや分散アーキテクチャに対応します。(2) UUIDは連番整数ではないため、列挙攻撃を防止します。(3) IDが衝突しないため、システム間のデータ統合が簡単になります。UUID v7が主キーに最適な理由は、時間順の構造によりB-treeインデックスが順次的に保たれ、ランダムなv4 UUIDと比較してページ分割、書き込み増幅、インデックスの断片化を最大90%削減できるからです。トレードオフとして、UUIDは16バイトを使用し(整数は4〜8バイト)、インデックスのストレージとメモリが増加します。MySQL/InnoDBでは主キーがクラスタ化インデックスとなるため、ランダムなv4 UUIDは深刻なパフォーマンス低下を引き起こす可能性がありますが、v7は挿入が常にインデックスの末尾に追加されるため、自動インクリメント整数に匹敵するパフォーマンスを実現します。PostgreSQLはuuid型でUUIDを16バイトでネイティブに格納します。ほとんどのモダンなアプリケーションでは、グローバルに一意で調整不要なID生成のメリットが、追加のストレージコストを大きく上回ります。
名前空間UUID(v3/v5)とは何ですか?
名前空間UUIDは、決定論的なv3およびv5 UUIDを生成するためのスコープとして機能する、事前定義またはカスタムのUUIDです。RFC 4122は4つの標準名前空間UUIDを定義しています:DNS(6ba7b810-9dad-11d1-80b4-00c04fd430c8)、URL(6ba7b811-9dad-11d1-80b4-00c04fd430c8)、OID(6ba7b812-9dad-11d1-80b4-00c04fd430c8)、X.500 DN(6ba7b814-9dad-11d1-80b4-00c04fd430c8)。名前空間UUIDと名前文字列を組み合わせると、v3またはv5アルゴリズムがそれらをハッシュ化して決定論的なUUIDを生成します——同じ名前空間と名前からは常に同じUUIDが生成されます。これは意味のある名前から再現可能な識別子を導出する必要がある場合に有用です。例えば、DNS名前空間で 'example.com' をハッシュ化すると、常に同じv5 UUIDが生成されます。任意の有効なUUIDをカスタム名前空間として使用し、アプリケーション独自の決定論的IDスキームを構築することもできます。
UUID nil値とは何ですか?
nil UUID(ゼロUUIDとも呼ばれます)は 00000000-0000-0000-0000-000000000000——128ビットすべてがゼロです。RFC 9562セクション5.9で、値の不在を表す特別なUUIDとして定義されており、プログラミング言語のnullやNoneに相当します。nil UUIDはセンチネル値、設定システムのデフォルト値、またはUUIDフィールドが空であってはならないが実際の値がまだ存在しないデータベースレコードのプレースホルダーとして使用できます。RFC 9562ではmax UUIDも定義されています:ffffffff-ffff-ffff-ffff-ffffffffffff(すべてのビットが1)。これは境界マーカーとして使用できます。重要な注意事項:nil UUIDを実際の識別子として使用しないでください——一意ではありません。一部のUUIDライブラリやデータベースはnil UUIDを拒否または特別に扱う場合があるため、システムでの扱いを一貫させてください。APIコントラクトやデータベーススキーマにおいて、nil UUIDを受け入れるかどうかを常にドキュメント化してください。
UUID v7とは何ですか?なぜ使うべきですか?
UUID v7はRFC 9562(2024年5月)で定義された最新のUUIDバージョンです。最上位ビットに48ビットのミリ秒単位Unixタイムスタンプを埋め込み、その後に暗号学的乱数データが続きます。この設計により、グローバルに一意で、時系列でソート可能で、データベースの主キーとして非常に効率的なUUIDが生成されます。同じくタイムスタンプを含むUUID v1と異なり、v7はよりシンプルなUnixエポック形式を使用し、MACアドレスを露出しません。時間順の構造によりB-treeインデックスの断片化がランダムなUUID v4と比較して最大90%削減され、より高速な挿入、より小さなインデックス、より良いキャッシュヒット率を実現します。2026年に新規プロジェクトを開始する場合、時間ベースの順序付けが必要なあらゆるシナリオ——特にデータベースの主キー、イベントログ、分散メッセージキュー——にUUID v7が推奨されます。
UUIDをデコードする方法は?
UUIDのデコードとは、128ビット内にエンコードされた構造情報を抽出することを意味します。すべてのUUIDにはバージョンフィールド(ビット48〜51)があり生成方法を識別し、バリアントフィールド(ビット64〜65)がありUUID標準を識別します。異なるバージョンには異なるデータが埋め込まれています:UUID v1とv6は60ビットのタイムスタンプと48ビットのノード(MACアドレス)を含み、UUID v7は48ビットのミリ秒単位Unixタイムスタンプを含み、UUID v3とv5は名前空間と名前の切り詰められたハッシュを含みます。UUIDをデコードするには、本ツールの「デコード」タブに貼り付けてください。バージョン、バリアント、タイムスタンプ(時間ベースのバージョンの場合)、有効性ステータスが即座に表示されます。プログラムでのデコードは、16進数桁を解析し、RFC 9562仕様に従ってビット演算で各フィールドを抽出することで実行できます。
UUID vs ULID vs nanoid——どれを使うべきですか?
UUID、ULID、nanoidはすべて一意な識別子を生成するという同じ基本目的を持ちますが、フォーマット、ソート可能性、標準化の度合いが異なります。UUIDは最も広く採用されている標準(RFC 9562)で、実質的にすべてのデータベース、言語、フレームワークでネイティブにサポートされています。UUID v7は標準的な128ビット、36文字のフォーマットで時間ベースのソートを提供します。ULIDはUUID v7より前に登場し、Crockford Base32エンコードで26文字のソート可能な文字列を生成します。UUID v7がIETF標準として存在する現在、ULIDの主な利点であるソート可能性は汎用的なUUIDフォーマットで利用可能です。nanoidはURLセーフな文字セットを使用してより短い識別子(デフォルト21文字)を生成し、文字列長が重要な場合に適しています。ほとんどのアプリケーションには、ユニバーサルなツールサポート、ネイティブデータベース型、正式な標準化を備えたUUID v4(汎用)またはUUID v7(データベースキー)が推奨されます。
マイクロサービスを構築中で、PostgreSQLの主キーにUUID v4とv7のどちらを使うべきですか?
PostgreSQLの主キーにはUUID v7を使用してください。UUID v7は最上位ビットにミリ秒精度のUnixタイムスタンプを埋め込むため、生成されたIDは自然に時系列でソートされます。これによりB-treeインデックスが順次的に保たれ、挿入は常に末尾に追加されランダムな位置には入りません。ランダムなUUID v4と比較して、ページ分割とインデックスの断片化を最大90%削減できます。PostgreSQL 17以降はこのパターンに最適化されたネイティブuuid型をサポートしています。UUID v4はインデックスが不要な識別子(相関IDやセッショントークンなど、ソート順が重要でないもの)には引き続き適しています。
チームでデータベースIDにUUIDと自動インクリメント整数のどちらを使うか議論しています。実際のトレードオフは?
自動インクリメント整数はサイズが小さく(4〜8バイト vs 16バイト)、比較が高速で、自然に順次的なインデックスを生成します。しかし、中央集権的なシーケンス(データベース)が必要なため、分散システム、オフラインファーストアプリ、データ移行で問題になります。UUIDはどこでも生成可能——クライアント、エッジファンクション、複数のデータベース——調整は不要です。また、列挙攻撃も防止します(ユーザーは /users/124 を推測して他のレコードを見つけることができません)。ストレージのオーバーヘッドは実際に存在しますが、通常は許容範囲です:UUIDインデックスは整数インデックスの約2倍のサイズです。ほとんどのモダンなアプリケーションでは、UUID v7が両方の長所を兼ね備えた最良の選択です——グローバルに一意で、調整不要で、自動インクリメント整数のように順次ソート可能です。

MD5ハッシュジェネレーター&ファイルチェックサムツール

セキュリティツール

無料オンラインMD5ハッシュ生成ツール。ブラウザ上でMD5・SHA-256・SHA-1・SHA-512のハッシュ値を即座に生成。テキストやファイルのチェックサム検証・比較、ワンクリックコピー対応。登録不要でデータはサーバーに送信されません。

ランダムパスワードジェネレーター

セキュリティツール

無料のオンラインランダムパスワード生成ツール。ブラウザ上で安全な強力パスワードを即座に自動生成できます。長さや文字種のカスタマイズ、最大50個の一括生成に対応。エントロピー分析付き強度メーター搭載。データはサーバーに送信されません。

進数変換ツール — 2進数・16進数・10進数・8進数

単位変換

無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。

画像圧縮ツール — JPEG・PNG・WebP を無料でオンライン圧縮

単位変換

無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。

JSONフォーマッター&バリデーター

エンコーディングとフォーマット

無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。