Word Counter
ToolsOpen
How the Word Counter Works
Live counts based on exactly what’s in the editor right now. Everything runs locally in your browser, with clear rules you can rely on for essays, forms, captions, scripts, and anything that has a limit.
What gets counted
This page counts exactly what you see in the editor. If you type, paste, delete, undo, redo, upload a file, or convert case, the totals update immediately so you always know what you are about to submit, copy, or export.
Different word counters can disagree because they use different rules. Some try to “understand” punctuation or treat certain symbols as separators, while others count tokens more literally. This tool favors predictable results that stay consistent across devices. That consistency is usually what you want when you are trying to meet a limit, not argue with a counter.
- Word countLeading and trailing whitespace is ignored, then the text is split on whitespace (spaces, tabs, and line breaks). Multiple separators behave like one.
- Character countCounts every character in the editor, including punctuation, spaces, and line breaks.
- Chars (no spaces)Counts characters after removing all whitespace characters (spaces, tabs, and line breaks).
- SpacesCounts literal space characters only (the regular spacebar character).
- Lines / sentences / paragraphsLines are split by line breaks. Sentences and paragraphs are practical estimates, not full grammar parsing.
If a platform enforces a limit, the safest approach is to measure the exact text you will paste or submit. This tool counts the editor content directly, so what you see is what is being measured. If you copy the editor text, you are copying the same content that was counted.
Word counting rules
Words are counted by treating whitespace as separators. That includes spaces, tabs, and line breaks. The tool ignores leading and trailing whitespace so accidental blank space does not create fake words.
This rule is intentionally simple because it stays consistent. Messy formatting still produces stable results, even when text is pasted from PDFs, emails, or chat apps that insert odd spacing and line breaks.
Hyphenated terms like “real-time” usually count as one word because there is no whitespace inside the token. Punctuation attached to a word is counted as part of that token (for example, “word,” and “word” count as one word each).
Numbers and codes count as words when separated by whitespace (for example, “A12 B34” counts as two words). Emojis and symbols count as words only when they appear as standalone tokens separated by whitespace.
If you must match a specific standard (school rubric, publishing guideline, or a platform that counts differently), paste into the destination too. Some systems normalize whitespace or line breaks during paste, which can change counts.
Character counts, spaces, and lines
Character count includes every character in the editor, including spaces and line breaks. This is the stat that matters for strict character limits on forms, job applications, social platforms, and fields that enforce a maximum length.
“Chars (no spaces)” removes all whitespace before counting, which helps when you want the content size without formatting. “Spaces” counts only normal spaces, because tabs and line breaks are sometimes treated differently than a standard space.
Lines are counted by splitting on line breaks. If the editor is empty, many editors still show one blank line, so line counts often start at 1 for an empty document. Paragraphs are counted as blocks of text separated by one or more blank lines. Sentences are estimated using sentence-ending punctuation like ., ! and ?. If you write without punctuation, treat sentence counts as a rough estimate.
Reading time and speaking time
Reading time and speaking time are quick planning estimates based on word count. They help you sanity-check how long a caption, script, or speech might take without needing extra analysis.
These numbers are estimates, not guarantees. People read and speak at different speeds, and formatting can affect pacing. Use the estimates as a starting point, then rehearse if timing matters.
- Short scripts and narration where you need a fast estimate.
- Presentations where you want to stay inside a time box.
- Captions and descriptions where length affects readability.
Undo, redo, and history
Undo and redo let you step back through recent edits so you can experiment without losing work. If you undo and then type new text, redo steps are replaced, which matches how most editors work.
History is kept for the current session only. If you refresh or leave the page, the history resets. This keeps performance and memory usage predictable.
Case tools and selection behavior
Case tools help you reformat text instantly. If you highlight a portion of the editor, the change applies only to the selected text. If nothing is selected, the change applies to the entire editor.
This makes it easy to clean up headings, fix inconsistent capitalization, or format only one section of a longer document without touching everything else.
- Convert headings to Title Case or Capitalized Case.
- Normalize pasted lists using lowercase or Sentence case.
- Create stylized text for posts using alternating or inverse case.
Uploading files for counting
You can load text from files instead of copying and pasting. Plain-text and text-like formats such as TXT, MD, CSV, JSON, HTML, and XML can be read directly in your browser and inserted into the editor for counting.
PDF and DOCX extraction can also work fully in-browser, but results depend on how the document was created. Layout-heavy PDFs can produce odd spacing or line breaks after extraction. Scanned PDFs often contain images rather than real text unless the file already includes OCR text.
Extracts page text locally. Layout-heavy PDFs can produce spacing artifacts. Scanned PDFs may not contain real text.
Extracts raw text locally. Formatting is simplified so you can edit and recount easily.
PDF and DOCX support require optional dependencies in your app: pdfjs-dist and mammoth. For PDF export, jspdf is optional.
Downloading and exporting
TXT export downloads exactly what is currently in the editor. This is useful after cleaning formatting, converting case, or extracting text from a file, so you can save a clean version for later.
PDF export can run in-browser if PDF export support is enabled. If it is not enabled, you can still use your browser’s print dialog, where most browsers allow “Save as PDF.” Either way, the exported result reflects the exact editor content at the moment you export.
If you extracted text from a PDF, skim the output before exporting. Layout-heavy documents can insert extra spaces or newlines. A quick cleanup pass can prevent surprises when you paste into another system.
Your text stays on your device
Counts and conversions are computed directly from what’s in the editor. File processing runs locally in your browser when supported. Nothing is uploaded by this page, and session history stays in memory only.
