Random String Generator

Generate unbiased random strings in bulk using crypto.getRandomValues with custom alphabets, lookalike exclusion, and live entropy calculation.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.
Pool & entropy
Entropy per string
142.9 bits
Unique pool size
62 chars
Active alphabet
Generated strings
10 lines

About This Tool

Generates random strings, API keys, voucher codes, and test tokens in bulk using the Web Crypto API (crypto.getRandomValues) with rejection sampling so every character in the pool has uniform probability.

Mix uppercase, lowercase, digits, symbols, and any custom character set, exclude visually ambiguous characters (0, O, 1, l, I), attach optional prefixes or suffixes, and inspect the exact pool size and Shannon entropy in bits.

Key Features

  • Rejection-sampled CSPRNG: Uses crypto.getRandomValues via rejection sampling to eliminate modulo bias across any pool size.
  • Custom character sets: Combine built-in character classes (A-Z, a-z, 0-9, symbols) with your own custom alphabet (such as Crockford Base32 or hex).
  • Bulk generation & prefix/suffix: Generate up to 500 strings at once with optional prefix (such as sk_test_) and suffix.
  • Ambiguous filter & entropy readout: Drop lookalike characters (0, O, 1, l, I) and view exact bits of entropy per generated string.

Frequently Asked Questions

How does rejection sampling avoid modulo bias?
Taking a random 32-bit integer modulo N slightly favors smaller remainders whenever 2^32 is not evenly divisible by N. Rejection sampling discards random integers that fall into the incomplete upper remainder bucket of 2^32 and draws again, guaranteeing a strictly uniform distribution.
How is entropy in bits calculated?
Entropy equals length * log2(uniquePoolSize). For example, a 24-character string drawn from 62 alphanumeric characters provides 24 * log2(62) = 142.9 bits of entropy.
Are generated strings stored or logged anywhere?
No. Everything runs in your browser tab and nothing is transmitted over the network.