Paste or type. Counts, reading time, and keyword density — live.
100% in your browser. Nothing uploaded.
This is a free word counter that updates as you type. It reports words, characters (with and without spaces), sentences, paragraphs, reading time, speaking time, and a keyword-density panel — all computed in your browser. Nothing leaves your device, which makes it safe for drafts you would not paste into a random web tool.
No. Every count — words, characters, sentences, paragraphs, reading time, keyword density — is computed in JavaScript running in this tab. There is no upload, no logging, no server-side parsing. Safe to paste essays, drafts, NDAs, or anything else you would not send to a random web tool.
By splitting your text on whitespace and dropping anything that is not a letter, digit, or apostrophe. Contractions like 'don\u2019t' and 'it\u2019s' count as one word. Em-dashes, hyphens in compound words, and Unicode punctuation are treated as separators, so 'state-of-the-art' counts as four words — matching the convention most word processors use.
Reading time uses 200 words per minute (the median for adult silent reading of general-interest prose). Speaking time uses 130 words per minute (a comfortable presentation pace). Both are estimates — a dense technical paper reads slower, conversational copy faster.
It lists the ten most frequent words in your text and the share of total words each one represents. Click any entry to highlight every occurrence in the editor. Toggle 'Hide stop words' to ignore filler like 'the', 'and', 'of' — useful for spotting genuine repetition in your writing.
Yes. Counting is debounced so typing stays smooth up to around fifty thousand words. Beyond that the page still works but the keyword density refresh feels slower; clear the text or open a new tab if you want to start fresh.
Set a target word count and the progress bar shows how close you are. Useful for essays, blog posts, dissertation chapters, novel-writing days. The goal is saved with the rest of your draft, so it survives a refresh.
Short text is saved into the URL hash so you can bookmark or share it; longer text is saved to your browser's localStorage, where it stays until you click Clear. Nothing is sent to a server.