Free Word Frequency Counter

Paste any text to see a ranked table of how many times each word appears, along with the percentage each word represents of the total. Optionally strip common stop words like "the" and "and" to surface the keywords that matter. Everything runs locally in your browser.

6 unique words Β· 9 total
Frequency table
#WordCountPercent
1the333.3%
2cat222.2%
3mat111.1%
4on111.1%
5ran111.1%
6sat111.1%

Quick answer

A word frequency counter tokenizes your text on word boundaries, lowercases each word so capitalization is ignored, tallies the occurrences in a map, then ranks words from most to least frequent. Each word's percentage is its count divided by the total word count, and an optional stop-word filter removes common function words like "the", "and", and "of".

Formula & method

Tokenization rule

words = lowercase(text) split on any run of non-word characters, keeping inner apostrophes (a-z, 0-9, and ' inside a word)
  • text β€” the raw input you paste or type
  • words β€” the resulting list of lowercased word tokens

Frequency percentage

percent(w) = ( count(w) / total ) x 100
  • count(w) β€” number of times word w appears
  • total β€” total number of counted words (after optional stop-word removal)
  • percent(w) β€” share of the text that word w represents, rounded to one decimal

Ranking rule

sort by count descending, then by word alphabetically ascending for ties
  • count β€” occurrences of the word
  • word β€” the lowercased token, used as the tie-breaker

Type or paste text into the box. The tool lowercases everything, then splits it into words using a word-boundary pattern that keeps inner apostrophes (so "it's" stays one token) while treating punctuation, spaces, and line breaks as separators. Each distinct word is tallied in a Map, and the totals are sorted in descending order of count, with alphabetical ordering breaking ties so the ranking is stable. For every word, the percentage shown is count divided by the total number of counted words, times 100, rounded to one decimal place. Turn on "Remove common stop words" to drop a built-in list of high-frequency English function words before counting; when enabled, both the totals and the percentages are recomputed over only the remaining words. Results update instantly as you type, and you can copy the ranked table with one click.

Examples

Example 1: Repeated words and percentages
Input
The cat sat on the mat. The cat ran.
Result
1. the β€” 3 (33.3%) 2. cat β€” 2 (22.2%) 3. mat β€” 1 (11.1%) 4. on β€” 1 (11.1%) 5. ran β€” 1 (11.1%) 6. sat β€” 1 (11.1%)
Why
There are 9 counted words. "the" appears 3 times (3/9 = 33.3%) and "cat" twice (2/9 = 22.2%). The four single-occurrence words each are 1/9 = 11.1% and are ordered alphabetically (mat, on, ran, sat) to break the count tie. Punctuation and the period after "mat" are not counted as part of any word.
Example 2: Stop-word removal on
Input
The quick brown fox and the lazy dog
Result
1. brown β€” 1 (20.0%) 2. dog β€” 1 (20.0%) 3. fox β€” 1 (20.0%) 4. lazy β€” 1 (20.0%) 5. quick β€” 1 (20.0%)
Why
With stop-word removal enabled, the function words "the" (twice) and "and" are dropped, leaving 5 content words. The total is recomputed over those 5, so each remaining word is 1/5 = 20.0%. Ties on count 1 are broken alphabetically.
Example 3: Case-insensitive counting
Input
Go go GO stop
Result
1. go β€” 3 (75.0%) 2. stop β€” 1 (25.0%)
Why
"Go", "go", and "GO" are all lowercased to "go" before counting, so they merge into a single entry with count 3 out of 4 total words (3/4 = 75.0%). "stop" is 1/4 = 25.0%.

When to use this tool

  • Checking keyword density in an article or product page to see whether your target terms appear often enough without being over-stuffed.
  • Analyzing survey responses, reviews, or chat logs to find the most-mentioned words and themes at a glance.
  • Studying writing style or vocabulary by spotting overused filler words, then turning on stop-word removal to focus on meaningful content words.

Common mistakes

  • Expecting different capitalizations to be counted separately. "Apple" and "apple" are lowercased and merged into one entry; if you need case-sensitive counts, this tool will not split them.
  • Forgetting that percentages change when you toggle stop-word removal. With the filter on, the total is recomputed over only the remaining words, so every percentage is recalculated, not just the rows that were removed.
  • Assuming hyphenated or punctuated forms stay together. "state-of-the-art" is split into separate words at the hyphens, while contractions like "don't" are kept as a single token because the inner apostrophe is preserved.

Frequently asked questions

How does the tool decide what counts as a word?

It lowercases the text and splits on any run of non-word characters, keeping letters, digits, and apostrophes that sit inside a word. So "it's" is one word, but spaces, line breaks, commas, periods, and hyphens act as separators.

Is the counting case-sensitive?

No. Every word is lowercased before it is tallied, so "The", "the", and "THE" are treated as the same word and combined into a single row in the ranking.

What are stop words and what happens when I remove them?

Stop words are very common function words such as "the", "and", "of", "to", and "is" that carry little topical meaning. When you enable removal, they are dropped before counting, and both the total and every percentage are recomputed over the words that remain, which surfaces your real keywords.

How is each word's percentage calculated?

Percentage equals the word's count divided by the total number of counted words, multiplied by 100 and rounded to one decimal place. If stop-word removal is on, the total is the count of the remaining words, so percentages reflect only the filtered text.

How are ties in the ranking ordered?

Words are sorted by count from highest to lowest. When two or more words share the same count, they are ordered alphabetically so the table is stable and predictable every time you run the same text.

Is my text uploaded anywhere?

No. All tokenizing, counting, and sorting happen entirely in your browser using JavaScript. Your text never leaves your device and nothing is sent to a server.

Does it count numbers as words?

Yes. Standalone numbers and alphanumeric tokens like "2024" or "v2" are treated as words and included in the frequency table, since they match the word pattern of letters and digits.

Sources & references

External references open in a new tab. We are independent and not affiliated with these organizations.

  • βœ“ Free to use
  • βœ“ No sign-up required
  • βœ“ Runs entirely in your browser β€” nothing is uploaded.
  • βœ“ Formula and method shown above

Provided β€œas is” for general information only β€” results may be inaccurate, so verify before you rely on them. No warranty; use at your own risk.

Built and reviewed by HIFreeTools against the formula shown above and any authoritative references cited on this page. See our methodology and editorial standards.

Related tools

Embed this tool on your site

Free to embed, no sign-up. Paste this code where you want the word frequency counter to appear: