Letter Counter

Letters counted live — alphabetic characters only, with spaces, digits, and punctuation set aside into their own columns. The strict count for when "characters" is not what was asked.

0 Letters
0 Characters (with spaces)
0 Without spaces
0 Digits
Character breakdown by type
TypeCount
Letters0
Digits0
Spaces & line breaks0
Punctuation & symbols0
Total characters0

Letters are not characters — that's the whole point

Our character counter answers "will this fit the box?" — it counts every keystroke, spaces and punctuation included, because that is what forms and length limits count. This page answers a different question: how many letters are there? Paste "Hello, World!" and the difference is immediate — 13 characters with spaces, 12 without, but only 10 letters, because the comma and the exclamation point are characters that are not letters. The breakdown table accounts for the rest: 1 space, 0 digits, and 2 characters under punctuation & symbols, which together with the letters give the 13 back. When a teacher, a puzzle, a monogram order, or a cipher exercise says "letters," this stricter figure is usually the one meant — and quietly substituting a character count over-delivers by every space and period in the text.

Two of the rules below — the normalization of accents, and what happens to a combining mark that cannot compose — decide whether two visually identical texts agree, and they are the reason this page's character total can differ from the character counter's on the same paste. This page states those two rules in one section and spends the rest of its length on the breakdown itself: how each code point is sorted into a row, where the word counter and this page part ways on the same line, what the four figures mean, and what the counter does not do. The guide Letters and Unicode normalization takes the normalization step apart code point by code point.

How every character is sorted into one of four rows

The mechanism is a single pass. The engine first normalizes the text (a later section explains what that does), then walks it one Unicode code point at a time and asks three questions in a fixed order. Is this code point whitespace — a space, a tab, a line break? It goes to Spaces & line breaks and nothing else is asked. Otherwise, does Unicode classify it as a letter, in any script? It counts under Letters. Otherwise, is it a decimal digit? It counts under Digits. Anything that fails all three questions — punctuation, currency signs, arrows, emoji, and a combining mark that could not be merged into its base letter — is left over, and the Punctuation & symbols row is literally that remainder: the without-spaces figure minus letters minus digits. The rows sum to the total by construction, not by luck, because every code point is placed exactly once.

A line with a fraction shows the order of the questions doing work. "Lot 7: 3½ acres" is 15 characters: 8 letters — those of Lot and acres — 2 digits, 3 spaces, and 2 under punctuation & symbols. The two symbols are the colon and the one-half sign. That fraction looks like a number and reads as one, but it is not a decimal digit in Unicode's classification, so the digit question does not claim it and it falls through to the remainder. If the Digits row ever looks one short, a fraction sign, a superscript, or another number-like symbol that is not a plain decimal digit is the first thing to suspect.

Line breaks are whitespace, so they sit with the spaces. Type "Room 7" on one line and "Bed 2" on the next and the table reports 7 letters, 2 digits, and 3 under spaces & line breaks — the space inside each line plus the break between them — for a total of 12 characters and nothing under punctuation & symbols. A line break entered from the keyboard is one code point here; text pasted from Windows sources can carry a carriage return plus a newline at each break, both of which are whitespace and both of which land in the same row.

Accents and alphabets: what counts as a letter

A letter here is anything Unicode classifies as one, in any script — the counter is not limited to A–Z, and it does not care about case: an uppercase and a lowercase letter each count once, and there is no separate figure for either. "Café 123" has 4 letters — the é included — and 3 digits. A line mixing scripts sorts the same way: "Lisboa, Ελλάδα, 서울" reports 14 letters in total, which is 6 from the Latin-script word, 6 from the Greek word, and 2 from the Korean word, plus 2 symbols — the commas — and 2 spaces. The per-script figures are computed separately at build time and checked to add up to the whole, which is the property that matters: nothing is dropped or double-counted when scripts mix, and no language setting is involved, because the only question asked of each code point is its Unicode category.

