count.

Paste or type below to count words, characters, sentences and reading time as you go. Everything runs in your browser — your text is never uploaded.

Words
0
0 sec read
Characters
0
No spaces
0
Sentences
0
Paragraphs
0
Lines
0
Speaking
0s
Nothing leaves this page.
Change case
Tidy lines
Line breaks
Find & replace
Top words

Start typing to see which words you use most.

Readability

Write a sentence or two to gauge how easy your text is to read.

What this counts

Type or paste anything — an essay, a tweet, a cover letter, a meta description — and the panel above updates on every keystroke. Words is the headline figure most people want; the smaller tiles break the same text down six more ways so you can match whatever limit you are writing to.

MeasureHow it’s counted
WordsRuns of non-space characters, split on any whitespace. “don’t” and “2026” each count as one.
CharactersEvery character, spaces and line breaks included — the figure Twitter and SMS use.
No spacesCharacters with all spaces, tabs and line breaks removed.
SentencesChunks ending in . ! or ? that contain at least one letter or number.
ParagraphsBlocks of text separated by one or more blank lines.
LinesTotal lines, including soft-wrapped blanks you pressed Enter on.
Reading / speakingWords ÷ 238 wpm for silent reading, ÷ 130 wpm for speaking aloud.

Common length limits

A counter is most useful when you are writing to a limit. A few of the ones people hit most often:

WhereLimitCounts
SEO title tag~60 charscharacters (with spaces)
Meta description~155 charscharacters (with spaces)
A tweet / X post280 charscharacters (with spaces)
One SMS segment160 charscharacters (with spaces)
LinkedIn headline220 charscharacters (with spaces)
UCAS personal statement4,000 charscharacters (with spaces)
Common App essay650 wordswords

Limits change, so always double-check against the form you are filling in — but the counts above update live as you trim. See the full reference for SMS unicode rules, social-media caps and SEO snippet sizes.

Reading time, explained

Adults read silently at roughly 238 words per minute on average, and read out loud — or present — at about 130. So a 500-word blog post is a touch over two minutes to read and nearly four to narrate. Those are the speeds this tool uses; your own pace will vary with how dense the material is. Read more about where the words-per-minute numbers come from, and how speaking time differs.

Change the case

The buttons under the box rewrite your text in place — handy for fixing a headline pasted in the wrong case, or cleaning up text copied from a PDF. Nothing is sent anywhere, and Undo puts the previous version straight back if a transform isn’t what you wanted.

ButtonWhat it doesExample
UPPERCASEEvery letter becomes a capital.HELLO THERE
lowercaseEvery letter becomes small.hello there
Title CaseCapitalises the first letter of each word.Hello There
Sentence caseCapitalises the first letter of each sentence; the rest go lower.Hello there. Nice day.
Clean spacesCollapses repeated spaces, trims each line, and removes blank-line pile-ups.tidy, single-spaced text

Title Case here capitalises every word — it doesn’t try to keep small words like “the” or “of” lower, because the “right” answer depends on the style guide you follow. Sentence case lowercases everything first, so a stray capitalised “I” or a brand name may need a quick manual fix afterwards.

Sort, dedupe and reverse lines

The Tidy lines row treats your text as a list — one item per line — which is exactly what you want for a column pasted from a spreadsheet, a bullet list, a set of emails or URLs, or any other one-per-row data. As with the case buttons, every change happens in your browser and Undo reverses the last one.

ButtonWhat it does
Sort A→ZOrders the lines alphabetically, ignoring case, with numbers sorted in natural order (so 2 comes before 10).
Sort Z→AThe same ordering, reversed — handy for newest-first lists or descending scores.
Remove duplicatesKeeps the first time each line appears and drops every later repeat, leaving the order otherwise untouched.
Reverse linesFlips the list top to bottom without re-sorting it — the last line becomes the first.

Duplicate removal is exact: it matches whole lines character for character, so “Apple” and “apple” are treated as different. If you want them merged, switch the text to lowercase first, then remove duplicates. Leading and trailing spaces count too — run Clean spaces beforehand if a list looks like it has hidden duplicates.

Fix messy line breaks

Text copied out of a PDF, an email, or a narrow column often arrives broken across far too many lines, or padded with blank rows and ragged indentation. The Line breaks row sorts that out in one tap, and Undo reverses it if the result isn’t what you wanted.

ButtonWhat it does
Join into one lineRemoves every line break and stitches the text into a single flowing paragraph, putting one space where each break used to be.
Remove blank linesDeletes empty and whitespace-only rows so the remaining lines sit together, with the rest of the order untouched.
Trim each lineStrips the spaces and tabs from the start and end of every line, while leaving the breaks between them in place.

“Join into one line” is the quick fix for a paragraph that a PDF split into a dozen short lines, while “Remove blank lines” tightens up a list with gaps between the items. To rejoin and tidy spacing in one go, use Clean spaces instead, which keeps your paragraph breaks but collapses everything else.

Find and replace

