Generador de UUID / GUID Pro
Generación, validación y formato seguros para UUID
Opciones
Validador de UUID
Generador de UUID / GUID Pro
Generación, validación y formato seguros para UUID
Características
- UUID v4 via `crypto.getRandomValues` (cryptographically strong random) — the everyday choice when you need a unique id with no semantic content
- UUID v1 generated with the proper 60-bit timestamp (100-nanosecond ticks since 1582-10-15) + 14-bit clock sequence + random node — sortable by creation time, RFC 4122 compliant
- UUID v5 (namespace-based) using real SHA-1 via the Web Crypto API — same namespace + name deterministically produces the same UUID, so you can re-derive ids from inputs
- Four built-in namespaces (DNS, URL, OID, X.500) per RFC 4122 Appendix C, plus a custom-namespace field for project-specific roots
- Batch generation 1–500 per click with optional deduplication and alphabetical sort — useful for seeding test data
- Format options: hyphens on/off, uppercase/lowercase, braces `{…}`, URN prefix `urn:uuid:…` — pick whichever your destination system expects
- Built-in validator that detects version (1–5) and variant (RFC 4122, NCS, Microsoft, Reserved) of any UUID you paste, and normalises mixed input (with/without hyphens/braces/URN)
- Privacy-friendly: every UUID is generated in your browser; no network calls. DevTools Network stays empty during generation
Cómo usar
- Pick a version: v4 for "I just need a unique id", v1 for time-sortable ids, v5 for deterministic ids from a namespace + name.
- For v5 only: pick a namespace (DNS, URL, OID, X.500, or paste a custom UUID) and enter the name string — same inputs always produce the same UUID.
- Set the count (1–500) and toggle dedupe/sort if generating many at once.
- Set format options: hyphens on/off, casing, braces, URN prefix — adjust to match your destination system's expectations.
- Click Generate. Results render below; Copy All grabs the whole list, or click a single UUID to copy just that one.
- Use the validator panel to inspect any UUID — paste in, see version, variant, and normalised form.
Consejos y buenas prácticas
- When in doubt, generate v4 — it's the right answer 95% of the time and the simplest to reason about.
- For v5, pick a stable namespace (your company's root UUID) and use it across services so the same input always maps to the same id everywhere.
- Toggle dedupe + sort when generating 100+ v4s — the chance of dupe is near zero, but the sort makes the list easier to scan for testing.
- The validator accepts pasted UUIDs with or without hyphens, braces, or `urn:uuid:` prefix — it normalises before validating, so you don't need to strip formatting first.
- If you need lexicographically-sortable time UUIDs for database keys, look at UUIDv7 (a newer standard) or ULID instead — v1 sorts byte-wise but not as a string.
Preguntas frecuentes
Which UUID version should I use?
Default to v4. It's 122 bits of cryptographic randomness — collisions are astronomically unlikely (you'd need to generate ~2.7 × 10^18 ids before a 50% chance of one collision). Use v1 only if you need ids that sort by creation order at the database level. Use v5 when you need the same input to always map to the same id (deterministic content addressing).
Is the v5 generator actually deterministic?
Yes. v5 hashes the concatenated namespace bytes + name string with SHA-1 (via the Web Crypto API), takes the first 16 bytes, and sets version + variant bits per RFC 4122 §4.3. Same namespace + same name → identical UUID, every time, on every machine. The validator panel will show "version v5" for these.
Why does v1 include a random node ID instead of a MAC address?
Browsers don't expose MAC addresses (and shouldn't — that's a privacy leak). RFC 4122 §4.5 explicitly permits a random node when the MAC is unavailable; the multicast bit is set to signal "synthetic node". This still satisfies the uniqueness contract: the timestamp + clock sequence + random node combination is collision-resistant.
Are v1 UUIDs actually sortable by time?
Sort by the raw byte order and they sort by creation time within the same node (because timestamp comes first in the layout). If you need lexicographic sortability across distributed generators, look at ULID or UUIDv7 instead — they put the timestamp in the high-order bytes specifically for string-sort.
What's the difference between RFC 4122 and Microsoft variants?
The variant bits (in byte 8) tell you which spec the UUID conforms to. RFC 4122 is the modern standard — the variant nibble starts with `8`, `9`, `a`, or `b`. Microsoft (legacy) uses `c`–`d`; NCS (Apollo) uses `0`–`7`. Anything you generate here is RFC 4122; the validator labels what you paste in.
Can I generate millions of UUIDs?
The UI caps at 500 per batch — past that, the browser tab is doing more work than necessary for a UI tool. If you need millions, call `crypto.randomUUID()` directly in your code (or a server-side library like Python `uuid`, Node `crypto.randomUUID`); they're built for that volume.
What happens if I generate 500 v1 UUIDs in the same millisecond?
They're still distinct. The generator bumps a sub-tick counter when the wall-clock hasn't advanced — so two v1s issued at the same ms differ in the timestamp's low bits. Each remains a valid v1 UUID; sorting by time still places them adjacent.
Is anything sent to a server?
No. v4 uses `crypto.getRandomValues`, v1 uses `Date.now()` + `crypto.getRandomValues` for the node, v5 uses `crypto.subtle.digest("SHA-1", …)` — all browser APIs, no network. DevTools Network stays empty during generation; the page works offline once cached.