On this page
UUID Generator
Generate RFC 9562-aligned v4 and v7 UUIDs instantly in your browser.
No data is sent to any server.
📜 History
0 itemsGenerate your first UUID above.
UUIDs Explained: How They Work and When to Use Them
A practical guide for developers • Updated October 2026
Table of contents
What is a UUID?
A UUID, or Universally Unique Identifier, is a 128-bit value used to identify an object, record, request, or event without asking a central service for the next number. The current IETF specification is RFC 9562, which also describes UUIDs as GUIDs in some software ecosystems and obsoletes the older RFC 4122.
The usual text form contains 32 hexadecimal digits separated into groups of 8-4-4-4-12, for example a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11. A UUID is not a password and it should not be treated as proof of authorization.
UUIDs are useful when several machines or browser clients need to create identifiers independently. “Unique” means that a collision is expected to be extremely unlikely when a suitable algorithm and random source are used; it is not a mathematical guarantee that replaces validation or database constraints.
Important UUID versions
RFC 9562 defines eight UUID versions. They are not interchangeable because each one has a different generation method and purpose.
- Version 4: random or pseudo-random data. In a browser, use a cryptographically secure source such as
crypto.randomUUID()orcrypto.getRandomValues(). - Version 5: name-based and deterministic, using SHA-1 with a namespace and a name. It must receive the same namespace and name to reproduce the same UUID.
- Version 7: contains a Unix timestamp in milliseconds followed by random data. It is useful when identifiers should sort by creation time, although ordering is not a substitute for a separate business timestamp.
- Versions 1, 3, 6 and 8: have specific compatibility or design purposes. Do not label a value as one of these versions unless the implementation follows the relevant RFC algorithm.
Which version should you choose?
Choose v4 when you need a simple random identifier and do not need chronological ordering. Choose v7 when database locality or time-oriented sorting is important. Choose v5 only when you have a defined namespace and name and need a repeatable result. Do not use a UUID as a session secret, API key, password reset token, or access token unless the complete authentication design provides the required security properties.
Our tool intentionally provides v4 and v7 only. This keeps the interface honest: v3 and v5 need namespace/name inputs, while a correct v1 implementation needs careful clock-sequence and node handling. A generator should not claim to support an algorithm that it does not actually implement.
Security, privacy, and browser generation
The tool generates values in your browser and does not send the entered options to a server. The v4 implementation uses the Web Crypto API. According to MDN, crypto.randomUUID() produces a v4 UUID with a cryptographically secure random number generator and is available in secure contexts such as HTTPS.
Private processing does not make a UUID secret. Do not place confidential information inside a UUID, and do not rely on unpredictability alone for authorization. Protect sensitive actions with authenticated sessions, authorization checks, expiration, and server-side validation.
UUIDs in databases
Use a native UUID type when your database provides one. For example, PostgreSQL documents a native 128-bit uuid type and accepts UUIDs from any version. Storing the native value avoids treating the identifier as an arbitrary piece of text.
Random v4 values can have poor index locality because consecutive inserts are spread across an index. RFC 9562 describes v6 and v7 for time-oriented use cases, and PostgreSQL documents a uuidv7() function in current releases. Measure your own workload before choosing a primary-key strategy.
What this tool does—and does not do
- It generates v4 and v7 UUID strings locally in the browser.
- It supports batches of 1 to 100 values, prefixes, lowercase or uppercase output, braces, URN form, JSON, CSV, copying, downloading, and a local history.
- It does not validate that a UUID is registered in a database or guarantee that a collision is impossible.
- It does not create v3, v5, v1, v6, or v8 values, and it does not replace a tested server-side library for production systems.
- Local history is stored in this browser only. Clear it if you are using a shared device.
Frequently asked questions
Are UUIDs and GUIDs the same?
They generally refer to the same 128-bit identifier concept. “GUID” is common in Microsoft documentation, while “UUID” is the term used by the IETF specification.
Can I use a UUID as an API key?
Do not assume that a UUID is an API key. API credentials need a complete security design, appropriate entropy, revocation, storage, transport protection, and server-side checks.
Does v7 always sort perfectly by time?
v7 includes a millisecond Unix timestamp and is designed for time-oriented ordering, but multiple values can share a timestamp. Keep a separate timestamp or sequence when exact event order matters.
Can the tool work offline?
After the page and its scripts have loaded, generation itself is local. The first page load still depends on the website, browser cache, and network conditions.