Generators

Random String Generator

Generate cryptographically random strings with fine-grained control over character sets, length, patterns, and ambiguous character exclusion.

16
Uppercase (A-Z)
Lowercase (a-z)
Digits (0-9)
Symbols (!@#$%^&*()-_=+[]{};:,.?)
Exclude ambiguous characters (0, O, 1, l, I)
A = alpha, 0 = digit, X = alphanumeric, S = symbol, * = any, other chars kept as-is
Click Generate

How to use this tool

  1. Set the length with the String Length slider, or type a number from 1 to 256 into the field beside it.
  2. Tick the character sets you want — Uppercase (A-Z), Lowercase (a-z), Digits (0-9), and Symbols — or add your own in Custom Characters.
  3. Optionally check Exclude ambiguous characters to drop the lookalikes 0, O, 1, l, and I.
  4. To control exact placement, type a Pattern such as AAAA-0000 — a pattern overrides the length setting.
  5. Click Generate to produce the string, then hit Copy to grab the result and its entropy estimate.

Why this tool is helpful

Generate API keys & tokens

Mint unique, high-entropy secrets for auth tokens, webhooks, and service credentials without hand-rolling randomness.

Create strong passwords

Combine upper, lower, digits, and symbols — then exclude lookalikes — to produce high-strength passwords that are hard to guess.

Build seeds, nonces & IDs

Quickly produce random nonces, salts, session IDs, and correlation IDs in whatever charset your system expects.

Match a fixed format

Use the Pattern field to emit strings in a rigid shape — like AAAA-AAAA-AAAA-AAAA for license keys or promo codes.

Generate test data

Populate fixtures, fuzz inputs, and sample usernames or codes with realistic random strings of a predictable length.

Stay private

Generation runs entirely in your browser — nothing is uploaded, logged, or sent to a server.

FAQ

Is the randomness cryptographically secure?

Yes. Every character is drawn with crypto.getRandomValues, the browser's cryptographically secure random number generator, rather than Math.random.

What do the pattern characters mean?

A = letter, 0 = digit, X = letter or digit, S = symbol, and * = any enabled character. Any other character is kept as-is, so AAAA-0000 keeps the hyphen.

Does a pattern override the length?

Yes. When a pattern is present, the generated string has exactly the pattern's length and structure, and the String Length setting is ignored.

What does "exclude ambiguous characters" remove?

It strips the lookalikes 0, O, o, 1, l, L, I, and i from the pool, which helps avoid mix-ups when strings are read aloud or typed by hand.

What does the entropy number mean?

The estimate is length × log2(charset size). A larger character set or a longer string means more possible combinations — and therefore more bits of entropy.

What happens if I deselect every character set?

With no sets, custom characters, or pattern, the output shows Please select at least one character set. — re-enable a set to generate again.

Does any of my data leave my browser?

No. Strings are generated locally with JavaScript and never sent to, stored on, or logged by any server.