# UUID generator for Next.js & Supabase seeds. In your browser.

Generate cryptographically random UUID v4, time-based UUID v7 and ULID batches, then validate a pasted UUID locally — free, no sign-up.

Page: https://saascode.ai/tools/uuid-generator

## How to use

1. Choose UUID v4, UUID v7 or ULID and a batch size from 1 to 1,000.
2. Choose Generate IDs and copy or download the batch for local fixtures. Use real UUIDs for Supabase uuid columns.
3. Paste a UUID and Validate UUID to check canonical formatting, version and variant; v7 also shows its timestamp.

## Scope

RFC 9562 v4/v7 layout and ULID Base32. No monotonic ordering within a millisecond; timestamps depend on your device. Format validation only.

## References

- [RFC 9562 UUID specification](https://www.rfc-editor.org/rfc/rfc9562.html)
- [ULID specification](https://github.com/ulid/spec)

## Build your SaaS

[Build from SaaSCode Base](https://saascode.ai/free)

## Related tools

- [Base64 encode / decode](https://saascode.ai/tools/base64)
- [Markdown editor & table generator](https://saascode.ai/tools/markdown-editor)
- [Unix timestamp converter](https://saascode.ai/tools/unix-timestamp-converter)
- [All free tools](https://saascode.ai/tools)

## FAQ

### Is this free, and does anything leave my browser?

Free, no sign-up. Inputs and outputs stay in your browser, with no processing endpoint or upload. Copy and download are local. Usage events contain only a fixed tool name and action, never your data.

### What is the difference between UUID v4 and v7?

UUID v4 uses random bits, while v7 begins with a 48-bit Unix timestamp in milliseconds and adds random bits. v7 groups IDs by creation time and exposes that time. IDs created in the same millisecond here are not monotonic.

### Can ULID go into a Supabase uuid column?

Not directly. ULID is 26-character Crockford Base32 text, while PostgreSQL uuid expects UUID representation. Store ULIDs in a text column or use UUID v4/v7 for a uuid column.

### How are random values generated?

UUID v4 uses crypto.randomUUID. UUID v7 and ULID use crypto.getRandomValues and the device clock. No Math.random or server generation is used. Unique constraints still belong in your database.

### Does UUID validation prove an ID exists?

No. It checks canonical 8-4-4-4-12 hex formatting, the RFC variant and versions 1 through 8, and recognizes Nil and Max UUIDs. It does not query a database, prove uniqueness or identify an owner.

### Should I generate IDs in the browser for production inserts?

It depends on your application. For database-owned IDs, use your PostgreSQL default such as gen_random_uuid(). This tool is convenient for fixtures and seed files. Never treat an ID as a password or authorization token.
