Skip to main content
PulsarKit

Word frequency counter

Which words a text actually leans on, how often, and what share of it they are, for single words, pairs and triples, with common words filtered out.

Drop your files here

.txt, .md, .csv · up to 5 MB

How to count word frequency

  1. 1

    Paste or drop your text

    A .txt, .md or .csv file up to 5 MB, or type straight into the box.

  2. 2

    Choose what to count

    Single words, pairs or triples, with a minimum count and common words on or off.

  3. 3

    Read the table or export it

    Sorted by frequency, with the share of the text each term takes. Download as CSV.

The same word written two ways is still one word

Text copied from a Mac often arrives in a decomposed form: the Russian й comes through as и followed by a separate breve, and é as e followed by an accent. On screen they are identical to the composed versions; as dictionary keys they are different strings, so the same word quietly splits into two rows with half the count each. Everything here is normalised to a single form before counting, which is why the totals add up. Case is folded by default for the same reason: Word and word are the same word to a reader, and separating them makes the top of the table useless.

Why common words are filtered, and when they should not be

In any English text the top ten words are the, of, and, to, a and their relatives. That table is true and tells you nothing. Filtering those out is what makes the rest visible, so a stop word list for the page language is applied by default, with lists for ten languages available and an off switch for when you want the raw distribution. The filter deliberately does not apply to pairs and triples: strip the common words there and end of the day becomes end day, a phrase that appears nowhere in the text. In phrases the noise is removed by the minimum count instead.

Pairs and triples find what single words hide

Single word counts tell you the subject. Two and three word phrases tell you the habits: the stock openings, the repeated qualifier, the phrase that appears in every second paragraph without the author noticing. This is the view worth using on your own writing before publishing, and on a competitor's page when you want to know what it is actually optimised for. Phrases are counted over consecutive words with the same normalisation as single words, so a phrase written with different capitalisation in two places is still counted once.

Ties are broken alphabetically on purpose

Dozens of terms usually share the same count, and the order they come out in depends on the order they were first seen, which means running the same text twice can produce two different tables. Here terms with equal counts are ordered alphabetically using the collator for your language, so the table is reproducible: the same text and the same settings always give the same rows in the same order, which is what makes two exports comparable.

Nothing leaves your browser

The text is read, counted and turned into a table inside the page you already have open. There is no upload, no server, no account and no storage; the stop word lists are small JSON files that ship with the page. Disconnect from the network and it still works, and closing the tab is all it takes to be rid of the text.

Frequently asked questions

What are stop words?

The common function words of a language (the, of, and in English; и, в, не in Russian) that dominate any frequency table without saying anything about the text. Lists for ten languages are built in, applied by default for the page language, and can be turned off.

Why are common words still there in pairs and triples?

Because removing them would invent phrases that are not in the text: end of the day would be counted as end day. For phrases the minimum count does the filtering instead.

Does it work for Chinese and Japanese?

Yes. Words are found with the browser's text segmenter rather than by splitting on spaces, which is the only way to get sensible results in languages that do not separate words with spaces.

Can I export the table?

Yes, as a CSV with three columns: term, count and share of the text as a percentage. It opens directly in Excel, Numbers or Google Sheets.

Why does my word appear twice?

It usually will not: case is folded and Unicode forms are normalised before counting. If it still happens, the two versions differ by an invisible character such as a soft hyphen or a zero-width space.

How large a text can it take?

Up to 5 MB or a million characters. Larger texts are counted up to that limit rather than freezing the tab; for anything bigger, split the file first.

Is anything uploaded?

No. All counting happens in your browser and no text is sent anywhere.

Related tools