Emoji are never letters. "Well played 👏🏻" reports 10 letters, 2 spaces, and 2 under punctuation & symbols, for 14 characters — the same figure the character counter gives for this text, because there is nothing here for normalization to change. The symbols row shows 2 for what looks like a single picture because the clapping hands carry a skin-tone modifier: a base emoji and a modifier riding on it, two code points, and the engine counts code points. The character counter page covers flags, which are also two code points, and joined family emoji, which run to more.

Where the word counter and this page part ways

The word counter reads the same text with a different question, and one short line shows exactly where the two answers diverge. To the word rule, an apostrophe or a hyphen inside a run of letters holds the run together, so "Hasn't the co-pilot landed?" is 4 words — the contraction and the hyphenated word each count once, as the methodology page states and the guide to what counts as a word explains. To this page those same marks are not letters. The line reports 21 letters, 3 spaces, 0 digits, and 3 under punctuation & symbols — the apostrophe, the hyphen, and the question mark — for 27 characters. Neither view is a miscount. The word rule asks whether a token continues through a character; the letter rule asks only which Unicode category the character has, and an apostrophe is punctuation whatever it is doing inside a word. So the letter count of a text is not the sum of its word lengths as a reader would spell them: each apostrophe or hyphen inside a word is one character the word counter keeps and this page files under symbols, and if the two figures need reconciling, the contractions and the hyphenated words are where to look.

Accents are normalized first: the rule, its one edge, and the other page

An accented letter can be encoded as a single composed code point or as a plain letter followed by a combining mark; the two render identically and both are legitimate Unicode. Before it counts anything, this page normalizes the text to Unicode NFC, the composed convention, so either encoding of the same word gives the same four figures. "piñata" with a precomposed ñ and "piñata" built from n plus U+0303, the combining tilde, both report 6 letters and 6 characters here, although the second is 7 code points as pasted. The build checks that the two spellings produce the same four figures, so the claim cannot go stale.

The one edge is a mark with no composed form. NFC merges a base and a mark only where Unicode defines a single code point for the pair, and it does not for every pair: the same tilde on a b — b followed by U+0303 — stays two code points, and the counter files the b under letters and the stranded mark under punctuation & symbols: 1 letter, 1 symbol, and 2 characters for one visible glyph. The letter figure is still right; the mark is reported as a symbol rather than hidden. The build verifies both behaviours, that n plus tilde composes and b plus tilde does not.

That normalization step is also the only reason this page's character total can differ from the character counter's, which counts code points exactly as pasted because a form or a length limit sees the text that way. On composed input the two totals are identical. On decomposed input they differ by exactly the number of marks that composed: "Zoë met René in a café." entered with its 3 accented letters as base plus combining mark is 26 characters there and 23 here, and the same sentence entered composed is 23 on both — the gap is checked at build time against the number of marks typed into the example. Neither figure is wrong; each page states its convention, and a disagreement between them on a paste you expected to be plain is itself information: the text carries decomposed accents. For the code-point-by-code-point view of what NFC does to each pair, which marks cannot compose, and how to read the difference between the two pages, the guide Letters and Unicode normalization is the place; this page only states the rule.

Reading the four figures above the table

The panel and the table are two views of one pass. Letters is the headline figure. Characters (with spaces) is the total after normalization — every code point, whitespace included. Without spaces is that total minus the spaces & line breaks row, and it is also, necessarily, letters plus digits plus punctuation & symbols; both identities hold on every input because the symbols row is defined as the remainder. Digits is the decimal-digit count on its own, so a number in the text never disappears into "not a letter" without a trace. On "Hello, World!", the arithmetic reads 10 + 0 + 2 = 12 without spaces, and 12 + 1 = 13 with. If you keep a running tally by hand, those two sums are the ones to check.

What this counter does not do

