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) भनेको computer systems मा information uniquely identify गर्न प्रयोग हुने १२८-bit value हो — central authority बिना नै। राम्रोसँग generate गरिएको UUID सांख्यिकीय रूपमा सारा space र time मा unique हुन्छ, जसले यसलाई distributed systems, database primary keys, REST APIs, र session management को backbone बनाउँछ। यदि तपाईंले 550e8400-e29b-41d4-a716-446655440000 जस्तो string कहिलै देख्नुभएको छ भने, त्यो UUID नै हो।

यो गाइडमा developers का लागि आवश्यक सबै कुरा छ: पाँच UUID versions (v1 देखि v7 सम्म), structure कसरी पढ्ने, collision probability को math, database मा UUID vs auto-increment, GUID vs UUID naming, र हरेक use case का लागि सही version — अन्तमा निःशुल्क UUID generator पनि छ।

Free Tool

UUIDs तुरुन्त Generate गर्नुहोस् — निःशुल्क

Browser मा नै single वा bulk UUIDs (v1, v4, v7) बनाउनुहोस्। कुनै server call छैन, signup छैन। Copy, download, वा सिधै code मा प्रयोग गर्नुहोस्।

UUID Generator खोल्नुहोस् →

UUID के हो? Structure र Format सम्पूर्ण जानकारी

UUID भनेको १२८-bit identifier हो जुन hyphen ले छुट्याइएका पाँच hexadecimal digits को समूहमा देखाइन्छ — 8-4-4-4-12 pattern मा (३२ hex chars + ४ hyphens = ३६ 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)

दुई विशेष 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 हुन्छ।

Example breakdown

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

Nil UUID

Nil UUID भनेको सबै १२८ bits शून्य भएको विशेष UUID हो: 00000000-0000-0000-0000-000000000000। यसलाई sentinel वा placeholder value को रूपमा प्रयोग गरिन्छ — SQL को NULL जस्तै। केही systems ले यसलाई "UUID assign भएको छैन" भनेर देखाउन प्रयोग गर्छन्।

UUID v1 vs v4 vs v5 vs v7 — सम्पूर्ण तुलना

पाँच standardised UUID versions छन्। हरेक version ले १२८ bits मा फरक-फरक information encode गर्छ। यो पूरा तुलना हेर्नुहोस्:

VersionAlgorithmSortable?Private?Best Use Case
v1MAC address + timestamp (100-ns precision)Partially (time-ordered)No — MAC & time leak गर्छDistributed event logging (legacy)
v3MD5 hash of namespace + nameNoYesDeterministic IDs from names (legacy)
v4122 bits of cryptographic randomNoYesGeneral purpose — सबैभन्दा common
v5SHA-1 hash of namespace + nameNoYesDeterministic IDs (v3 भन्दा v5 prefer गर्नुहोस्)
v7Unix timestamp (ms) + random bitsYes (monotonic)YesDatabase 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 sortable भए पनि, v1 ले machine को MAC address expose गर्छ — privacy concern। B-tree indexes मा पनि "hot spots" बनाउँछ। नयाँ projects मा avoid गर्नुहोस्।

UUID v4 — Pure Random

UUID v4 ले 122 random bits प्रयोग गर्छ। यो सबैभन्दा widely used UUID version हो। कुनै coordination चाहिँदैन, completely private, र हरेक भाषाको UUID library ले support गर्छ। एउटै कमजोरी: sortable छैन, जसले database मा B-tree index fragmentation गर्न सक्छ।

UUID v5 — Namespaced SHA-1

UUID v5 ले SHA-1 प्रयोग गरेर namespace UUID + name string बाट deterministically UUID generate गर्छ। एउटै input दिँदा सधैं एउटै UUID आउँछ। एउटै real-world entity (जस्तै user email "alice@example.com") को लागि stable identifier चाहिँदा use गर्नुहोस्।

UUID v7 — Database को लागि Modern Choice

UUID v7 (RFC 9562, 2024) ले पहिलो 48 bits मा Unix timestamp (milliseconds) encode गर्छ। timestamp high bits मा भएकाले v7 UUIDs chronologically sort हुन्छन् — v4 को index fragmentation problem solve हुन्छ। Database primary keys को लागि UUID v7 अहिलेको recommended choice हो।

UUID Collision Probability — गणित बुझ्नुहोस्

UUIDs बारे सबैभन्दा सामान्य प्रश्न: "के दुई UUID एउटै हुन सक्छ?" technically हो, तर probability अत्यन्त न्यून छ।

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 probability पाउन n UUIDs चाहिन्छ:
n ≈ 2.71 quintillion (2.71 × 10^18)

व्यावहारिक रूपमा: यदि तपाईंले प्रति सेकेन्ड १ billion UUIDs generate गर्नुभयो भने, एउटा मात्र collision को ५०% chance पाउन लगभग ८५ वर्ष लाग्छ। cryptographically secure random number generator प्रयोग गरेमा UUID collision वास्तविक engineering concern होइन।

CSPRNG requirement

यो guarantee तब मात्र valid छ जब Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) प्रयोग गरिएको छ। JavaScript को crypto.randomUUID(), Python को uuid.uuid4(), र Java को UUID.randomUUID() — सबैले CSPRNG प्रयोग गर्छन्। Math.random()-based UUID generators avoid गर्नुहोस्।

कहिले सावधान हुने

यदि तपाईंको system छोटो समयमा tens of billions UUIDs generate गर्छ भने, UUID v7 मा switch गर्नुहोस् — यसमा monotonic random bits को sequence counter ले additional collision resistance दिन्छ।

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

