Rank every word + phrase by frequency, with keyword density, stop-word filtering, and n-gram analysis — browser-only
- Runs locally
- Category Text
- Best for Removing repetitive cleanup work from everyday writing and operations.
Frequency ranking appears here once you add text.
100% local. Your text never leaves your browser.What this tool does
A word frequency counter that tells you what a piece of text is actually about, not just how long it is. Paste an article, a transcript, or a draft and it ranks every distinct term by how often it appears, shows each term's share of the document as a keyword density percentage, and supports unigram, two-word, and three-word phrase (n-gram) analysis so you can spot repeated phrases, not just repeated words. A built-in stop-word filter drops grammar words like "the", "and", and "of" so your real keywords rise to the top instead of being buried under function words. Toggle case sensitivity, set a minimum word length, and use the keyword-density lookup to check one specific phrase against the whole document — exactly what you need when an SEO plugin warns about keyword stuffing. Chinese text is segmented into words with Intl.Segmenter (编程语言 → 编程 / 语言) rather than mangled character by character, and English splits cleanly on word boundaries while keeping contractions and hyphenated terms whole. Export the full ranking to CSV for a spreadsheet, and share a link that reopens on the same text. Every calculation runs in your browser; the text you analyze is never uploaded.
Tool details
- Input
- Text + Numbers
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Download
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 14 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Text · Content Creator
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How Word Frequency Counter fits into your work
Use it to clean, compare, reshape, or extract plain text before it goes into a document, CMS, spreadsheet, or prompt.
Text jobs
- Removing repetitive cleanup work from everyday writing and operations.
- Making text easier to compare, paste, publish, or feed into another tool.
- Working with content locally when the text is private or unfinished.
Text checks
- Scan for unintended whitespace, duplicate lines, and lost punctuation.
- For long text, test the first few lines before applying the whole change.
- Copy the final output only after checking the preview.
Good next steps
These links move the current task into a more complete workflow.
- 1 Word Counter Count words, characters, sentences, paragraphs and reading time in any text — instant, browser-only Open
- 2 Text Deduplicator Remove duplicate lines from any list — case-sensitive optional, whitespace-trim optional, count duplicates — browser-only Open
- 3 Text Sorter Sort lines alphabetically, numerically, by length, or reverse — case-sensitive optional — browser-only Open
Real-world use cases
Check a blog post for keyword stuffing before publishing
Your SEO plugin flags "keyword density too high" but won't tell you the actual number. Paste the draft, type your target keyword into the density lookup, and read the percentage. If "best running shoes" shows 4.1% you're stuffing — search engines and readers both notice. Trim a few instances, watch the number drop toward the 1–2% comfort zone, and re-check. Switch the phrase length to "2-word" to see whether the repetition is the exact phrase or just the head noun showing up in natural variations, which reads far better.
Find the crutch words in your own writing
Every writer leans on a few words too hard — "actually", "just", "really", "leverage". Paste a chapter or a month of newsletter copy, turn the stop-word filter ON so grammar words don't drown the signal, and scan the top 30. If "actually" appears 47 times in 2,000 words, that's once every 42 words — a tic readers will feel. Now you know exactly which words to search-and-destroy in your editor, with counts to prove the before/after.
Count filler words in a speech transcript
Export the transcript of a talk or podcast, paste it here, and look for "um", "uh", "you know", "like". Use the 2-word view to catch "you know" as a unit. A speaker saying "you know" 60 times in a 20-minute talk is doing it roughly every 20 seconds — measurable, fixable, and far more convincing to point out with a count than with "you say it a lot". Hand the speaker the CSV and the top filler row with its density and the practice goal writes itself.
Extract candidate tags from a knowledge base article
You need 5–8 tags for a help-center article but don't want to invent them. Paste the article, filter stop words, set minimum length to 4 (so "API" survives but "is"/"to" never appear), and switch to the 2-word view. The top bigrams — "password reset", "two factor", "billing cycle" — are your tag shortlist, ranked by how central they are to the piece. Export to CSV and paste the top rows straight into your CMS tag field.
Compare two drafts for topic drift
You rewrote a landing page and want to confirm the new version still centers the same theme. Analyze draft A, export the CSV, then analyze draft B and export again. Diff the two top-20 lists in a spreadsheet: if "automation" was #1 in A but fell to #14 in B while "dashboard" climbed, your rewrite quietly changed what the page is about. Pair this with the text diff tool to see the exact sentences that moved the weight, then decide if the drift was intentional.
Common pitfalls
Reading keyword density as a target to hit rather than a ceiling to stay under. Density is a stuffing alarm, not a quota. Forcing a keyword to exactly 2% by jamming it in produces worse copy than writing naturally and landing at 1.3%. Use the number to catch over-use, then write for the reader.
Leaving the stop-word filter off and concluding "the" is your top keyword. Of course it is — function words dominate every text. If your top rows are "the / and / of / to", turn the filter on; the chart was just showing you grammar, not topic.
Comparing raw counts across documents of different lengths instead of using density. A word appearing 50 times in a 10,000-word article (0.5%) is far less prominent than 50 times in a 1,000-word post (5%). When you compare two texts, compare the density column, not the count column.
Privacy
Tokenization, frequency ranking, keyword density, document stats, and CSV export are all plain JavaScript running in your browser tab. The text you analyze is never uploaded, never logged, and no analytics record what you pasted. The one privacy caveat: the shareable link encodes the first ~1,200 characters of your text in the URL query string, so if you paste a "share link" of confidential copy into Slack or email, the destination server's access log will see that text. For private drafts, copy the text or the CSV manually rather than sharing the URL.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- 24-Point Solver & Game 24-point solver and game — enter 4 numbers and get every solution instantly, or play random hands against the clock.
- Age Calculator Calculate your exact age — years, months, days, hours. Compare two dates or count to a future date.
- Airline Luggage Allowance Checker Airline luggage allowance — 50+ carriers' carry-on / checked baggage rules with size, weight, and excess fee.
- Anagram Solver Check if two words are anagrams, rearrange a set of letters into every ordering, and read the sorted letter fingerprint, all in your browser