Word Counter & Text Analyzer
Paste your text and the numbers move as you type: words, characters, sentences, reading time, readability. Everything runs inside this tab, so whatever you paste stays on your machine. No account, no upload, no limit on length.
Text Analysis
Goal Tracker
Why use this word and character counter?
Most counters hand you a number and stop. This one tells you what the number means: how long the text takes to read out loud, which words you keep leaning on, whether your sentences have quietly gotten too long.
Updates as you type There is no submit button, because there is nothing to submit. Every stat recalculates on each keystroke, and keeps up through a 100,000-word manuscript.
Not only English Word boundaries come from the browser's own Intl.Segmenter, so Ukrainian, Arabic, Japanese and Chinese are segmented properly instead of being chopped up on spaces.
Your text never leaves the tab No upload step and no API call. If you would rather check than take our word for it, open DevTools, watch the Network tab, and paste.
How to use this word counter
Paste or type into the box near the top of the page. There is no Calculate button and no page reload, because nothing is being sent anywhere to be calculated. The row of stats above the box starts moving on your first keystroke and keeps pace from there, on a tweet or on a thesis.
Use the toolbar above the textarea to tidy the text up before you measure it. It trims leading and trailing whitespace, collapses runs of spaces, strips stray line breaks, copies everything to the clipboard, and runs Find & Replace across any alphabet. Nothing you do there is permanent: undo and redo hold the last 50 states, and Ctrl+Z or Cmd+Z behave the way you expect.
The top row covers the basics — words, sentences, characters with and without spaces, paragraphs, unique words. Below the textarea you get reading time, speaking time, average word length, the Flesch-Kincaid grade level and the Flesch Reading Ease score. All of them are recomputed from the text currently in the box, so nothing goes stale while you edit.
The chips under the analysis row switch extra panels on and off. Goal Tracker measures your length against platform limits, from a 280-character post to a 160-character meta description. Sentence Analysis shows your shortest, longest and average sentence. Writing Quality catches doubled words and lists your longest vocabulary. Keyword Density ranks your terms. Text Comparison diffs two drafts word by word. Whatever you switch on is remembered next visit, and the two export buttons save the current stats as a .txt or .csv file.
Frequently Asked Questions
How Our Algorithm Works
Every number on this page is computed in your browser, from the text in the box, on each keystroke. Here is what each one actually does, including the APIs and patterns behind it, so you can judge whether a number means what you need it to mean before you rely on it.
Word Detection
Words come from Intl.Segmenter, created with granularity 'word', keeping only the segments the API marks as word-like. That is the browser's implementation of the Unicode text segmentation algorithm, which is why "don't" stays a single word and why text in Chinese or Japanese is split into real words rather than a run of characters. It also means hyphens break words, so "state-of-the-art" is four, and that emoji are skipped entirely, since Unicode does not consider them word-like. Where Intl.Segmenter is unavailable, such as an older Node build or a small-ICU server environment, the code falls back to /\p+/gu, a Unicode-aware match on runs of letters that covers alphabetic scripts but cannot segment CJK.
Sentence Detection
Sentences are found by splitting on /[.!?]+(\s
Readability Scores
Two Flesch scores, both driven by the same syllable estimate. Grade Level maps onto US school years. Reading Ease runs 0 to 100, higher meaning easier, and is clamped to that range before it gets a plain-language label. The syllable counter works without a dictionary: it lowercases the word, strips non-letters, returns 1 for anything three letters or shorter, removes a silent "ed" or trailing silent "e", ignores a leading "y", then counts the remaining vowel groups of one to three letters and never returns less than 1. Reliable on ordinary English prose, unreliable on names and borrowed words.
Grade = 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59Reading & Speaking Time
Reading time is the word count divided by 200 and rounded up; speaking time divides by 130. Both figures are deliberately round. 200 words a minute is a conservative silent-reading rate, and published meta-analyses of reading speed put English non-fiction somewhat higher, so treat the reading estimate as a comfortable upper bound rather than a stopwatch. 130 is a presentation pace, noticeably slower than the 150-plus most people hit in conversation, because reading to a room means pausing, emphasising and occasionally losing your place. If your own pace is different, the Words to Minutes tool takes a custom rate.
readingTime = ⌈ words ÷ 200 ⌉ minKeyword Density
The panel on this page lowercases each word, strips anything that is not a letter, drops a built-in list of English stop words plus anything shorter than three characters, counts the rest into a Map, sorts by frequency and shows the top ten alongside each term's share of the total. One pass over the text, so it stays cheap on long documents. The standalone Keyword Density tool goes further: two- and three-word phrases, a stop-word toggle you control, and up to 2,000 rows, all computed in a Web Worker so the interface never stalls.
Unique Words & Vocabulary Richness
Every word-like segment is lowercased and pushed through a Set; the size of that Set is your unique word count, and dividing it by the total gives vocabulary richness. Two things to know before reading much into it. The ratio falls as a text gets longer, because function words repeat no matter how varied your writing is, so comparing a 300-word abstract against a 5,000-word chapter tells you almost nothing. And inflections count separately: run, runs and running are three distinct words here.
Key Terms
- Stop Words
- The connective tissue of a sentence: the, a, is, and, of. They are the most frequent words in almost any English text, which makes them useless for telling you what that text is about, so keyword counting drops them before ranking anything.
- Syllable
- One beat of pronunciation. "Algorithm" has four: al-go-rith-m. Both Flesch scores hang on this count, which is why a tool with no pronunciation dictionary can only ever approximate them.
- Flesch Reading Ease
- A 0 to 100 score where higher means easier. 60 to 70 is ordinary plain English, 90 and above is a children's book, and anything under 30 is a contract or a research paper.
- Vocabulary Richness
- Unique words divided by total words, as a percentage. 70% means seven of every ten words are distinct. It drops steadily as a text gets longer, so it only means something when you compare pieces of similar length.
Understanding Your Text Statistics
Every metric explained — so you know exactly what you're measuring and why it matters.
Word Count
Counts word-like segments using the browser's Intl.Segmenter, which follows the Unicode segmentation rules rather than simply splitting on spaces. Contractions stay whole, Chinese and Japanese get real word boundaries, and hyphenated compounds break apart, so "state-of-the-art" counts as four. Microsoft Word counts it as one, which is worth knowing if you are checking against a limit enforced there.
Sentence Count
Splits text on period, exclamation mark, and question mark followed by a space or end of input. Useful for checking whether your writing is composed of enough complete thoughts, and for calculating readability scores.
Characters With Spaces
The raw length of your text, every space and line break included. It counts the way JavaScript does, in UTF-16 code units, so a single emoji adds 2 and a family emoji adds 8. Social platforms apply their own weighting on top of this, so treat it as a close guide rather than an exact match to their counter.
Characters Without Spaces
Character count after stripping all whitespace. Useful when comparing the actual content volume of two texts, or when a publisher charges per character of typeset copy.
Paragraph Count
Counts non-empty blocks separated by line breaks, so a single Enter starts a new paragraph and consecutive blank lines never inflate the count. Handy for watching structure: a well-paced article for the web tends to run 3–5 sentences per paragraph.
Unique Words & Vocabulary Richness
Counts distinct lowercase words after removing punctuation. The percentage shown (vocabulary richness) is unique words ÷ total words × 100. A higher percentage means more varied vocabulary. Academic writing typically scores 60–80%; repetitive marketing copy often falls below 40%.
Reading Time
Estimated at 200 words per minute — the average silent reading speed for an adult. Useful for blog posts, where readers decide in seconds whether to continue. Aim for under 7 minutes for web content.
Speaking Time
Estimated at 130 words per minute — the average comfortable speaking pace for presentations and podcasts. A 5-minute speech is roughly 650 words. Use this to time talks, videos, or voice-overs.
Average Word Length
Total characters in all words divided by word count. English averages 4.5–5 characters per word. Scores above 6 suggest heavy use of technical or academic vocabulary; below 4 indicates very simple or conversational text.
Readability Score (Flesch-Kincaid Grade Level)
Formula: 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59. The result maps to a US school grade level. Grade 6–8 is ideal for web content and email. Grade 12+ suits academic papers. Note: works best for English; results for other languages are approximate.
Reading Ease (Flesch Reading Ease)
Formula: 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words). Score ranges from 0 to 100 — higher is easier. 60–70 is Standard (plain English), 90+ is Very Easy (children's books), 0–30 is Very Confusing (legal/scientific text). Complements the grade-level score with a plain-language label.
Who Uses This Word Counter?
Three jobs where the number on the screen has consequences.
SEO Copywriters
Two numbers shape most content briefs: how long the piece is, and how often the target phrase appears. Both sit on this page, live, while you write. Keyword Density gives you the top ten terms with their share of the total and the stop words already removed, which is usually enough to spot the phrase you have leaned on three times too often. Treat the 1% to 3% guidance for a primary term as a sanity check rather than a goal, since the metric exists to detect stuffing and writing toward it defeats the purpose. The panel earns its place by showing you the terms you never planned to rank for but did.
Academic Students & Researchers
Submission portals, journal abstracts and grant forms all enforce hard limits, and many count characters without spaces rather than words, which is why that stat sits in the top row. Two things will trip you up. The counter reads everything in the box, references and bibliography included, so strip those before your final check or use Find & Replace to isolate the body. More importantly, hyphenated compounds count as separate words here and as single words in Microsoft Word, so a methods-heavy paper can read several dozen words longer in this tool than in your supervisor's copy. If the limit is enforced in Word, do your final check in Word and use this page for everything before that.
Developers & Technical Writers
The reason to open a counter mid-task is usually unglamorous: does this button label fit, how long is this string once it is in the column, roughly how many tokens is this prompt. Characters Without Spaces is the closest thing here to a string length for plain ASCII content. The two diverge the moment emoji or non-Latin text appear, because JavaScript counts UTF-16 code units and a single emoji is two of them, which is worth remembering before you size a database column from a character count. The whitespace tools in the toolbar are the quickest way to normalise a snippet pasted out of an editor before you measure it.
Why this runs in your browser
The usual way to build a text tool is to post the text to a server and send the result back. It works, it is easy to write, and it quietly creates a copy of your document somewhere you cannot see. Not because anyone set out to keep it. A request passes through a load balancer, a web server, application code and usually an access log on the way in, and any one of those can hold the body for longer than the request itself lives. A policy that says "we do not store your data" is a statement about intent. It cannot account for a debug log left switched on after an incident, an error reporter that helpfully attaches the request body, or a cache sitting at the edge of a network nobody on the team administers.
So this tool does not post anything. The JavaScript arrives once when the page loads, and from that moment every count, every score and every density figure is computed against the string in the textarea, on your own processor. That is not a setting somebody can flip later. A browser cannot send data anywhere without code asking it to, and the counting code contains no such request: no fetch, no XMLHttpRequest, no beacon. It is a smaller promise than most privacy pages make, and a far more durable one. There is no copy of your text to leak, because one was never made.
Confirming this is faster than reading the policy. Press F12, or Cmd+Option+I on a Mac, and open the Network tab. Paste in the most sensitive thing you have. Watch the list fill up. You will see the page's own assets, an analytics ping recording that someone visited, and whatever advertising is running that month, and not one request carrying your words. That is the part we would rather you check than believe.
Further reading
- How to Check Word Count in Google Docs, Word & Notion
Check word count in Google Docs (Ctrl+Shift+C), Microsoft Word (Ctrl+Shift+G), or Notion — plus why native counters miss half the picture.
- How Many Words Per Page? Double-Spaced, APA & MLA
Exactly how many words fit on one page? Get the definitive breakdown for double-spaced, APA, MLA, and more — plus free tools to hit your targets.
Explore More Free Text Tools
Word Frequency
Analyze how often each word appears in your text
Keyword Density
Check single-word and 2-3 word phrase density for SEO
Readability Score
Check Flesch-Kincaid grade, reading ease, and Gunning Fog index
Character Limit
Check text against X, meta description, SEO title and social limits
Words to Minutes
Convert word count to speaking time and minutes to a word target
Writing Goal Tracker
Set a daily or total word goal and track your streak
Remove Duplicates
Deduplicate lines with flexible matching options
Sort Lines
Sort or shuffle lines alphabetically, by length or randomly
