Page & Bell

Word Frequency Counter

Paste any text and get a sortable frequency table of its most common words — plus two-word and three-word phrases, which is where the real patterns hide. A Unicode-aware tokenizer handles apostrophes (don't stays whole), hyphenated compounds, and Hindi text; an editable stopword filter removes the the/and/of noise; and every table exports to CSV. All processing happens in your browser.

Options

Frequency tables appear here once you paste some text.

How to use the word frequency counter

  1. Paste your text — analysis runs live (very large inputs get an explicit Run button so your tab never stalls).
  2. Switch between the single-word, 2-word phrase, and 3-word phrase tabs.
  3. Keep the stopword filter on to surface meaningful words; click “Edit stopword list” to customise it, or “+ Add Hindi” for Hindi text.
  4. Click the Term or Count headers to re-sort, set a minimum count, and choose top 25 / 100 / all.
  5. Download the current table as CSV or copy it for a spreadsheet.

Reading the table like an editor

Three patterns worth acting on. Tics: a non-topic word (an adverb, a hedge) inside your top 15 — if “really” outranks your subject matter, cut it globally. Topic drift: the top bigrams do not include the phrase the piece is supposedly about — your introduction promises one thing, the body delivers another. Echoes: a distinctive phrase like “at the end of the day” appearing three times in 800 words — fine once, a verbal shrug by the third.

For a worked example of TTR: a product description that reads “Our software helps teams. The software syncs your team's files. Teams love our software.” scores 11 unique / 16 total = 0.69 at this tiny length — but notice “software” is already 19% of content words. The percentage column catches concentration that raw counts hide.

Workflow pairings

Cleaning before counting improves the counts: run messy pastes through the Text Cleaner first so HTML fragments and URLs do not pollute the token stream. For keyword research, dedupe exports with the Duplicate Line Remover before pasting a combined list here to see which modifiers dominate, then expand the winners with the Keyword Combiner. To turn a column of top terms into a comma-separated row for a meta-keywords field or a spreadsheet formula, finish with the Comma Separator.

Frequently asked questions

What exactly counts as a “word” here?

Any run of Unicode letters, marks, or digits, optionally joined by apostrophes or hyphens. So don’t is one word (not don + t), state-of-the-art is one hyphenated compound (not four words), and Hindi or other non-Latin scripts tokenize correctly. Pure numbers like 2026 are counted by default; untick “Count numbers as words” to exclude them. Counting is case-insensitive unless you enable the case-sensitive toggle — useful when Apple the company and apple the fruit must stay separate.

What is the type-token ratio and what is a good value?

TTR = unique words ÷ total words, a standard measure of lexical variety. “The cat sat on the mat” has 5 unique words out of 6 total: TTR 0.833. “The cat sat, the cat slept, the cat ate” has 5 unique out of 9: TTR 0.556 — more repetitive. There is no universal “good” value because TTR falls as texts get longer (you inevitably reuse words), so only compare texts of similar length. For 1,000-word articles, roughly 0.35–0.45 reads varied; under 0.30 usually feels repetitive.

Why are the 2-word and 3-word phrase tabs often more useful than single words?

Single-word counts blur distinct topics together: “customer”, “service”, and “support” might each rank high separately. The bigram tab shows whether your text actually says “customer service” 14 times versus “customer support” twice — the phrasing your readers (and search engines) actually see. Phrases that start or end with a stopword are filtered out when the stopword filter is on, so you see “customer service” rather than “of the”.

Does keyword density affect Google rankings?

Not as a dial you can turn. Google has said for years that there is no ideal keyword-density percentage, and stuffing a term harms rather than helps. Frequency analysis is still genuinely useful as a diagnostic: if your target phrase never appears in 1,500 words, the page probably is not about that topic in any recognisable way; if one phrase is 4–5% of all bigrams, it will read as spam to humans too. Use the table to check coverage and naturalness, not to chase a magic number.

How do I find my overused words as a writer?

Paste a full draft, keep the stopword filter on, and read the top 25 single words. Most writers have tics — “really”, “actually”, “just”, “very”, “quite” — that survive editing because each instance looks innocent. Seeing “just” with count 31 (0.8% of all words) makes the pattern undeniable. The 3-word tab catches phrase-level tics like “it is important” or “at the end”. Repeat after editing and watch the counts drop.

How large a text can it handle?

Live analysis runs up to about a million characters (roughly 200,000 words — a full-length novel) and recalculates as you type. Beyond that the tool switches to an explicit Run button so a single keystroke never re-tokenizes a giant text mid-edit. The counting itself is a single pass building three hash maps, so even novel-length inputs analyse in a couple of seconds.

Related tools