What the % in a Word Frequency Bar Chart Is Actually a Percentage Of
Run a piece of text through a frequency analyzer and each word shows up with a count and a "%" next to it. It's tempting to read that % as "the share this word takes up in the whole text," but what exactly counts as the "whole" can differ from tool to tool. There are two candidates: total token count (every occurrence counted, including repeats) and unique word count (the number of distinct words once duplicates are removed). These two numbers are completely different, and depending on which one is used as the denominator, the same raw frequency can produce a percentage several times larger or smaller.
1. Why the two denominators produce such different numbers
Total token count is "the sum of how many times words appeared." It grows every time you count another whitespace-split piece of a sentence, so the more a word repeats, the bigger the denominator itself gets. Unique word count, on the other hand, only counts "how many distinct words there are," regardless of repetition. For example, the text "cat cat cat dog" has a total token count of 4, but a unique word count of only 2 (cat, dog). This is exactly why dividing a given word's occurrence count by one denominator versus the other produces such wildly different percentages.
2. The basis confirmed from the actual code: total token count
Reading through the calculation logic of the Word Frequency Analyzer directly shows that each word's % value is computed as (that word's occurrence count / total) × 100, where total is the total number of tokens produced by splitting the text on whitespace. The unique word count (the number of distinct words listed in the table) never appears anywhere in this formula. In other words, this tool's % is a ratio with total token count as the denominator — it represents "the absolute density of this word across the whole text," not "what share this word takes among the list of unique words."
There's one more detail worth confirming: total is fixed at the token count measured right after punctuation is stripped, before the case-normalization and stopword-removal options are applied. That means even when turning on stopword removal makes certain words disappear from the display, the denominator (total) itself doesn't shrink. That's the reason the % values of the words still shown on screen often don't add up to 100% — the share belonging to the filtered-out words is still baked into the denominator.
3. The difference in numbers: same frequency, different %
Suppose a text has 100 total word tokens (20 of which are distinct words), and one particular word appears 10 times.
| Basis (denominator) | Formula | Result % |
|---|---|---|
| Total token count (this tool's method) | 10 ÷ 100 | 10.0% |
| Unique word count | 1 ÷ 20 | 5.0% |
Same data, same single word — but the result is off by exactly a factor of 2 depending on which denominator is chosen. The gap grows even wider for texts with heavier repetition. When citing this % in a report or piece of content, spelling out "% of total word occurrences" avoids confusion when the result gets mixed up with another tool's output.
4. Bar length uses a different basis than the %
It's easy to assume the bar length in the table uses the same value as the %, but it's actually a separate calculation. The bar sets the most frequent word currently on screen to 100% and scales every other word's bar relative to that, so it's purely a relative comparison among whatever words survive the minimum-frequency and top-N filters. The % column, in contrast, always uses the fixed total-token-count denominator regardless of filtering. That means two words with similar bar lengths can have quite different % numbers, and conversely, two words with similar % numbers can have different bar lengths. Don't read these two visual elements on the same scale.
5. Don't confuse this with SEO keyword density
This % sometimes gets used directly as "keyword density," but that's technically a different concept. Keyword density usually deals with the occurrence rate of a specific keyword or phrase, and its stopword and tokenization handling are separately designed for SEO purposes. Rather than citing this tool's single-word frequency % directly in an SEO report, using a purpose-built Keyword Density Checker gives more accurate results. If you need the frequency of consecutive word combinations, the N-gram Analyzer is a better fit, and for an overall statistical summary of the whole text, the Text Statistics tool is more appropriate.
Frequently Asked Questions
Q. How did you confirm the % denominator isn't unique word count?
By reading the Word Frequency Analyzer's calculation code directly. Each word's % value is computed by dividing its occurrence count by the total number of tokens produced by splitting the text on whitespace (total), and unique word count never appears anywhere in that formula.
Q. Does turning on stopword removal recalculate the %?
Each word's occurrence count is tallied from the words remaining after stopword removal, but the denominator (total) is fixed right after punctuation is stripped, so it doesn't shrink when stopword removal filters words out. That's why the % values shown on screen often add up to less than 100%.
Q. The bar length and the % number don't seem to match up — is that a bug?
It's not a bug. Bar length is a relative value with the highest frequency among the words currently on screen set to 100%, while the % column is an absolute ratio with total token count as a fixed denominator — they're different scales. It's expected that the two values aren't directly proportional.
Q. Is it fine to cite this % as-is in a paper or report?
Yes, as long as you specify the basis. Stating that the denominator is "share of total word occurrences (tokens)" reduces the risk of it being confused with another tool's results that use unique word count as the denominator.