UUID लाई database primary key रूपमा प्रयोग गर्नु एक debated architectural decision हो। MySQL र PostgreSQL का लागि honest analysis:

UUID vs Auto-Increment: Trade-offs

FactorUUID (v4)UUID (v7)Auto-Increment INT
Uniqueness scopeGlobalGlobalPer-table मात्र
Index fragmentationHigh (random inserts)Low (monotonic)None (sequential)
Insert performanceINT भन्दा ~20–40% slowINT जत्तिकैFastest
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 generationYes — DB roundtrip चाहिँदैनYesNo — DB चाहिन्छ

MySQL recommendations

MySQL (InnoDB) मा primary key नै clustered index हो। Random UUID v4 PK को रूपमा प्रयोग गर्दा severe index fragmentation हुन्छ। ठूला tables (10M+ rows) मा insert performance significantly घट्छ। UUID v7 वा UUID_TO_BIN(uuid, 1) function प्रयोग गर्नुहोस्VARCHAR(36) होइन — BINARY(16) मा store गर्नुहोस्।

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 छ।

Rule of thumb

  • Single-server app, < 10M rows: Auto-increment BIGINT सरल र ठीक
  • Distributed system / microservices: UUID v7 (सबैभन्दा balanced)
  • URLs/APIs मा IDs expose: UUID v4 (opaque) वा UUID v7 (sortable)
  • Deterministic IDs चाहिन्छ: UUID v5

GUID vs UUID — के यी एउटै हुन्?

छोटो उत्तर: हो, GUID र UUID essentially एउटै हो। यहाँ distinction छ:

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

Microsoft को GUID UUID को variant हो। मुख्य फरक cosmetic छ: GUIDs प्रायः uppercase र curly braces सहित देखाइन्छ (जस्तै {550E8400-E29B-41D4-A716-446655440000})। .NET मा System.Guid.NewGuid() ले behind the scenes UUID v4 generate गर्छ। Microsoft र non-Microsoft systems बीच interoperating गर्दा braces हटाएर 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 सजिलो छ:

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 गर्छ:

  • 8-4-4-4-12 structure with hyphens
  • 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 जाँदैन।

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 UUID को लागि v4, database primary keys (sortable) को लागि v7, वा timestamp-based identifiers को लागि v1 छान्नुहोस्।

  3. 3

    Quantity set गर्नुहोस्

    कति UUIDs चाहिन्छ enter गर्नुहोस् — एउटादेखि १०,००० सम्म एकैचोटि generate गर्न सकिन्छ।

  4. 4

    Copy वा download गर्नुहोस्

    Copy All click गरेर clipboard मा copy गर्नुहोस्, वा ठूलो batch को लागि .txt file download गर्नुहोस्। प्रत्येक UUID नयाँ line मा हुन्छ — code वा spreadsheet मा paste गर्न ready।

Frequently Asked Questions

UUID भनेको के हो?+

UUID भनेको Universally Unique Identifier हो। यो RFC 4122 (अहिले RFC 9562 ले supersede गरेको) मा specified १२८-bit value हो जुन central authority बिना नै computer systems मा information uniquely identify गर्न प्रयोग हुन्छ।

UUID v4 र UUID v7 मा के फरक छ?+

UUID v4 ले 122 bits को cryptographic randomness प्रयोग गर्छ — completely random र ordering छैन। UUID v7 ले पहिलो 48 bits मा Unix timestamp (milliseconds) encode गर्छ, जसले UUIDs लाई creation time अनुसार sort गर्न मिल्छ। Database primary keys को लागि UUID v7 preferred छ किनकि यसले v4 को B-tree index fragmentation problem solve गर्छ।

के दुई UUID कहिलै एउटै हुन सक्छ?+

Technically हो, तर probability negligible छ। UUID v4 (122 random bits) मा, एउटा collision को 50% chance पाउन लगभग 2.71 quintillion UUIDs generate गर्नु पर्छ। Cryptographically secure random number generator (जुन सबै standard UUID libraries प्रयोग गर्छन्) प्रयोग गर्दा collisions practical concern होइन।

GUID र UUID एउटै हो?+

हो, essentially। GUID (Globally Unique Identifier) Microsoft को UUID implementation हो। GUIDs प्रायः uppercase र curly braces सहित देखाइन्छ — जस्तै {550E8400-E29B-41D4-A716-446655440000} — तर standard UUIDs जस्तै नै 128-bit format प्रयोग गर्छ। .NET को System.Guid ले UUID v4 values generate गर्छ।

Database primary key का लागि UUID वा auto-increment?+

Single-server applications को लागि, auto-increment BIGINT सरल र छिटो छ। Distributed systems, microservices, वा database round-trip बिना client-side IDs generate गर्न परेमा UUID v7 प्रयोग गर्नुहोस्। ठूला tables मा UUID v4 primary key avoid गर्नुहोस् — यसको random ordering ले index fragmentation र slow inserts निम्त्याउँछ।

Nil UUID के हो?+

Nil UUID भनेको 00000000-0000-0000-0000-000000000000 हो — सबै 128 bits शून्य। यसलाई "UUID assign भएको छैन" भन्ने sentinel value को रूपमा प्रयोग गरिन्छ, SQL को NULL जस्तै।

Free — No Signup Required

UUIDs तुरुन्त Generate गर्नुहोस् — निःशुल्क

Browser मा नै single वा bulk UUIDs (v1, v4, v7) बनाउनुहोस्। कुनै server call छैन, signup छैन। Copy, download, वा सिधै code मा प्रयोग गर्नुहोस्।

UUID Generator खोल्नुहोस् →

Related Guides