The Find & replace row swaps one piece of text for another throughout the whole box at once. Type what you are looking for, type what should take its place, and press Replace all — the note at the end tells you how many matches were changed, and Undo puts everything back if it wasn’t what you meant.

The search is a plain, literal match, not a pattern, so symbols like ., * or $ are found exactly as typed. By default it ignores case, so cat also catches “Cat” and “CAT”; tick Match case when you only want an exact-case hit. Leave the Replace with box empty to simply delete every occurrence of the find text. Everything runs in your browser — nothing is uploaded.

Word frequency

The Top words panel shows the ten words you use most, with a small bar for each and how many times it appears — along with its share of the text as a percentage. It updates live as you type or paste, so you can see at a glance whether you are leaning on the same word too often.

This is sometimes called keyword density, and it is handy when you are tidying an essay, an article or a page of web copy: spotting a word you have repeated five times in a paragraph, or checking that the term you actually want to rank for shows up enough. By default the panel hides very common words like “the”, “and” and “of” so the meaningful words rise to the top; untick Ignore common words to count every word, stop-words included. Words are matched case-insensitively, so “Cat” and “cat” count together. As with everything here, the counting happens in your browser.

Readability, in plain English

The Readability panel scores how hard your writing is to read. Reading ease is the Flesch Reading Ease score from 0 to 100 — higher is easier. Roughly: 90+ is very easy, 60–70 is plain English that most adults read comfortably, and below 30 is dense, academic prose. Grade level is the Flesch–Kincaid grade — the US school grade you would need to follow the text on a first read, so a 7 means an average seventh-grader would understand it.

Both come from two things the panel also shows: your average words per sentence and average syllables per word. Long sentences and long words push the score down, so the quickest way to make writing easier is to split a sprawling sentence in two or swap a four-syllable word for a shorter one. Syllables are estimated with the usual vowel-group heuristic, so treat the numbers as a good guide rather than an exact measurement — but for tightening a blog post, an email or a piece of marketing copy toward plain English, it points you the right way. As with everything here, it is worked out in your browser. A short guide explains what numbers to aim for in different kinds of writing, and where automated readability scoring stops being useful.

Private by design

There is no server doing the counting. The page loads once, and from then on every word and character is tallied by JavaScript running on your own device. Nothing you type is sent anywhere, saved, or logged — you can switch your connection off and it keeps working. That makes it safe for drafts, confidential documents and anything you would rather not paste into a random website.

Questions

Does it count words while I type?
Yes — the totals recalculate on every keystroke and every paste, with no button to press.
How are hyphenated words counted?
As one word. “e-mail” or “well-known” sits between two spaces, so it counts once — the same way most word processors do.
Which character count do social networks use?
Characters with spaces. The “Characters” tile above is the number to watch for tweets, SMS and most form limits.
Is there a word limit?
No practical one. It comfortably handles whole chapters; very large pastes (hundreds of pages) may slow down a little because everything is counted instantly in your browser.
Can it convert text to uppercase or lowercase?
Yes — the buttons under the box switch your text to UPPERCASE, lowercase, Title Case or Sentence case, and can tidy up stray spaces. Undo restores the previous version.
Does changing the case upload my text?
No. The transforms run in your browser, exactly like the counting. Your text never leaves the page.
Can it sort a list alphabetically?
Yes — “Sort A→Z” orders your lines alphabetically (case-insensitive, with numbers in natural order), and “Sort Z→A” reverses that. Each line is treated as one list item.
How do I remove duplicate lines?
Paste your list and press “Remove duplicates”. It keeps the first occurrence of each line and removes the rest, leaving the remaining order unchanged. Matching is exact, so tidy up spacing and case first if you want near-duplicates merged.
How do I remove line breaks from text?
Paste the text and press “Join into one line” — it strips every line break and joins the text into one paragraph, with a single space where each break was. “Remove blank lines” deletes just the empty rows, and “Trim each line” clears stray spaces from the ends of every line. All three run in your browser, and Undo reverses them.
Can it find and replace text?
Yes — type what to find and what to replace it with, then press “Replace all”. It changes every occurrence at once, tells you how many it swapped, and Undo reverses it. Leave the replacement blank to delete the matches instead. It searches for the text literally, ignoring case unless you tick Match case.
Which words do I use most?
The “Top words” panel lists your ten most-used words with a count and a percentage, updating as you type. By default it skips common filler words like “the” and “and” so the meaningful ones stand out; untick “Ignore common words” to include every word. It is a quick way to check keyword density or catch a word you have over-used.
How readable is my text?
The “Readability” panel gives a Flesch Reading Ease score (0–100, higher is easier) and a Flesch–Kincaid US grade level, worked out from your average sentence length and syllables per word. Aim for 60–70 and a grade of 7–8 for plain, widely-readable English; shorter sentences and shorter words raise the score.

More small tools

count is part of hako.to — a little box of single-purpose web tools. You might also like the week & date calculators for ISO weeks and business days.