Letter picker · browser only
Random Letter Generator
Draw one letter or a sequence from A–Z or your own pool. Choose fair uniform draws, our clearly labelled English-spelling profile, replacement rules, letter case, and an optional reproducible seed.
Make a draw
Choose the pool and probability
Runs in this tab. Nothing is submitted.
1–100 with replacement; limited by the pool without it.
Leave empty for Web Crypto randomness. A seed switches to reproducible generator version RLG-1.
Inputs have no form action and are not saved to local or session storage.
Latest draw
Generated letters
This tab only
Recent draws
At most six draws are kept in memory. Reloading or closing this tab clears them.
Short answer
What makes a random letter draw fair?
A uniform random letter generator gives every currently available letter the same probability. With the full alphabet and replacement, that is 1 in 26 per draw. “English-frequency” is a different, intentional experiment: common letters in our declared spelling sample receive more probability than uncommon ones. Neither mode is inherently better—the right model depends on whether you need a fair alphabet draw or letters that resemble the balance found in English spellings.
Probability, exposed
How the random letter picker works
-
01
Build one explicit pool
A–Z contains 26 distinct ASCII letters. A custom pool accepts A–Z letters, ignores spaces and commas, converts case for comparison, and removes repeats in first-seen order. For example,
BANANAbecomesBAN, not a six-ticket weighted pool. -
02
Apply the chosen probability model
Uniform mode assigns equal probability to every letter remaining in the pool. English-frequency mode assigns each letter its observed occurrence count from the declared spelling profile below, then renormalizes those weights over the selected custom pool.
-
03
Replace—or permanently remove—the pick
With replacement, every draw starts from the same pool and repeated letters are possible. Without replacement, the chosen letter and its weight are removed. The next draw therefore has one fewer outcome, and a weighted pool's probabilities change after every selection.
-
04
Choose fresh or repeatable randomness
Without a seed, the page reads random values from the browser's Web Crypto API. With a seed, RLG-1 hashes its UTF-8 bytes with 32-bit FNV-1a and feeds Mulberry32. That deterministic path is useful for repeatable lessons and tests, but must not be used for passwords, keys, raffles, or security.
Worked examples
Probability with and without replacement
Let m be the number of distinct letters in the pool and n the
requested count. These formulas describe ordered sequences, because
ABC and CBA appear as different results.
Uniform, with replacement
Each letter has probability 1 / m on every draw. Any specified
sequence has probability (1 / m)n.
A specified five-letter A–Z result: 1 / 265 = 1 in 11,881,376.
Uniform, without replacement
A specified ordered result has probability
1 / [m × (m − 1) × … × (m − n + 1)].
Three specified vowels from AEIOU: 1 / (5 × 4 × 3) = 1 in 60.
Weighted, with replacement
Letter i has probability wᵢ / Σw. A specified sequence's
probability is the product of its letters' probabilities.
In the full profile, E receives 20,561 / 174,954 = 11.75% per draw.
Weighted, without replacement
The first probability is wᵢ / Σw. After a pick, remove its weight
from both numerator candidates and the total; subsequent probabilities are
conditional on every earlier draw.
This is probability-proportional-to-size sampling without replacement, not an independent series.
First-party research input
The English-spelling frequency profile
The model is twi-spelling-frequency-v1. We summed each A–Z occurrence across
24,496 distinct, content-filtered spellings
of 3–12 letters in the two higher-ranked bands of lexical release
2026.07-lexical.6. That produced
174,954 letter positions. The exact
source hashes, cohort rules, build ID, and 26 counts are available in the
reproducible profile artifact;
regenerate it with scripts/build_random_letter_frequency_profile.py.
This is an equal-weight spelling-list population: each spelling contributes once. It does not estimate letters per million words in novels, speech, journalism, search queries, or any other running-text genre. That limit is why the interface never labels this model simply “realistic.” See the reproducible letter-frequency study programme for the broader positional analysis.
| Letter | Occurrences | Share |
|---|---|---|
| A | 13,340 | 7.62% |
| B | 3,314 | 1.89% |
| C | 7,377 | 4.22% |
| D | 7,288 | 4.17% |
| E | 20,561 | 11.75% |
| F | 2,557 | 1.46% |
| G | 5,449 | 3.11% |
| H | 4,216 | 2.41% |
| I | 14,039 | 8.02% |
| J | 359 | 0.21% |
| K | 1,901 | 1.09% |
| L | 8,817 | 5.04% |
| M | 4,909 | 2.81% |
| N | 12,255 | 7.00% |
| O | 10,753 | 6.15% |
| P | 5,373 | 3.07% |
| Q | 295 | 0.17% |
| R | 13,106 | 7.49% |
| S | 13,935 | 7.96% |
| T | 11,902 | 6.80% |
| U | 5,713 | 3.27% |
| V | 1,967 | 1.12% |
| W | 1,785 | 1.02% |
| X | 476 | 0.27% |
| Y | 2,841 | 1.62% |
| Z | 426 | 0.24% |
| Total | 174,954 | 100.00% |
Choose the model before the answer
Useful ways to generate random letters
Classroom and phonics prompts
Use uniform A–Z for an equal-chance alphabet prompt, or a custom pool to focus on the graphemes a learner is practising. A shared seed lets two groups replay the same sequence without passing the result in a URL.
Games, writing, and naming
Generate initials, choose a starting letter, or draw a constrained set of letters for an improvised word challenge. Without replacement guarantees no duplicate prompts; with replacement preserves independent draws.
Probability demonstrations
Compare uniform and weighted histories, then change replacement to show why independent trials differ from sampling a finite set. A seed makes the exact demonstration reproducible.
Boundaries
What the result does—and does not—mean
- A random letter sequence is not a random word and is not checked for pronounceability, meaning, offensiveness, or accidental resemblance to a name or mark.
- Custom pools are limited to distinct ASCII A–Z letters. Accented letters, digraphs, phonemes, emoji, digits, and other writing systems need different probability models.
- Web Crypto supplies good browser randomness for ordinary draws, but this interface and its copied results are not a security product or audited raffle system.
- Seeds can collide after the documented 32-bit hash. Reproducibility means identical settings replay the generator stream; it does not make a seed unique or secret.
- History exists only in JavaScript memory and is intentionally lost on reload. Copy a result if you need to keep it.
Frequently Asked Questions
- Can this generator repeat a letter?
- Yes. Choose with replacement when repeats are allowed. Choose without replacement to remove each selected letter from the pool, which limits the count to the number of distinct available letters.
- What does English-frequency weighting mean here?
- It weights A-Z by observed letter occurrences in 24,496 higher-ranked spellings from this site's compiled lexicon. It makes common spelling letters more likely, but it is not a claim about every English text, dialect, or writing genre.
- Will the same seed generate the same letters?
- Yes, when the seed and every setting are identical and this page still uses generator version RLG-1. The seed is hashed as UTF-8 with FNV-1a and drives Mulberry32. Seeded output is reproducible, not cryptographically secure.
- Are my custom letters or seed saved?
- No. Generation runs entirely in this browser tab. The tool sends no generation request, adds no state to the URL, and uses neither local storage nor session storage.
- Can a custom pool contain duplicate letters?
- You may type duplicates, but the tool removes them before drawing. This keeps uniform probability unambiguous; use English-frequency mode when you want unequal weights.