Skip to the tool
DevToolBench

Word Frequency Counter

Rank words and phrases by how often they occur, then export.

paste a draft, an article, a transcript
hides the long tail
Words
0
Counted
0
Distinct
0
Top count
0

Nothing to count yet. Paste some text above, then try three-word phrases with a minimum of two to find the constructions you repeat without noticing.

Everything runs in your browser. Nothing you type is sent to a server.

Found a bug in this tool? Report it.

Share this tool

A word frequency counter that shows the phrases too

This word frequency counter takes any text and returns a ranked table: each term, how many times it occurs, and what share of the document it accounts for. Switch the window from single words to two- or three-word phrases, drop the functional words, set a floor so that one-off terms stop crowding the list, and export the result as CSV.

It exists because reading your own draft does not reveal repetition. Your eye supplies variety that is not on the page. A frequency table has no such loyalty, and the first surprise is almost always the same: some ordinary verb you reached for eleven times in four hundred words.

Using it as a style pass

Do it last, after the argument is settled and before the final read. Three things are worth looking for.

A crutch word near the top. Not the — the real find is a content word ranked far higher than its usefulness justifies: leverage, simply, robust, just. One instance is a choice, eleven is a tic, and the table is what turns the tic into something you can see.

A repeated opener. Set the window to three words and a minimum count of two. Phrases that start sentences rise to the top, and a document where four paragraphs open with the same construction reads as monotonous long before a reader could say why.

A term you thought was central and is not. If the subject of the piece appears twice while a minor aside appears nine times, the emphasis on the page is not the emphasis in your head. That is a structural note, not a word-level one, and it is the most valuable thing a count can tell you.

The counter is also the fastest way to check whether a document actually covers what it claims to cover, which is a different question from whether it repeats itself.

Stop words are a choice, and here is the whole list

There is no canonical list of stop words. Every library ships its own, they disagree with each other, and the disagreements are not trivial: some drop no and not, which inverts the meaning of whatever you are measuring, and some drop can, may and one, which are the subject of plenty of documents.

So this one is short, deliberately, and printed in full. Fifty words, all of them functional in almost any English sentence, none of them capable of being the topic.

Stop wordStop wordStop wordStop wordStop word
aanandareas
atbebutbyfor
fromhadhashavehe
herhisiifin
isititsnotof
onoroursheso
thanthatthetheirthem
thentherethesetheythis
towaswewerewhat
whichwillwithyouyour

For phrases, the filter works on the whole window rather than on each word. A pair is discarded only when both of its words are on that list, so and the disappears while the morning stays. The alternative — stripping the functional words first and then forming pairs — invents adjacencies the text never contained: delete the from in the morning and you get the phrase in morning, which nobody wrote.

Zipf, and why the top of the table is boring

Rank the words of any long natural text by frequency and the counts fall in a very particular way: the second word occurs about half as often as the first, the third about a third as often, the tenth about a tenth. That is Zipf's law, and it holds well enough across languages, centuries and genres that a text which badly violates it is usually not natural prose — it is a list, a table, or something generated.

Two practical consequences. First, the head of the table is a property of English rather than of your writing, which is exactly why the stop-word switch exists. Second, the tail is enormous: in any real document, most distinct words occur once. That is why a minimum count is more useful than it sounds. Set it to two and the list collapses to the terms you actually repeated, which is the only part you can act on.

What the numbers mean

Words is every token in the text, before any filter — the figure you would compare against a target length. Counted is how many windows survived the stop-word filter and became rows, and it is the denominator for the share column, so the percentages of all rows add up to one hundred. When you switch the filter on, that denominator shrinks and every remaining share rises. The document did not change; the question did.

Terms are ranked by count, and ties are broken alphabetically, so the same text always produces the same table. The CSV export carries the same three columns, quoted per RFC 4180 where a term contains a comma or a quotation mark.

Where this fits

For length rather than distribution — words, characters, sentences, reading time — the word counter answers faster. When the frequency table has told you which lines are repeats and you want them gone, remove duplicate lines does that in one pass, and sort lines is the quickest way to eyeball a list you have just exported.

Your text is analysed in the page. It is not uploaded, stored or logged, which is the only sensible arrangement for a tool people paste unpublished drafts into.

Frequently asked questions

What counts as one word here?

A run of letters or digits, where letters mean any letter in Unicode rather than the twenty-six in ASCII, so café, Ärger, Ελλάδα and 日本 survive intact instead of being chopped at the accent. A hyphen or an apostrophe joins two runs into one word, which keeps mother-in-law and don't whole; a hyphen at the edge of a word is punctuation and gets dropped. Curly apostrophes are folded to straight ones, so text pasted from a word processor and text typed in a browser land on the same row.

Should I remove stop words?

Only once you know what the question is. Leave them in when you are looking at rhythm and repetition, because the whole point of reading the top of the table is discovering that you wrote that eleven times in four hundred words. Take them out when you want the subject matter, since a list topped by the, of and to tells you nothing you did not already know about English. The list here is fifty words and it is printed in full below, so you can see exactly what disappeared.

What is a two-word or three-word phrase in this tool?

A sliding window over the text. With the window set to two, the sentence red green blue produces red green and green blue — every adjacent pair, not every combination. Phrases are where unintentional repetition actually shows up, because a writer rarely repeats a single unusual word without noticing, yet will happily open five consecutive paragraphs with in order to. Set a minimum count of two or three and the list stops being long enough to skim.

Why do the percentages change when I turn stop words off?

Because the percentage is a share of what was counted, not of the whole text. Drop the functional words and the total they were part of drops with them, so the words that remain each take a larger slice. That is the useful reading: it answers how much of your content is this word, rather than how much of your text. The raw word total for the document is shown separately and never changes.

Can I get the counts out as a file?

Yes, as CSV, with one row per term and columns for the term, the count and the share. It opens in Excel, Numbers, Sheets or pandas without any cleanup; terms containing a comma or a quote are quoted the way RFC 4180 requires. The file is generated in your browser from the text you pasted, and the text itself never leaves the page.

Related tools

Updated