Random ID Generator
Generate random identifiers with the exact length and charset you need. Alphanumeric, hex, base32, base64, numeric — whatever your storage and URL constraints want. Cryptographically secure via crypto.getRandomValues() — the same RNG the browser uses for TLS. Nothing leaves your machine.
Pick your charset
Smaller alphabets need longer IDs for the same entropy. 16 alphanumeric chars give about 95 bits of entropy — well above the "effectively unique" threshold.
alphanumeric (16): kP2nQ8mZxYvW1bcD hex (16): a3f8c91b04e72fd5 numeric (10): 8472019635 base64 (12): Xy7+kB/n2Pq= base32 (16): 7QXKPMN0H3BVCJ4R
Charset bits/char 16 chars ───────── ───────── ────────── hex (16) 4 bits 64 bits b32 (32) 5 bits 80 bits b64 (64) 6 bits 96 bits alnum(62) 5.95 bits 95 bits ≥80 bits → safe for sessions
What you'll use this for
UUIDs are the universal "give me a unique identifier" tool — no central coordination required.
URL slugs
Short, URL-safe identifiers for documents, shareable links, public resources.
API keys / tokens
High-entropy tokens for API keys, password reset links, magic login codes.
Invite codes
Short numeric or alphanumeric codes (4–8 chars) for human-typed invitations.
Test fixtures
Seed test data when UUIDs feel too long — like 8-char alphanumeric handles.
How to generate random IDs
Pick length
For session-like security pick 16+ alphanumeric chars (≈95 bits). Shorter is fine for invitations.
Pick charset
Hex for compatibility, base32 for human entry, base64 for compactness, alphanumeric for general use.
Set count
Generate 1 to 1,000 at once. Each row is independent.
Copy or download
Copy all to clipboard or save as .txt. Generated locally — nothing uploaded.
Frequently asked questions
A UUID has a fixed format and length (128 bits, 36 chars). A random ID is whatever length and charset you choose — useful for short tokens, custom slugs, or invitation codes.
Yes. Uses crypto.getRandomValues() — the Web Crypto API's secure RNG, same as TLS. Bytes are mapped to the charset with a simple modulo (slight bias for non-power-of-two charsets is acceptable in practice).
For session tokens, 16+ alphanumeric chars (≈95 bits of entropy) is the modern minimum. For invitation codes, 6–8 chars is fine. For database keys consider 21+ alphanumeric for full UUID-class collision safety.
Crockford base32 omits I, L, O, U — characters humans confuse. Great for codes people might read aloud or type from a screen.
Yes. No signup, no limits, no ads. Generation happens entirely in your browser via the Web Crypto API.
About random IDs
A random ID is a sequence of N characters drawn uniformly from a chosen alphabet using a cryptographic RNG. The entropy is N × log₂(alphabet_size) bits.
Charset cheat sheet
- Alphanumeric (62) — most flexible, ~5.95 bits/char.
- Hex (16) — 4 bits/char, ubiquitous for tokens.
- Base32 Crockford (32) — 5 bits/char, no ambiguous characters.
- Base64 URL-safe (64) — 6 bits/char, most compact for any byte alphabet.
- Numeric (10) — 3.32 bits/char, for human-readable invitations.
Compared to UUID/ULID
- UUID v4 — 36 chars, fixed format.
- ULID — 26 chars, time-sortable.
- Random ID — any length, any charset.