For writers: finding the repetition you can’t hear
Every writer has crutch constructions — words and phrases used so habitually they become invisible to their own author. Single-word mode surfaces the obvious ones (that just, that very, that really), but the more revealing check is phrase mode: switch to 2- or 3-word n-grams and the counter finds repeated constructions — “the fact that,” “in order to,” “she felt like” — that single-word counts hide because each component word is unremarkable alone. A practical workflow: paste a chapter, turn stopwords off for the phrase pass (phrases made of stopwords are exactly what you’re hunting), sort falls out automatically, and anything appearing more than a few times per thousand words is worth a search-and-reconsider in your editor.
For SEO drafts — with an honest note about density
Checking a draft’s word frequencies is legitimately useful: it tells you whether the page actually discusses the topic in the vocabulary readers search with, whether you’ve covered related terms or tunnel-visioned on one, and whether a term repeats so mechanically it reads as stuffed. What it is not is a ranking lever. Keyword density — the percentage a term makes up of your text — is not a ranking factor, and hasn’t meaningfully been one for many years; search engines model topics and language, not term percentages, and mechanical repetition is more likely to hurt readability (and thus performance) than help. Use the percentages here as a readability instrument: if your main term dwarfs everything else, the fix is richer vocabulary, not a target density.
Methodology — exactly what gets counted
Tokens are runs of Unicode letters and digits, with internal apostrophes and hyphens kept (don’t and well-known are one token each), so accented and non-Latin words count correctly. Ignore case folds tokens to lowercase before counting (on by default — otherwise The and the rank separately). The stopword list is ~130 high-frequency English function words (articles, prepositions, pronouns, auxiliaries); it’s a convenience filter, not a linguistic claim, and in n-gram mode it removes any phrase entirely composed of stopwords rather than any phrase containing one. Percentages are of total counted tokens after your filters. N-grams are consecutive tokens within the same line — phrases don’t bridge line breaks, so list items don’t create phantom phrases. The CSV contains the full table (rank, term, count, percentage), not just the visible rows.
Frequently asked questions
Why do hyphenated words count as one word?
Because splitting them creates noise: well-known becoming well + known inflates two common words and hides the actual usage. If you want the split behavior, replace hyphens with spaces before pasting.
What counts as a “common word” in the stopword filter?
Roughly 130 English function words — articles (the, a), prepositions (of, in, to), pronouns (it, they), conjunctions (and, but), and auxiliaries (is, was, have). Content words are never filtered. For non-English text, leave the filter off — the list is English-only, stated plainly.
How large a text can it handle?
Counting is a single pass with a hash map — novel-length texts (hundreds of thousands of words) process in well under a second. The table renders the top 500 rows for responsiveness; the CSV always contains everything.
Is my text uploaded anywhere?
No — counting runs in your browser tab with no server or network request, and the shareable link carries only your filter settings, never your text.