# UUID Generator

> Generate UUIDs (v1, v4, v7, v8) in bulk, with format options and a validator. Cryptographically random by default.

- URL: https://generate.now/uuid
- Category: data
- Price: free, no account required
- AI-powered: no
- Last updated: 2026-08-27

## What it does

Generate one UUID or a thousand, in whatever version you need. v4 is fully random (default), v7 is timestamp-sortable, v1 is timestamp-based with a node ID, v8 is custom. Format the output as lowercase, uppercase, Base64, or URN. Includes a validator that decodes a UUID into its parts.

## When to use it

- Generate a primary key for a quick test row in your database
- Seed a fixture file with a thousand realistic IDs
- Get a timestamp-ordered UUID v7 to use as a sortable identifier
- Validate a UUID you pulled from a log and find out which version it is

## Examples

### Generate 1 × UUID v4

```
5b1f2a8c-3e9d-4b1c-9f6e-1a2b3c4d5e6f
```

Random UUID, the default for new identifiers in most systems.

### Generate 5 × UUID v7

```
0192f3a1-..., 0192f3a1-..., 0192f3a1-..., 0192f3a1-..., 0192f3a1-...
```

Timestamp-sortable UUIDs. Newer UUIDs sort after older ones lexicographically.

### Validate 5b1f2a8c-3e9d-4b1c-9f6e-1a2b3c4d5e6f

```
Valid, version 4 (random)
```

Confirms the input is a well-formed UUID v4.

## Frequently asked questions

### What's the difference between UUID v4 and v7?

v4 is 122 bits of randomness — collision-proof but unordered, which causes B-tree index fragmentation in databases. v7 prefixes 48 bits of millisecond timestamp before the random bits, so newer UUIDs sort after older ones. Use v7 when ordering matters.

### Are these UUIDs cryptographically secure?

Yes. The tool uses the Web Crypto API (crypto.getRandomValues) for all randomness. That's the same source recommended for security-sensitive use in browsers and Node.js.

### What's UUID v8?

v8 is the 'custom' version defined in RFC 9562. It lets you encode application-specific data into the UUID while still being a valid UUID. Most apps don't need v8 — pick v4 or v7 instead.

### Should I store UUIDs as text or binary in Postgres?

Postgres has a native uuid type (16 bytes) — use it. It's smaller than text (37 bytes for the canonical form) and faster to index. The Drizzle / Prisma / Kysely uuid types map to it directly.

### Can I generate UUIDs that are also valid ULIDs?

Not quite — ULID and UUID have different layouts. But UUID v7 covers the same need (timestamp-sortable IDs) and is far more widely supported.

### Why does v1 expose my MAC address?

Historically v1 included the host's MAC address as the 'node' field, which was a privacy issue. Modern implementations (and this tool) randomize the node ID instead. Even so, prefer v4 or v7 for new code.

### How many UUIDs can I generate at once?

The UI supports up to 1,000 per generation. Beyond that, hit the API in batches.

## References

- [RFC 9562: UUIDs](https://datatracker.ietf.org/doc/html/rfc9562) — IETF. The current UUID specification, defining versions 1 through 8 including the sortable v7.
- [RFC 4122: A UUID URN Namespace](https://datatracker.ietf.org/doc/html/rfc4122) — IETF. The original UUID specification, now obsoleted by RFC 9562 but still widely referenced.
- [Crypto.getRandomValues()](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) — MDN Web Docs. The cryptographically secure randomness source this generator uses.

## Related tools

- [Hash Generator](https://generate.now/hash): Hash a string with MD5, SHA-1, SHA-256, SHA-512, or bcrypt. Compare two hashes side by side.
- [API Key Generator](https://generate.now/api-key): Strong API keys and secrets with prefix support — sk_test_, pk_live_, or your own. Configurable length and charset, bulk mode.
- [Random Number Generator](https://generate.now/random-number): Generate random integers or floats in any range. Bulk output, allow-repeats toggle, seeded mode for reproducible runs.
