Search tools...
Developer Tools

UUID Generator गाइड: UUID v1, v4, v5, v7 की पूरी जानकारी (2026)

UUID क्या है, हर version कैसे काम करता है, database और API में UUID का उपयोग, GUID vs UUID, और कब कौन सा version चुनें — सब कुछ हिंदी में।

१० मिनट पढ़ेंUpdated March 25, 2026Developer Tools, Backend, Databases, APIs

एक UUID (Universally Unique Identifier) एक 128-bit value होती है जिसका उपयोग computer systems में information को uniquely identify करने के लिए किया जाता है — बिना किसी central authority के। सही तरीके से generate किए गए UUIDs सांख्यिकीय रूप से सभी space और time में unique होने की गारंटी देते हैं, जो इन्हें distributed systems, database primary keys, REST APIs, और session management की रीढ़ बनाता है। अगर आपने कभी 550e8400-e29b-41d4-a716-446655440000 जैसी string देखी है, तो आपने एक UUID देखा है।

यह गाइड developers को वह सब कुछ बताती है जो उन्हें जानना चाहिए: पाँच प्रमुख UUID versions (v1 से v7 तक), structure को कैसे पढ़ें, collision probability का math, UUID vs auto-increment in databases, GUID vs UUID naming, और हर use case के लिए सही version — अंत में एक free online UUID generator के साथ।

Free Tool

UUIDs तुरंत Generate करें — Free

Browser में single या bulk UUIDs (v1, v4, v7) बनाएं। कोई server calls नहीं, कोई signup नहीं। Copy करें, download करें, या सीधे code में उपयोग करें।

UUID Generator खोलें

UUID क्या है? Structure और Format की पूरी जानकारी

UUID एक 128-bit identifier है जिसे five groups of hexadecimal digits के रूप में hyphens से अलग करके display किया जाता है, pattern 8-4-4-4-12 में (32 hex chars + 4 hyphens = कुल 36 characters):

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
│        │    │    │    │
│        │    │    │    └─ 12 hex digits (node / random)
│        │    │    └────── 4 hex digits (variant + random)
│        │    └─────────── 4 hex digits (version M + random)
│        └──────────────── 4 hex digits (time mid / random)
└───────────────────────── 8 hex digits (time low / random)

दो special nibbles

  • Version nibble (M): तीसरे group का पहला digit। Values: 1, 2, 3, 4, 5, 6, 7 — बताता है कि यह कौन सा UUID version है।
  • Variant nibble (N): चौथे group का पहला digit। RFC 4122 UUIDs के लिए यह हमेशा 8, 9, a, या b होता है (binary 10xx)।

Example breakdown

550e8400-e29b-41d4-a716-446655440000
                 ↑         ↑
                 version=4  variant=a (RFC 4122)

Nil UUID

Nil UUID एक special UUID है जिसमें सभी 128 bits शून्य पर set होती हैं: 00000000-0000-0000-0000-000000000000। इसे sentinel या placeholder value के रूप में उपयोग किया जाता है — SQL में NULL की तरह। कुछ systems इसे "अभी तक कोई UUID assign नहीं किया गया" या nullable UUID fields में default value के रूप में दर्शाने के लिए उपयोग करते हैं।

UUID v1 vs v4 vs v5 vs v7 — पूरा comparison

पाँच standardised UUID versions हैं। प्रत्येक version 128 bits में अलग-अलग information encode करता है। यहाँ complete comparison है:

VersionAlgorithmSortable?Private?Best Use Case
v1MAC address + timestamp (100-ns precision)Partially (time-ordered)नहीं — MAC & time leak करता हैDistributed event logging (legacy)
v3namespace + name का MD5 hashनहींहाँNames से deterministic IDs (legacy)
v4122 bits cryptographic randomनहींहाँGeneral purpose — सबसे common choice
v5namespace + name का SHA-1 hashनहींहाँDeterministic IDs (v3 से बेहतर)
v7Unix timestamp (ms) + random bitsहाँ (monotonic)हाँDatabase PKs — sortable + index-friendly

UUID v1 — Time + MAC

UUID v1 एक 60-bit timestamp (Oct 15, 1582 से 100-nanosecond intervals में) और generating machine का MAC address encode करता है। Technically time के अनुसार sortable होने के बावजूद, v1 machine का MAC address expose करता है — जो एक privacy concern है। इसके अलावा B-tree indexes में "hot spots" बनाता है क्योंकि नए UUIDs एक तरफ cluster हो जाते हैं। नए projects में इससे बचें।

UUID v4 — Pure Random

UUID v4 में 122 random bits होती हैं (शेष 6 bits version और variant encode करती हैं)। यह सबसे widely used UUID version है। इसके लिए systems के बीच कोई coordination नहीं चाहिए, पूरी तरह private है, और हर language की हर UUID library में supported है। एकमात्र कमी: यह sortable नहीं है, जिससे databases में B-tree index fragmentation हो सकती है।

UUID v5 — Namespaced SHA-1

