Random Letter Generator
This random letter generator draws one uppercase English letter, A to Z, each time you click Generate. All 26 letters carry the same chance, the draw runs from your browser's random source with no server call, and repeats across clicks are normal.
One letter at a time
This page draws one letter at a time. The generator form for this tool declares no input fields, so there is nothing to fill in before you click Generate. One click produces one uppercase letter and shows it in the result line under the button, which then reads Generate again. A second click runs a fresh draw and replaces that letter. No queue builds up and no list appears underneath, because the multi-value list belongs to the number tool. If you need five letters, click five times and note each result as it appears.
Equal chances
The mapping accepts byte values 0–233 and rejects 234–255. Each letter has nine accepted byte values, giving the same chance to A through Z. The evenness comes from discarding leftovers instead of squeezing them in. The 256 values a byte can hold are not divisible by 26, and 26 times 9 is 234, so 22 values are thrown away and drawn again. Once a byte is accepted, any given letter is 9 of those 234 outcomes, which reduces to exactly 1 in 26.
From one byte to a letter
The code asks the browser for a single random byte through crypto.getRandomValues. It turns that byte into an index between 0 and 25, adds 65, and takes the character with that code, so index 0 becomes A and index 25 becomes Z. The conversion is easy to follow with real values. A byte of 104 divides by 26 with remainder 0, so it prints A. A byte of 208 also leaves remainder 0, another A. A byte of 233 leaves remainder 25, so it prints Z. Every letter sits on exactly nine of the accepted byte values.
Why a byte gets redrawn
When a byte lands in 234–255 the code does not fold it down into the alphabet. Simple remainders over all 256 values would give 10 byte values to each of the first 22 letters, A to V, and only 9 to W, X, Y and Z, because 256 is 26 times 9 plus 22. That would tilt the odds, so the extra byte is discarded and pulled again instead. Each attempt has 22 losing values out of 256, about 8.6 per cent, so most clicks settle on the first or second byte. The loop allows up to 128 attempts before it gives up.
What this page will not do
The alphabet is fixed to the 26 uppercase English letters. Lowercase is not offered, because the character code starts at 65 and no switch reaches the lowercase block, and there is no room for accented letters, another writing system, or digits. The letter draw accepts no input at all, so there is no length box, quantity box, weight field, or no-repeats checkbox here, and no range error you could trigger on it. Tasks that need a whole string of letters, or several different letters in one click, are outside this tool.
Repeats are normal
Every click is an independent draw. Nothing in the code stores the letters it has already produced, and nothing removes a letter after it appears, so the same result can come back on consecutive clicks and a short streak says nothing about the generator. That matters when you are collecting distinct letters: once your set holds 25 different letters, only 1 of the next 26 clicks adds the missing one. Remove duplicates as you go, or use the number generator, which has a no-repeats switch for integer ranges.
When one letter is the right answer
A single letter suits decisions that need a label rather than a value: which side starts, which group is row A, which of several draft variants to open first, or which column of a grid to pick. It also fits short classroom drills where a new letter each round is the whole activity. It is the wrong tool for anything secret. Twenty-six equally likely outcomes carry under five bits of entropy, and someone guessing blind is right 1 time in 26. Treat the result as a tie-breaker, not as a credential.
When the result line reports a failure
The failure text reads We couldn't generate a letter. Please try again. and comes from two places. The first is a browser or embedded web view where crypto.getRandomValues is not exposed, so the random source call throws before any letter exists. The second is the 128 attempt cap described above. Both paths put the message in the result line instead of inventing a character, and there is no clock or counter used as a substitute source. Reloading the page, or opening it in a browser with normal crypto support, is the practical fix.
Tools next door
The related links under the content point at the other draw tools on this site. The number generator takes a range or a digit count from 1 to 16, a quantity from 1 to 100, and an optional no-repeats switch, so it returns several values in one click. The state generator picks one of the 50 U.S. states and shows its name with the postal abbreviation. The wheel lets you type up to 100 of your own options, each with an optional integer weight, and lands on one of them.
Frequently asked questions
Is every letter equally likely?
Yes. The code reads a random byte, keeps only the values 0 through 233, and discards the other 22 for a redraw. That leaves 234 accepted values split evenly over 26 letters, nine per letter, so any one letter is 9 of 234, which reduces to exactly 1 in 26. No letter gains from rounding, because the leftover bytes are thrown away instead of folded into the alphabet.
Can I get lowercase letters from this page?
No. The character code is built from 65, the start of the uppercase block, so every result is a capital letter from A to Z. The form offers no case setting and no other alphabet. If you need a small letter, change the case in whatever you paste the result into, or use the number generator when the real question is about formatting rather than picking.
Why did I get the same letter twice?
Because each click is a fresh, independent draw. The generator keeps no memory of earlier results and does not remove a letter after using it, so repeats are part of the design rather than a fault. It also means a full set takes more clicks than its size: with 25 letters already collected, the next click has only 1 chance in 26 of producing the letter you still need.
How many letters can I generate at once?
Exactly one per click. The form on this page declares no fields at all, so there is no quantity or length setting to raise, and no list of results appears underneath. Click again for another letter and write each one down as it shows up. If your task genuinely needs several values from a single click, the number generator accepts a quantity from 1 to 100 and lists them.
Is the random letter generator result predictable?
No. The bytes come from the browser's crypto.getRandomValues call, and the code holds no seed, no fixed sequence, and no record of what it handed out, so a past result cannot be replayed and the next one cannot be worked out in advance. The draw needs no server round trip: the letter appears only in the text of the page you are looking at.
Can I use a generated letter as a password or secret code?
No. One letter is a single choice out of 26 equally likely outcomes, which is under five bits of entropy, and a person guessing at random matches it 1 time in 26. That is acceptable for naming a team or breaking a tie and unacceptable for anything you need to keep private. Use this tool for choosing, and a password manager for real secrets.