Topic & Keyword Extractor
Pull out the terms a text is actually built on, scored by TF-IDF against a built-in baseline of ordinary English rather than by raw frequency.
Nothing you type here is uploaded, stored or sent anywhere. It all runs in your browser.
Why frequency alone tells you nothing
The commonest word in almost every English document is the, and the commonest content word is usually whatever generic noun the writer leaned on. Ranking by raw count gives you a list you already knew. TF-IDF fixes that by dividing how often a term appears here by how often it appears in ordinary language: a word that is common in this text and rare in general is doing work, and a word that is common everywhere is not.
The baseline this uses, and its limits
Real TF-IDF needs a corpus of documents to compute the second half from. There is no corpus in your browser and this page does not fetch one, so the baseline is built in: a list of roughly eight hundred common English words in approximate rank order, with each word's frequency estimated from its rank by Zipf's law. Anything absent from that list is treated as rare and given a fixed high weight.
Be clear about what that means. Inside the list the scoring has real gradation — page is weighted very differently from the. Outside it, every unusual word gets the same rarity weight, so a genuinely obscure technical term and a moderately uncommon one are separated only by how often each appears in your text and where. It is a crude corpus and it is honest about being one. It is enough to sort the signal from the filler, which is the job; it is not enough to compare scores between two different documents.
Position counts for something
- Headings. If you pasted HTML, terms inside
<h1>to<h3>get a weighting bump and a marker. A term you are trying to rank for that never appears in a heading is worth noticing. - The opening. Terms in the first paragraph get a smaller bump. Writers put the subject at the top, and search engines have long assumed the same.
- Phrases separately. Two and three-word phrases are scored on their own, weighted by the rarity of the words in them and how often they recur, because "broken link building" says vastly more about a page than "building" does.
What to actually use it for
Three things. Checking a draft covers what the brief asked for — if the target term is not near the top, the page is about something else. Auditing a page that ranks for the wrong query, where the top terms usually explain why immediately. And working out the real subject of a competitor's page, which is frequently narrower than their title tag suggests.
What it is not is a list of keywords to add. Terms scored here come from the text you pasted; there is nothing in it that could suggest a term the page does not already contain. For raw phrase counts without the rarity weighting, use the n-gram analyzer; for planning which terms a page should target in the first place, start from a keyword cluster.
Questions people ask
What is TF-IDF, in one sentence?
Term frequency times inverse document frequency: how often a word shows up in this text, weighted by how unusual that word is in the language generally, so that common words score low however often you use them.
Is TF-IDF how Google ranks pages?
No. It is a decades-old information retrieval weighting that modern search has long since moved past, and no amount of optimising a TF-IDF score moves a ranking. It is useful here as a lens for reading your own text, which is a different job from ranking.
Why is a word I use constantly scoring low?
Because it is in the built-in baseline of common English, so frequency alone does not earn it a score. That is the mechanism working. If the word is genuinely central to your topic and is a common English word, the phrase list is where you will see it — in context, with the words around it.
Can I compare the scores between two different pages?
Not meaningfully. Scores are normalised against the top term inside each run, so the top term is always 100 regardless of how strong it is. Compare the ordering of terms between two pages, not the numbers.
Does pasting HTML work properly?
Tags are stripped, script and style blocks are removed, and headings and the first paragraph are picked out for the position weighting. It is regex-based rather than a real parser, so badly broken markup can confuse it — if the results look wrong, paste the rendered text instead.
Related tools
Covering the topic is table stakes
Every page competing with yours covers the topic too. The tiebreak is which of you has the links, and that is the part we build.