एक 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 के साथ।
UUIDs तुरंत Generate करें — Free
Browser में single या bulk UUIDs (v1, v4, v7) बनाएं। कोई server calls नहीं, कोई signup नहीं। Copy करें, download करें, या सीधे code में उपयोग करें।
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 है:
| Version | Algorithm | Sortable? | Private? | Best Use Case |
|---|---|---|---|---|
| v1 | MAC address + timestamp (100-ns precision) | Partially (time-ordered) | नहीं — MAC & time leak करता है | Distributed event logging (legacy) |
| v3 | namespace + name का MD5 hash | नहीं | हाँ | Names से deterministic IDs (legacy) |
| v4 | 122 bits cryptographic random | नहीं | हाँ | General purpose — सबसे common choice |
| v5 | namespace + name का SHA-1 hash | नहीं | हाँ | Deterministic IDs (v3 से बेहतर) |
| v7 | Unix 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
| Factor | UUID (v4) | UUID (v7) | Auto-Increment INT |
|---|---|---|---|
| Uniqueness scope | Global | Global | सिर्फ per-table |
| Index fragmentation | High (random inserts) | Low (monotonic) | None (sequential) |
| Insert performance | INT से ~20–40% धीमा | INT जैसा | सबसे तेज |
| Storage | 16 bytes (binary) / 36 bytes (text) | 16 bytes | 4 bytes (INT) / 8 bytes (BIGINT) |
| Merge / replication | No conflicts | No conflicts | Coordination के बिना conflicts |
| Security | Record 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 है:
| Term | Full Form | Origin | Format |
|---|---|---|---|
| UUID | Universally Unique Identifier | Open Group / RFC 4122 | xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx |
| GUID | Globally Unique Identifier | Microsoft (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
तुरंत एक या कई UUIDs चाहिए? ToolsArena का UUID Generator browser में bulk UUIDs (v1, v4, v7) बनाता है — कोई server नहीं, कोई data network पर नहीं जाता।
How to Use the Tool (Step by Step)
- 1
UUID Generator खोलें
ToolsArena के UUID Generator पर जाएं — कोई account नहीं, कोई install नहीं, किसी भी browser में काम करता है।
- 2
UUID version चुनें
General-purpose random UUIDs के लिए v4, database primary keys (sortable) के लिए v7, या timestamp-based identifiers के लिए v1 चुनें।
- 3
Quantity set करें
कितने UUIDs चाहिए दर्ज करें — batch operations के लिए एक बार में 1 से 10,000 तक generate करें।
- 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 की तरह।
UUIDs तुरंत Generate करें — Free
Browser में single या bulk UUIDs (v1, v4, v7) बनाएं। कोई server calls नहीं, कोई signup नहीं। Copy करें, download करें, या सीधे code में उपयोग करें।
UUID Generator खोलेंRelated Guides
Hash Generator — MD5, SHA-256 Online Guide Hindi (2026)
MD5, SHA-256, SHA-512 hashes online generate करें — hashing समझें, file verify करें।
मज़बूत पासवर्ड कैसे बनाएं — Password Security Guide 2026
UPI fraud, SIM swap और hacking से बचें — India-specific password security guide।
Base64 Encode & Decode — क्या है, कैसे काम करता है? (Developer Guide)
Base64 encoding की पूरी जानकारी — use cases, online decoder, और common pitfalls