It counts letters; it does not say which letters. There is no per-letter frequency table, no split between uppercase and lowercase, and no vowel-consonant division — the Letters figure is one number, and a cipher or frequency exercise that needs the distribution needs a different tool. It does not count words, sentences, or paragraphs either; the word counter does, under rules stated on the methodology page. It accepts up to two million characters per analysis; past that the engine returns an error instead of a count, and on this page the figures stop updating — they hold the last count that succeeded until the text is shortened back under the cap or cleared. Empty text returns 0 in every row. Whitespace-only text is not the same case: it returns 0 letters, 0 digits, and 0 without spaces, but the whitespace itself is still counted, so spaces, a tab, and a line break on their own report 5 under spaces & line breaks and 5 characters in total — the with-spaces behaviour the methodology page states. Everything is computed over the full text on each keystroke, in your browser, with no request leaving the page — the network tab stays empty while you type. For the reasoning behind the letter rule, the normalization step, and the combining-mark edge, read Letters and Unicode normalization; the rest of the site's counting rules are collected under Guides.

Frequently asked questions

What is the difference between letters and characters?

Characters count everything you type — letters, digits, spaces, punctuation, emoji. Letters count only the alphabetic ones: "Hello, World!" is 13 characters but just 10 letters, because the comma, the space, and the exclamation point are characters without being letters. Assignments and puzzles that say "letters" usually mean this stricter count.

Do accented and non-English letters count?

Yes. The counter uses the Unicode definition of a letter, so é, ñ, ß, Greek, Cyrillic, Arabic, and CJK characters all count as letters. It is not limited to A–Z.

Do numbers count as letters?

No — digits are not letters, so "Café 123" has 4 letters and 3 digits. The digits get their own figure above so nothing silently disappears from the breakdown. Only decimal digits count there: the one-half sign in "Lot 7: 3½ acres" is classified with the symbols, so that line reports 2 digits and 2 symbols.

Why might two identical-looking texts give different counts?

Accented letters can arrive two ways: as one composed character (ñ, é) or as a plain letter plus a separate combining accent mark. This counter normalizes to the composed form (Unicode NFC) before counting, so both spellings of "piñata" report 6 letters and 6 characters — but a mark with no composed form stays a non-letter symbol, which is stated plainly rather than hidden.

Why is the character total here lower than on the character counter?

Because this page normalizes accents before counting and the character counter does not. On ordinary composed text the two totals match exactly. On text whose accents arrived as base letter plus combining mark, the character counter reports every code point as pasted while this page merges each pair first: "Zoë met René in a café." entered that way is 26 characters there and 23 here, a gap of 3 — one per merged accent.

Do line breaks count as spaces?

Yes — every whitespace character, including a line break, lands in the "Spaces & line breaks" row. "Room 7" on one line above "Bed 2" reports 3 in that row (one space inside each line plus the break between them), 7 letters, 2 digits, and 12 characters in total.

Where do emoji and other symbols land in the breakdown?

In the "Punctuation & symbols" row, never under letters. "Well played 👏🏻" reports 10 letters and 2 under symbols — the clapping hands plus their skin-tone modifier are two code points — for 14 characters in total, the same total the character counter gives for this text.

Does the counter tell me how many of each letter there are?

No. It reports one Letters figure, with no per-letter frequency table and no split between uppercase and lowercase — an uppercase and a lowercase letter each count once. A frequency or cipher exercise that needs the distribution needs a different tool.

Is there a maximum length?

The engine accepts up to two million characters per analysis. Past that it returns an error instead of a count, and on this page the figures stop updating — they hold the last count that succeeded until the text is shortened back under the cap or cleared. Empty text returns 0 in every row. Whitespace-only text returns 0 letters, 0 digits, and 0 characters without spaces, but the whitespace itself is still counted: spaces, a tab, and a line break on their own report 5 under spaces & line breaks and 5 characters in total. Counting runs over the full text on each keystroke, entirely in your browser.

Counting happens locally in your browser — nothing you type is transmitted or stored. Need the everyday counts instead? The word counter and character counter cover those; the exact letter rules are on the methodology page.