Random Letter Generator
Draw truly random letters right here in your browser. Every option of the site’s focused tools in one place: count, English or Greek alphabet, upper/lower/mixed case, vowel and consonant filters, custom pools, and no-repeat draws — all cryptographically uniform, nothing transmitted.
Generate random letters
Pick your options and generate. Every letter in the pool is exactly equally likely.
What "cryptographically uniform" means here
The generator never invents randomness in JavaScript. It asks your browser’s Web Crypto API for raw random bytes — the same source used for keys and secure tokens — and maps them onto the letter pool by rejection sampling: keep the minimal bits that cover the pool, throw away any value at or beyond it, redraw. A masked byte of 0 becomes A, 7 becomes H, 25 becomes Z — that exact scripted sequence produces A H Z, and that worked example is computed at build time by the same tested engine that runs the tool above. Because out-of-range values are discarded rather than wrapped around, no letter is ever more likely than another — the flaw in the common "byte modulo 26" shortcut.
Pools, filters, and cases compose
Start from the 26-letter English alphabet or the 24-letter Greek one, cut it to vowels (5 letters in English) or consonants, restrict it to a custom include list, then remove exclusions. Mixed case doubles whatever remains — all 52 of A–Z and a–z in one pool, where A and a count as different letters, for no-repeat draws too. The result box always reports the exact pool size the draw came from, so you can see precisely what "equally likely" applied to.
Classroom games, picks, and drills
The one-of-everything generator is built for jobs the focused tools don’t cover: a letter-a-round drawing game where already-used letters are excluded; phonics practice alternating vowel and consonant draws; naming a team by drawing three letters; or a fair "whose surname initial goes first" pick. For the everyday cases there are focused tools — vowels, consonants, multi-letter sequences, mixed case, and the Greek alphabet with letter names.
Frequently asked questions
Is every letter really equally likely?
Yes, by construction. The generator asks your browser’s cryptographic random source for raw bytes, keeps only the minimal bits needed to cover the pool, and discards any value that falls outside it before redrawing. That rejection-sampling step is what removes the small bias that the common "random number modulo 26" shortcut introduces. Every letter in the active pool has exactly the same probability.
Are letters weighted by how common they are in English?
No, and the site will never quietly pretend otherwise. E is more common than Z in English text, but this generator is uniform: E and Z are exactly equally likely. Uniform draws are what letter games, random picks, and fair selections actually need.
Can I stop letters from repeating?
Yes — switch on "no repeats" and the generator draws without replacement, so every letter in the batch is distinct. If you ask for more letters than the pool holds (say 30 unique letters from the 26-letter alphabet), the tool refuses with an explanation instead of silently repeating.
How do the custom include and exclude lists work?
The include list restricts the pool to exactly the letters you type; the exclude list removes letters from whatever pool is active. They compose with the vowel/consonant filter — for example, vowels with E excluded leaves A I O U. Letters outside the selected alphabet are rejected with an error, not ignored.
Is anything I generate sent anywhere?
No. The draw runs as JavaScript in your browser using your device’s own cryptographic random source. Nothing is transmitted, logged, or stored; closing the page discards everything.
Uniform means uniform: draws are never weighted by English letter frequency or anything else, and streaks are a normal property of real randomness. Letters are drawn locally in your browser and never transmitted. How the engine works and is tested is on the methodology page.