How the random letter generator picks a letter
Every draw starts from a pool: the letters of the alphabet you chose, cut to your range, filtered to vowels or consonants if you asked, minus the letters you left out. The pool is printed under the button, so you can check it before you draw. The generator then picks from that pool with the cryptographic random number generator built into your browser. Each letter in the pool has the same chance every time, whatever came before.
The range presets cover the usual requests. A to D suits multiple choice answers, A to G matches the seven musical note names, and A to J gives ten letters for a quick classroom game. For anything else, set the first and last letter yourself. Mixed case makes each letter capital or small at random. In English and Spanish the vowels are A, E, I, O and U, and Y counts as a consonant, the usual school rule.
Random letters with no repeats
Without the No repeats option, every draw is independent, so the same letter can come up twice in a row or twice in one list. That is what real randomness looks like: when you draw 10 letters from A to Z, the chance that at least one of them repeats is about 86 percent.
With No repeats ticked, a list behaves like tiles drawn from a bag and never put back. Each letter appears at most once, so a list holds at most as many letters as the pool: 26 for A to Z, 4 for A to D. Ask for more and you get the whole pool in a random order, with a note saying so. It is also a quick way to shuffle the alphabet: ask for 26 letters from A to Z with no repeats.
A random letter wheel for Scattergories and classroom games
Switch to Wheel to spin for one letter at a time. The wheel shows every letter of your pool and stops with the drawn letter under the pointer. The spin is only a display: the letter is chosen first, by the same generator as the list, so the animation cannot favor a letter. If your device is set to reduce motion, the wheel turns without animation and the letter appears at once.
For Scattergories and other category games, tick No repeats before the first round. Each drawn letter is greyed out and skipped by the next spins, and the history lists the letters already played. Many groups also leave out letters that make a round too hard, such as Q, X and Z. When every letter has been used, reset the wheel for a new game. The same setup works in class: a letter for a spelling round or the first letter of a story. At the game table, the DnD name generator can start a character's first name with the letter you just drew.
Random letters in other alphabets
The alphabet menu covers seven scripts. Ranges, exclusions and No repeats work in all of them. The vowel and consonant filter appears where that split is how the script is taught, and the case options only where the script has capital and small letters.
| Alphabet | Letters | Vowels and consonants | Case |
|---|---|---|---|
| English | 26 | 5 vowels, 21 consonants | Yes |
| Spanish | 27, with Ñ | 5 vowels, 22 consonants | Yes |
| Greek | 24 | 7 vowels, 17 consonants | Yes |
| Russian | 33 | 10 vowels, 21 consonants, 2 signs | Yes |
| Japanese hiragana | 46 basic characters | Syllables, not split | No |
| Korean Hangul | 24 basic letters | 10 vowels, 14 consonants | No |
| Arabic | 28 | Not split | No |
Random letters in Excel, Python and JavaScript
To draw letters inside a spreadsheet or a script, these short formulas do the same job.
Excel and Google Sheets
=CHAR(RANDBETWEEN(65,90))65 to 90 are the character codes of A to Z; use 97 to 122 for small letters. The formula recalculates whenever the sheet changes, so paste the results as values to keep them. For five letters with no repeats in Excel for Microsoft 365 or Excel 2024, shuffle the alphabet and keep the first five:
=TAKE(SORTBY(CHAR(64+SEQUENCE(26)),RANDARRAY(26)),5)Python
import random, string
random.choice(string.ascii_uppercase) # one letter
random.sample(string.ascii_uppercase, 5) # five letters, no repeatsFor anything that must stay unpredictable, such as codes, use secrets.choice instead of the random module.
JavaScript
const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const [n] = crypto.getRandomValues(new Uint32Array(1));
const letter = letters[n % letters.length];Need the same letter many times instead? The text repeater repeats a letter, a word or a line up to 10,000 times, and the other free tools work the same way: in your browser, with no account.