Text Analysis · Keyword Density · Free

Word Frequency Counter

See how often each word appears in your text and its share of all words. Totals and a keyword-density table update live as you type or paste, with filters for numbers, single letters, and common words — nothing leaves your browser.

UTF-8 text; up to 2,000,000 characters; counting is case-insensitive.

Words
0
Distinct words
0
Word table filters

Most frequent words: keyword, occurrence count, rank, and share of all words
#KeywordCount%

No words to list yet — type or paste text above; punctuation and emoji are not counted as words.

Words are counted case-insensitively with Unicode word segmentation (apostrophe forms like don't and decimals like 42.5 stay one token; punctuation and emoji are not words). Percent is each keyword's share of all words, so the filters never change the percentages. Everything is computed in this browser tab — Open File and Save File work entirely on your device and never upload anything to a server.

STEP 1

Paste, type, or open a file

Drop an article, essay, or keyword list into the input, or use Open File to load a local UTF-8 text file — counting happens in this browser tab.

STEP 2

Scan the frequency table

Each distinct word is listed with how often it occurs and its percent of all words — most frequent first, ties in alphabetical order.

STEP 3

Filter, tune, save

Hide numbers, single letters, or common words, cap the rows shown, copy the summary, or use Save File to download the current text as word-frequency.txt.

Counting semantics

What counts as a word?
Unicode word boundaries (the Intl.Segmenter engine, the same one our word counter uses): apostrophe forms like "don't" and decimals like "42.5" stay one token, hyphenated "well-known" splits into two words, and punctuation and emoji are never counted.
Is counting case-sensitive?
No. "The", "THE", and "the" are one keyword row — keyword density means merged forms. Rows are shown lowercase, sorted by count, then alphabetically.
How is the percentage calculated?
Each keyword's share of all words: its count divided by the total word count, rounded to one decimal. The denominator is every word before filtering, so toggling a filter removes rows but never changes percentages.
What do the hide filters do?
They remove table rows only: words that are just a number (like "42" or "42.5"), single letters (like "i"), and words matching our frozen list of 40 common English function words, case-insensitive. Totals never change when you toggle them.
How do Open File and Save File work?
Both are local browser file operations, never uploads. Open File reads a UTF-8 text file strictly: invalid bytes are rejected, a leading byte-order mark is stripped, up to 8 MB per file and 2,000,000 characters; an empty file is valid. Save File downloads the current text as word-frequency.txt. A failed read never replaces the text you already have.

Privacy: this word frequency counter processes your text in your browser tab. Open File and Save File are local browser file operations — they never upload your files.