Last updated 3 September 2026
Why letter frequency is worth looking at
Ordinary English prose has a strikingly stable letter distribution: E leads at around twelve per cent, followed by T, A, O, I and N, and the pattern holds across almost any large sample of natural text. That stability is what makes frequency analysis the first step in breaking simple substitution ciphers, and it is also a quick sanity check on whether a text is what it claims to be — a passage with a flat distribution or a wildly over-represented letter is usually generated, encoded, or written under a constraint. Word mode answers a different question, closer to what a keyword-density check does: which terms actually dominate a piece of writing, as opposed to which ones you intended to emphasise.
What a frequency count is useful for
The obvious application is puzzles. A simple substitution cipher preserves the frequency pattern of the original language, so counting characters in the ciphertext and comparing against the known distribution of English is the standard first step in breaking one. In English, e is by far the most common letter at around 12% of text, followed roughly by t, a, o, i and n. If a ciphertext's most frequent symbol appears about 12% of the time, it is almost certainly standing in for e.
There are practical uses too. Comparing character counts between two supposedly identical files reveals invisible differences — a non-breaking space where a normal one should be, a smart quote that broke a script, a zero-width character pasted in from a web page. These are hard to see and easy to find by count.
Reading the results sensibly
Frequency analysis needs volume. A single sentence tells you almost nothing, because the distribution of any short sample is dominated by the specific words chosen rather than by the language. A few hundred words is where the pattern starts to stabilise; a few thousand is where it becomes reliable.
Subject matter shifts the distribution as well. Technical writing raises the frequency of letters common in its vocabulary, and any text with names, code or numbers in it will diverge from a general English baseline. And the language itself matters enormously — the most common letter in German is e as well, but Spanish and Italian have much higher vowel frequencies overall, so comparing any text against an English table only makes sense if the text is English.
Common questions
What is the difference between the three counting modes?
Letters-only counts A to Z and ignores everything else, which is the mode used for cipher and language analysis. Every character counts spaces, digits and punctuation too. Word mode splits on whitespace and punctuation and counts whole words instead.
What is the usual English letter order?
Roughly E, T, A, O, I, N, S, H, R — with E at about twelve per cent of all letters. Comparing a text against that order is the classic first move when analysing a substitution cipher.
Can I get the results out as a file?
The copy button puts the full ranked table on your clipboard as comma-separated values, which pastes straight into a spreadsheet as two columns.
Is my text uploaded anywhere?
No. The whole analysis runs in your browser and nothing is transmitted.
What is the most common letter in English?
The letter e, at roughly 12% of typical English text, followed approximately by t, a, o, i and n. This distribution is stable enough across large samples that it is the standard starting point for breaking simple substitution ciphers.
How much text do I need for the counts to be meaningful?
A few hundred words at minimum. Short samples are dominated by the particular words chosen rather than by the language itself, so a single sentence can look nothing like the general distribution. A few thousand words gives a reliable picture.
Can this help me find invisible characters?
Yes, and it is one of the more practical uses. Non-breaking spaces, smart quotes and zero-width characters are almost impossible to spot by eye but show up immediately in a frequency count, which makes it useful for tracking down why a file or script is behaving oddly.