Word Counter
Count words, characters and sentences as you type
Word Counter tool
Words
0
Characters
0
Without spaces
0
Unique words
0
Sentences
0
Paragraphs
0
Lines
0
Pages
0
at 250 words/page
Limits and targets
Pick a platform or type a number to track a limit as you write.
Set a target to see how far through a piece you are.
Time to read and to say
Reading time
0 sec
at 200 wpm
Speaking time
0 sec
at 130 wpm
200 wpm is a common average for adult silent reading and 130 wpm for measured speech, but both vary widely — dense material is slower. 250 words a page matches a double-spaced manuscript page; single-spaced is nearer 500.
Character breakdown
Most character limits count UTF-16 units, which is what a JavaScript string length reports. An emoji built from joined code points is one visible character but several units, which is why a short-looking post can exceed a limit — the three figures disagreeing is the warning sign.
Structure and averages
What gets counted
These change the prose figures. Whenever any of them is on, the note above the counts states how many characters of what you typed are being counted, and the exports carry both numbers.
Word Counter: key facts
- What it does
- Count words, characters and sentences as you type
- Category
- Text Tools
- Cost
- Free, with no account, sign-up, or install.
- Your data
- Runs entirely in your browser — the files and text you enter are never uploaded to a server.
- Last reviewed
- . Report an incorrect result.
About the Word Counter
Almost every piece of writing is written against a number. An essay has a minimum, a meta description has a maximum, a conference abstract has both, and a post has a limit the platform enforces silently by truncating you. The Word Counter reports words, characters, sentences, paragraphs and lines as you type, and adds the figures that usually send you looking for a second tool: visible characters against UTF-16 units and UTF-8 bytes, unique words, average sentence length, the longest sentence quoted back at you, and roughly how many pages the piece runs to.
Set a target and the tool becomes a gauge rather than a report. Choose a platform — an X post, a Bluesky post, an Instagram caption, an SEO title, a meta description, a single SMS — and a meter fills as you write, turning amber near the limit and telling you how far over you are once you pass it. Each preset is measured in the unit that platform genuinely counts, which is not always the obvious one: Bluesky counts visible characters, so a post full of emoji fits where a naive count says it should not. Word targets work the same way, with the common essay and article lengths one click away.
Two things make the counting itself more trustworthy than the usual whitespace split. Word tokens have their wrapping punctuation trimmed and are discarded if nothing but punctuation is left, so a spaced dash or a stray bracket is not counted as a word. Sentence detection knows that a full stop inside "Dr.", "e.g.", "U.S.A.", "3.5" or "example.com" is not the end of a sentence — the naive approach reads "Dr. Smith went to the U.S.A. yesterday." as five sentences instead of one.
You can also decide what should not count. Exclude URLs and email addresses, exclude numbers, or exclude Markdown syntax and fenced code blocks while keeping the prose inside them — useful when a word limit is meant to cover argument rather than apparatus. Whenever an exclusion is active the tool states how many of the characters you typed are actually being counted, and the exports carry both numbers. Select any passage and the footer reports that selection's own count. Nothing is uploaded: the text is analysed in your browser, and it stays there.
How to use it
- Type, paste, or drop a .txt or .md file into the editor — every figure updates as you write.
- Pick a platform limit or type your own, and set a word target, to see how much room you have left.
- Select any passage with the mouse or keyboard to get that selection's own word and character count in the footer.
- Open the character breakdown when a limit is behaving strangely, or the structure panel for sentence lengths and averages.
- Copy the summary to the clipboard, or export every figure as CSV, JSON, or a Markdown table.
How each figure is arrived at
Words are found by splitting on whitespace and on em and en dashes — the two dashes that join clauses rather than words — then trimming punctuation from each end and discarding anything with no letter or digit left in it. That is why "well-known" and "don't" each count as one word, why "word—word" counts as two, and why a dash standing alone between two spaces counts as nothing at all.
A full stop, question mark or exclamation mark only ends a sentence when whitespace or the end of the text follows it, which by itself rules out decimals and stops inside web addresses. Known abbreviations and initialisms hold the sentence open as well. The bias is deliberately toward joining rather than splitting: "He moved to the U.S.A. Then he left." reads as one sentence, because nothing short of a grammar parser can tell it apart from a continuation. Paragraphs are the blocks between blank lines, so a run of consecutive lines is one paragraph, not several.
Reading time defaults to 200 words per minute and speaking time to 130, both shown to the nearest second and both adjustable — a slide deck read aloud and a dense technical paper are nowhere near the same pace. Pages default to 250 words, which is about a double-spaced manuscript page; single-spaced is nearer 500, so that figure is adjustable too.
- A 1,000-word article reads in about five minutes at the default rate, and takes nearly eight to say aloud.
- "It cost 3.5 million dollars." is one sentence, not two.
- Three consecutive lines with no blank line between them are one paragraph.
Why use this version
- Sentence counting understands abbreviations, initialisms, decimals and web addresses, so "Dr. Smith went to the U.S.A. yesterday." counts as one sentence rather than the five a naive split reports.
- Four separate character figures — UTF-16 units, visible characters, code points and UTF-8 bytes — which is the only way to see why an emoji-heavy post breaks a limit that a single count says it should clear.
- Platform limit presets are each measured in the figure that platform genuinely counts, with notes on the arithmetic that catches people out, such as a link costing a flat 23 characters on X.
- Select any passage and its own word and character count appears immediately, without cutting it out into a second window.
- URLs, numbers and Markdown syntax can be left out of the prose figures, and the tool then states how many of the characters you typed it is counting so the two numbers never quietly disagree.
- Every export records the reading speed and exclusions that produced it, so a figure can be reproduced weeks later. All analysis is local — your draft is never uploaded.
Which limit you are actually writing to
Character limits are less straightforward than they look, which is why the tool reports four different character figures. Most platforms count UTF-16 code units, the number a JavaScript string reports as its length. A reader counts what they can see. An emoji assembled from several joined code points is one visible character but several code units, so a caption that looks comfortably short can be rejected — and the giveaway is precisely those figures disagreeing. UTF-8 bytes matter again for anything with a storage or transmission budget, such as a database column or a QR code payload.
Platform arithmetic adds its own quirks, so the presets carry notes where it matters. A link on X consumes a flat 23 characters however long the URL is. A single non-GSM character anywhere in an SMS switches the entire message to 70-character segments rather than 160. Google truncates a title tag by pixel width rather than character count, which makes 60 a guide rather than a rule. Academic limits are their own world: references are usually excluded, the abstract often is, and institutions disagree about footnotes and tables — which is what the URL, number and Markdown exclusions are for.
Beyond hitting a number, two of these figures are worth watching while you write. Average words per sentence is a fast readability proxy — much above 20 and prose gets heavy — and the sentence spread shows whether you have any variation or just a wall of long ones. Lexical diversity, unique words as a share of total words, drops when a draft leans on the same handful of terms. For a formal grade rather than a proxy, the Readability Checker is next door.
Frequently Asked Questions
What does this tool count?
Words, characters, sentences, paragraphs, lines and unique words, plus a character breakdown into letters, digits, punctuation and whitespace. It also reports visible characters, Unicode code points and UTF-8 bytes; average word length, words per sentence and sentences per paragraph; lexical diversity; the longest word and the longest sentence; how sentence lengths are spread between short, medium and long; reading and speaking time to the second; a page estimate; and a most-used-words list with each word's density.
Why does a short post still exceed the character limit?
Almost certainly emoji or accented characters. Most platforms count UTF-16 code units rather than what a reader sees, and a single emoji is usually two units — a family emoji assembled from joined code points can be eight or more while looking like one character. Open the character breakdown: when "visible characters" and "characters" disagree, that gap is your missing allowance. Where a platform counts visible characters instead, such as Bluesky, the preset measures it that way.
How many pages is 1,000 words?
About four pages double-spaced, or two single-spaced, in 12pt Times New Roman with one-inch margins. The tool assumes 250 words per page by default, which matches a standard double-spaced manuscript page; change the words-per-page setting to 500 for single-spaced, or to whatever your own template actually fits. Because layout, font and spacing all move the answer, treat any page figure as an estimate rather than a promise.
Can I stop it counting references, links or numbers?
Partly. The "what gets counted" panel can exclude URLs and email addresses, exclude numbers, and exclude Markdown syntax including fenced code blocks while still counting the prose inside them. That covers most of what an academic word limit leaves out. There is no marker for excluding a named section such as a bibliography, so for that, count the body and the references separately by selecting each in turn.
Is my text private, and does it get saved anywhere?
The analysis is entirely local — no request is made and nothing is uploaded. By default the editor does keep your text in this browser's local storage so a refresh or a closed tab does not lose the draft, which is a checkbox in the editor footer you can untick at any time; unticking it, or clicking Clear, removes the saved copy immediately. Nothing over 200,000 characters is stored at all. On a shared computer, untick it.
How accurate is the sentence count?
Much better than a split on full stops, and still an approximation. Abbreviations, initialisms, decimals and web addresses are all handled, and where a case is genuinely ambiguous the tool joins rather than splits — a sentence that ends on an initialism and is followed by a capitalised word will read as one sentence, not two. That errs by at most one sentence in a passage; the opposite error inflates a single sentence into five. Above 500,000 characters the exact pass is skipped and the count becomes a terminator tally, which the tool tells you.