Character Frequency Counter
Count how often each character appears in any text. See a full ranked frequency table with counts and percentages, filter spaces, digits, and punctuation, toggle case sensitivity, and choose how to sort the results — all updating live as you type. Free, private, and runs entirely in your browser.
Your Text & Options
The frequency table updates liveCharacter Frequency Results
Live analysisStart typing or paste text on the left. The ranked character frequency table will appear here — updated live as you type.
What does this Character Frequency Counter do?
A character frequency counter analyses a piece of text and tells you how often each individual character appears. Instead of just giving you a single total, it builds a ranked table: the most-used characters at the top, each with its exact count and what percentage of the total text it represents. It's the fastest way to see the composition of a document at the character level — useful for cryptography, language studies, font testing, and data compression experiments.
This tool does the counting entirely in your browser. The text is split into individual Unicode code points, so accented letters (é, ñ, ü), non-Latin scripts (Greek, Cyrillic, Arabic, Chinese, Japanese), and emoji are all counted as distinct characters rather than being mangled into multi-byte fragments. You can then shape the results with a few controls: ignore case so that A and a count together, include or exclude spaces and whitespace, include or exclude digits, include or exclude punctuation and symbols, and choose how the results are sorted and how many to show.
Everything updates live as you type, with no button to press and no server round-trip. The text never leaves your device.
How to use the Character Frequency Counter
- Paste or type your text into the textarea on the left. You can paste from any source — a document, a webpage, an email, or a code file.
- Watch the frequency table populate instantly in the panel on the right. There's no "analyse" button; every option recalculates the table as you change it.
- Choose what to count. By default, only letters are counted (spaces, digits, and punctuation are excluded). Turn on the toggles if you want to include whitespace, digits, or symbols in the analysis.
- Toggle case sensitivity. With "Ignore case" on,
Aandaare merged into one row. Turn it off if you want to see uppercase and lowercase letters as separate entries — useful when studying capitalisation patterns. - Choose a sort order. Frequency sort shows the most common characters first; alphabetical sort is useful when you're looking for a specific letter; character code sort orders by Unicode value, which groups related characters together.
- Export the results with "Copy as CSV" (pastes cleanly into Excel, Google Sheets, or Numbers) or "Copy Summary" for a plain-text overview.
Why use this Character Frequency Counter?
Live, instant updates
Every option change recalculates the table immediately. No button, no page reload — the results just update as you type.
Fine-grained filtering
Choose exactly what counts: letters only, letters + digits, letters + spaces, or everything including punctuation and emoji.
Unicode-aware
Accented letters, non-Latin scripts, and emoji are counted as distinct characters. Each unique code point gets its own row.
Percentage + raw counts
Each row shows both the raw count and the percentage of the total, so you can see relative importance at a glance.
CSV export
Copy the full table as tab-separated values and paste it straight into any spreadsheet app for further analysis.
100% private
Everything runs in your browser. Your text never leaves your device — no server, no logs, no tracking.
Who uses a character frequency counter?
Cryptanalysts and puzzle solvers
- Break substitution ciphers using frequency analysis
- Study the letter distribution of an encoded message
- Compare the frequency profile of a ciphertext against expected English
- Solve word puzzles, anagrams, and cryptograms
Linguists and language researchers
- Study the letter distribution of a language or dialect
- Compare the frequency profiles of texts by different authors
- Analyse how often specific characters appear in a corpus
- Study the difficulty of a text by looking at rare-character frequency
Designers and typographers
- Check which letters a font or typeface will be tested against
- Identify characters that need extra design attention (rare letters like Q, X, Z)
- Compare the character distribution of two languages before localising a design
- Estimate how much space each character will need in a layout
Data analysts and developers
- Study the character distribution of a log file or dataset
- Build Huffman trees and other compression experiments
- Spot unusual or unexpected characters (encoding issues, hidden Unicode)
- Verify that a text file uses the expected character set
How to interpret the results
The frequency table is simple on the surface — character, count, percentage — but the patterns it reveals are what makes it useful. Here's what to look for.
1. The expected English profile
In typical English text, the letters e, t, a, o, i, and n are the most frequent. If your text follows this pattern, it's "normal" English. If the distribution is very different, something unusual is happening — it may be encoded, in another language, or contain a lot of proper nouns or technical terms.
2. Space dominance when whitespace is included
If you turn on "Include spaces & whitespace", the space character will almost always be at the top with 15–20% of the total. That's normal for English. It's exactly why the filter starts off — for letter-focused analysis, spaces are noise.
3. A flat distribution
If every character appears roughly the same number of times, the text may be encrypted, generated randomly, or in a language with a very different letter distribution. Random data and modern ciphers produce a nearly flat character-frequency profile.
4. Unexpected characters
Characters you didn't expect — hidden Unicode characters, invisible spaces, or non-ASCII letters — often show up here. This is useful for spotting encoding issues before they cause problems in your content or code.
5. Case sensitivity
With "Ignore case" off, you'll see whether a text favours uppercase or lowercase. A very high ratio of uppercase letters usually means headings, acronyms, or shouting. A very high ratio of lowercase means flowing prose.
| What you see | What it likely means | What to do |
|---|---|---|
| e, t, a, o at the top | Normal English text | Nothing — this is expected |
| Space at 15%+ | Whitespace is included in the count | Turn off "Include spaces" for letter analysis |
| Very flat distribution | Encrypted, random, or non-English text | Check the source — this is unusual for natural English |
| Unexpected Unicode | Hidden characters, encoding issues, or pasted formatting | Clean the text before publishing or processing |
| High uppercase ratio | Headings, acronyms, or shouting | Verify this is intentional |
| Digits near the top | Data-heavy text (numbers, code, tables) | Turn off "Include digits" if you only want letters |
What is frequency analysis?
Frequency analysis is the study of how often each character (or symbol, or word) appears in a piece of text. It has been used for centuries — the earliest known description of the technique dates to the 9th century, when the Arab scholar Al-Kindi described how to use letter frequencies to break simple substitution ciphers.
The core idea is simple: every natural language has a distinctive letter distribution. In English, e is by far the most common letter, followed by t, a, o, i, and n. If you encrypt a message with a simple substitution cipher, each plaintext letter gets replaced by another letter — but the frequencies are preserved. So the most frequent character in the ciphertext is very likely the encrypted version of e.
This tool gives you the raw data you need for that analysis: a ranked frequency table with counts and percentages. Combined with a bit of pattern recognition and a dictionary, it's enough to crack many classical ciphers by hand.
Typical English letter frequencies
Here's a rough guide to how often each letter appears in standard English text. Your results will differ depending on the source, but the general shape is remarkably consistent.
| Letter | Typical frequency | Letter | Typical frequency |
|---|---|---|---|
| E | ~12.7% | N | ~6.7% |
| T | ~9.1% | S | ~6.3% |
| A | ~8.2% | H | ~6.1% |
| O | ~7.5% | R | ~6.0% |
| I | ~7.0% | D | ~4.3% |
| L | ~4.0% | C | ~2.8% |
| U | ~2.8% | M | ~2.4% |
| W | ~2.4% | F | ~2.2% |
| G | ~2.0% | Y | ~2.0% |
| P | ~1.9% | B | ~1.5% |
| V | ~1.0% | K | ~0.8% |
| J | ~0.15% | X | ~0.15% |
| Q | ~0.10% | Z | ~0.07% |
If you turn off "Ignore case" and run a text through this tool, you can compare your actual counts against these expected values. Big differences are often the first clue that something interesting is going on.