UUID v5 एक namespace UUID + name string का SHA-1 उपयोग करके deterministically UUID generate करता है। समान inputs देने पर हमेशा वही UUID मिलता है। इसका उपयोग तब करें जब आपको उसी real-world entity के लिए stable identifier चाहिए (जैसे, user email "alice@example.com" के लिए हमेशा वही UUID)।

UUID v7 — Databases के लिए Modern Choice

UUID v7 (RFC 9562, 2024 में published) पहले 48 bits में Unix timestamp milliseconds encode करता है, उसके बाद random bits। चूँकि timestamp high bits में है, v7 UUIDs chronologically sort होते हैं — v4 की index fragmentation problem solve करते हैं। UUID v7 अब database primary keys के लिए recommended choice है।

UUID Collision Probability — Math क्या कहता है

UUIDs के बारे में सबसे common सवाल: "क्या दो UUIDs कभी same हो सकते हैं?" तकनीकी रूप से हाँ, लेकिन probability इतनी कम है कि practically असंभव है।

UUID v4 collision math

UUID v4 में 122 random bits होती हैं, जो 2122 ≈ 5.3 × 1036 possible values देती हैं। Birthday problem approximation का उपयोग करके:

P(collision) ≈ n² / (2 × 2^122)

50% collision chance के लिए n UUIDs:
n ≈ 2.71 quintillion (2.71 × 10^18)

Practical context के लिए: अगर आप 1 billion UUIDs per second generate करते हैं, तो एकल collision की 50% chance के लिए लगभग 85 साल लगेंगे। Cryptographically secure random number generator उपयोग करने पर UUID collisions real engineering concern नहीं हैं।

CSPRNG की जरूरत

Collision guarantee तभी valid है जब Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) का उपयोग किया जाए। JavaScript का crypto.randomUUID(), Python का uuid.uuid4(), और Java का UUID.randomUUID() सभी CSPRNG उपयोग करते हैं। Math.random()-based UUID generators से बचें — ये cryptographically secure नहीं हैं।

⚠️ कब सावधान रहें

अगर आपका system कम समय में tens of billions UUIDs generate करता है, तो UUID v7 पर switch करें जो same millisecond में sequence counter के ज़रिए extra collision resistance देता है।

Database में UUID: MySQL, PostgreSQL — UUID vs Auto-Increment

UUID को database primary key के रूप में उपयोग करना एक महत्वपूर्ण architectural decision है। MySQL और PostgreSQL के लिए honest analysis:

UUID vs Auto-Increment: Trade-offs

FactorUUID (v4)UUID (v7)Auto-Increment INT
Uniqueness scopeGlobalGlobalसिर्फ per-table
Index fragmentationHigh (random inserts)Low (monotonic)None (sequential)
Insert performanceINT से ~20–40% धीमाINT जैसासबसे तेज
Storage16 bytes (binary) / 36 bytes (text)16 bytes4 bytes (INT) / 8 bytes (BIGINT)
Merge / replicationNo conflictsNo conflictsCoordination के बिना conflicts
SecurityRecord count expose नहीं होताRecord count expose नहीं होताURL में record count दिखती है
Offline generationहाँ — DB roundtrip नहीं चाहिएहाँनहीं — DB चाहिए

MySQL recommendations

MySQL (InnoDB) में primary key clustered index होती है। Random UUID v4 को PK के रूप में उपयोग करने से severe index fragmentation होती है। Large tables (10M+ rows) में यह insert performance significantly कम करता है। UUID v7 या UUID_TO_BIN(uuid, 1) function उपयोग करें। Storage के लिए BINARY(16) उपयोग करें, VARCHAR(36) नहीं — 55% storage बचाता है।

PostgreSQL recommendations

PostgreSQL में native UUID type (16 bytes) है। v4 के लिए gen_random_uuid() (PostgreSQL 13+ में built-in) या v7 के लिए pg_uuidv7 extension उपयोग करें। PostgreSQL 17+ में UUIDv7 native support है।

सरल नियम

  • Single-server app, 1 करोड़ से कम rows: Auto-increment BIGINT सरल और बेहतर है
  • Distributed system / microservices: UUID v7 (सभी factors का best balance)
  • URLs/APIs में IDs expose करना: UUID v4 (opaque) या UUID v7 (sortable)
  • Deterministic IDs चाहिए: UUID v5

GUID vs UUID — क्या ये एक ही हैं?

संक्षेप में: हाँ, GUID और UUID essentially एक ही चीज़ हैं। यहाँ distinction है:

TermFull FormOriginFormat
UUIDUniversally Unique IdentifierOpen Group / RFC 4122xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
GUIDGlobally Unique IdentifierMicrosoft (COM/ActiveX){XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

Microsoft का GUID UUID का एक variant है। मुख्य differences cosmetic हैं: GUIDs अक्सर uppercase में curly braces के साथ display होते हैं (जैसे {550E8400-E29B-41D4-A716-446655440000})। .NET में System.Guid.NewGuid() under the hood version 4 UUID generate करता है। Microsoft और non-Microsoft systems के बीच interoperating करते समय, standard UUID में convert करने के लिए braces हटाएं और hex को lowercase करें।

SQL Server में GUID

SQL Server GUIDs के लिए UNIQUEIDENTIFIER data type उपयोग करता है। NEWID() random GUID (UUID v4) generate करता है। NEWSEQUENTIALID() clustered index performance के लिए optimised sequential GUIDs generate करता है — UUID v7 का SQL Server equivalent। SQL Server में clustered index primary keys के लिए हमेशा NEWSEQUENTIALID() prefer करें।

UUID Regex Pattern और Validation

Application में UUID validate करना एक regular expression से straightforward है:

Standard UUID regex (case-insensitive)

/^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

यह pattern validate करता है:

  • Hyphens के साथ 8-4-4-4-12 structure
  • Version digit: 1–7 (valid UUID versions)
  • Variant bits: 8, 9, a, b (RFC 4122 variant)

Version-specific validation

// सिर्फ UUID v4
/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

// सिर्फ UUID v7
/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

Code में UUIDs generate करना

// JavaScript (browser + Node 15+)
crypto.randomUUID()  // UUID v4, CSPRNG-backed

// Python
import uuid
uuid.uuid4()   # v4 random
uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com')  # v5 deterministic

// Java
UUID.randomUUID()  // v4

// Go
import "github.com/google/uuid"
uuid.New()  // v4
Tip: ToolsArena का UUID Generator उपयोग करें

तुरंत एक या कई UUIDs चाहिए? ToolsArena का UUID Generator browser में bulk UUIDs (v1, v4, v7) बनाता है — कोई server नहीं, कोई data network पर नहीं जाता।

How to Use the Tool (Step by Step)

  1. 1

    UUID Generator खोलें

    ToolsArena के UUID Generator पर जाएं — कोई account नहीं, कोई install नहीं, किसी भी browser में काम करता है।

  2. 2

    UUID version चुनें

    General-purpose random UUIDs के लिए v4, database primary keys (sortable) के लिए v7, या timestamp-based identifiers के लिए v1 चुनें।

  3. 3

    Quantity set करें

    कितने UUIDs चाहिए दर्ज करें — batch operations के लिए एक बार में 1 से 10,000 तक generate करें।

  4. 4

    Copy या download करें

    Clipboard पर copy करने के लिए Copy All पर click करें, या large batches के लिए .txt file download करें। हर UUID नई line पर है, code या spreadsheet में paste करने के लिए ready।

Frequently Asked Questions

UUID का full form क्या है?+

UUID का full form है Universally Unique Identifier। यह एक 128-bit value है जो RFC 4122 (अब RFC 9562 द्वारा superseded) में specified है और computer systems में central authority के बिना information को uniquely identify करने के लिए उपयोग होती है।

UUID v4 और UUID v7 में क्या फर्क है?+

UUID v4 में 122 bits of cryptographic randomness होती है — यह completely random है और कोई ordering नहीं देता। UUID v7 पहले 48 bits में Unix timestamp (milliseconds) encode करता है, जिससे UUIDs creation time के अनुसार sort होते हैं। Database primary keys के लिए UUID v7 preferred है क्योंकि यह random inserts से होने वाली B-tree index fragmentation avoid करता है।

क्या दो UUIDs कभी same हो सकते हैं?+

technically हाँ, लेकिन probability negligible है। UUID v4 (122 random bits) के साथ, single collision की 50% chance के लिए लगभग 2.71 quintillion UUIDs generate करने होंगे। Cryptographically secure random number generator (जो सभी standard UUID libraries उपयोग करती हैं) का उपयोग करने पर collisions practically non-concern हैं।

GUID और UUID में क्या फर्क है?+

Essentially कोई फर्क नहीं। GUID (Globally Unique Identifier) Microsoft की UUID implementation है। GUIDs typically uppercase में curly braces के साथ display होते हैं — जैसे {550E8400-E29B-41D4-A716-446655440000} — लेकिन वही 128-bit format उपयोग करते हैं। .NET का System.Guid UUID v4 values generate करता है।

Database primary keys के लिए UUID या auto-increment बेहतर है?+

Single-server applications के लिए auto-increment BIGINT सरल और तेज़ है। Distributed systems, microservices, या जब database round-trip के बिना client-side IDs generate करने हों, तब UUID v7 उपयोग करें। Large tables में UUID v4 को primary keys के रूप में avoid करें — इसकी random ordering से index fragmentation और धीमे inserts होते हैं।

Nil UUID क्या होता है?+

Nil UUID है 00000000-0000-0000-0000-000000000000 — सभी 128 bits शून्य पर। इसे sentinel value के रूप में उपयोग किया जाता है जिसका अर्थ है "कोई UUID assign नहीं किया गया" या nullable UUID fields में default के रूप में, SQL में NULL की तरह।

Free — No Signup Required

UUIDs तुरंत Generate करें — Free

Browser में single या bulk UUIDs (v1, v4, v7) बनाएं। कोई server calls नहीं, कोई signup नहीं। Copy करें, download करें, या सीधे code में उपयोग करें।

UUID Generator खोलें

Related Guides