Word Counter
Count words, characters, sentences, paragraphs in text. Calculate reading time, keyword density. Free online word count tool for writers
Word count looks like a one-line function until you ask "is 23.5 one word, two words, or 23.5 words?" and "does 北京 count as one word or two characters or both?". This counter follows the same conventions as Microsoft Word and Google Docs (Unicode word boundaries per UAX #29) so the number matches what your editor shows. It also gives you reading time, character counts with and without spaces, keyword density, and the longest sentence — useful for SEO meta-description sizing and for catching prose that runs too long.
How "word" is defined here
A word is a maximal run of Unicode characters in the Letter, Mark, or Number general category. Hyphens are word-internal: "well-known" counts as one word. Apostrophes are word-internal: "don't" is one word. URLs and email addresses count as one word each (they have no whitespace by definition). Numbers with internal punctuation — 23.5, 1,000,000, 2024-12-31 — count as one word.
CJK languages (Chinese, Japanese, Korean) and Thai do not use spaces between words. UAX #29 boundary rules treat each Han/Hiragana/Katakana/Hangul character as its own word — so 北京 counts as 2 words, not 1. If you write bilingual content, the count will be higher than a Western-only document of equivalent reading length.
Working example: an SEO meta description
Input
Build cron expressions visually with schedule preview. Validate crontab syntax for Linux, Kubernetes, AWS. Free online cron job generator.
Output
Words: 19 Characters (incl. spaces): 142 Characters (excl. spaces): 124 Sentences: 3 Reading time: ~5 seconds Meta description sweet spot: 150–160 characters. This one is 142 — short enough for Google, but you have 18 characters of headroom for a stronger CTA.
Google truncates SERP meta descriptions at roughly 920 pixels wide, which is approximately 160 characters of mixed-width Latin. The cap is in pixels, not characters — wide letters like W and M push the limit lower. Test on actual SERP snippets before committing.
Counts and what they are good for
- Words — the unit most writers and editors think in. Standard manuscript page = 250 words; standard short blog post = 600 words; long-form article = 1500+ words.
- Characters with spaces — Twitter/X uses this (with their own URL-shortener arithmetic). 280 characters is the visible cap.
- Characters without spaces — what professional translators usually charge by. Conversion rate varies by language pair.
- Sentences — for readability. A typical sentence is 15–20 words. Anything over 30 in English is usually a candidate to split.
- Reading time — based on 200 wpm (lowest end of comfortable reading) up to 250 wpm (skimming). Pick a target for your audience.
- Keyword density — top 5 words by frequency, with stopwords filtered. Old-school SEO obsessed over keeping target keyword density at 1–2%; modern SEO does not care, but the report still surfaces accidental repetition.
When to reach for this tool
- You are writing a meta description and need to confirm it fits the SERP snippet without truncation.
- You are submitting an article to a publication with a hard word limit and want to know if you are over or under before the editor tells you.
- You are writing a tweet thread and need to balance characters across tweets so each one stands alone.
- You are reviewing prose you wrote yesterday and want to spot run-on sentences that need splitting.
What this tool will not do
- It will not assess writing quality. A 600-word post with 0 typos and clear structure is not the same as a 600-word post with passive voice and run-ons. Use a style checker (LanguageTool, Hemingway) on top.
- It will not segment CJK words semantically. 北京大学 counts as 4 words here, not 1 (proper noun) or 2 (北京 + 大学). Real word segmentation needs a tokenizer (jieba, MeCab) with a dictionary.
- It will not extract entities or topics. Keyword density is frequency, not relevance. "the" being the top word doesn't tell you what the article is about.
Text is analyzed entirely in your browser. Drafts and confidential documents stay local.
Frequently asked questions
Does my count match Microsoft Word's count?
For Latin-script text, almost always yes. For mixed CJK/Latin, Word's count depends on the language setting in Tools → Word Count Options. Google Docs follows the UAX #29 convention used here. If you need to match a specific platform exactly, count there.
What counts as a sentence?
A run of words ending with ., !, or ? followed by a space or end-of-text. The detection is naive — "Dr. Smith said hi." is two sentences by this rule, one in human terms. For long-form analysis, accept the sentence count as approximate.
Why is my character count different in this tool vs Word?
Word counts line breaks as one character in some configurations and zero in others. Some tools also count non-breaking spaces as letters. Toggle "include line breaks" and "include all whitespace" to align with the tool you are comparing to.
How many words per minute do people actually read?
Comfortable adult reading is 200–250 wpm for narrative prose, 150–200 for technical content, 600+ for skimming. Average reading time estimates use 200–250; for technical blogs assume the lower end.
Should I write to a specific word count for SEO?
No. There is no magic word count. Google ranks based on intent match, not length. Long-form articles tend to rank well because comprehensive articles tend to satisfy intent, not because length itself is a ranking signal. Write the right length for the question, not for a target.
How do I count tokens for an LLM context window?
Word count ≠ token count. For OpenAI/Anthropic models, 1 word ≈ 1.3 tokens for English prose, much higher for code or non-English text. Use a dedicated tokenizer (tiktoken for OpenAI, anthropic-tokenizer for Claude) for accurate context-window sizing.
Related tools
Clean up text by removing duplicate lines, trimming whitespace, removing empty lines, normalizing spaces. Multiple operations in one pass. Free online text sanitizer
Generate Lorem Ipsum placeholder text for web design and mockups. Create paragraphs, sentences, words. Free dummy text generator online
Sort, deduplicate, reverse, shuffle, filter, and number lists. Multiple list operations in one place. Free online list manipulation tool
Write and preview Markdown with live rendering. GitHub Flavored Markdown support. Free online Markdown editor with syntax highlighting
Learn how AI language models work. Visualize tokenization, simulate temperature sampling, count tokens, build prompts. Interactive LLM tutorial and prompt engineering helper
Convert text to UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case. Free online text case changer and transformer
Published · Updated · E-Utils editorial team