Live text analysis · Explicit counting rules · Optional device drafts
Word Counter – Words, Characters & Reading Time
Check a draft’s length, explore repeated words and estimate its reading time. Compare counting modes, prepare a separate text transformation, and keep your original within reach.
Your text workshop
01 · Counting preferences
Whitespace mode keeps punctuation inside tokens. Unicode mode uses your browser’s language segmentation and can produce different totals.
Goal progress follows the selected counting mode. Unique-token analysis normalizes case and edge punctuation.
02 · Prepare separate output
Input stays untouched. Duplicate removal flattens spacing and line breaks. Case conversion can change acronyms, names or locale-specific spelling; review the output.
03 · Time estimates & draft
Draft saving is off. Text stays in this open page unless you copy or download it.
Type or load an example to begin. Changes update the analysis after a short pause.
Transformed output
Run a transformation to create a separate output.
0 / 600,000 UTF-16 output units. Replacement must fit the input limit.
Input statistics
Waiting for text…
- Words / tokens
- 0
- Characters · graphemes when supported
- 0
- Characters after whitespace removal
- 0
- Estimated sentences
- 0
- Blank-line paragraphs
- 0
- Non-empty lines
- 0
- Unique normalized tokens
- 0
- Estimated reading time
- 0
- Estimated speaking time
- 0
- UTF-16 units
- 0
- Unicode code points
- 0
- Most repeated normalized token
- 0
Unique tokens · alphabetical preview
Up to 20 normalized tokens. Total unique count is shown above.
Repeated tokens · frequency preview
Up to 10 of 0 repeated token types.
This tool counts and transforms literal editor text locally. It does not send your text to a processing service. Device draft saving is optional; theme preference is saved separately. Browser spellcheck, extensions and other page scripts have their own behavior. Export important text before clearing browser data.
Know what each count measures
The counting rule is part of the result.
Words or tokens
Whitespace mode counts non-empty whitespace tokens. Unicode mode counts browser word-like segments. Choose a rule before comparing totals.
Characters
Grapheme clusters reflect many visible combined characters. UTF-16 units and code points are different measures and appear separately.
Sentences
Sentence counts are estimates that include trailing text. Abbreviations, punctuation and browser language data can affect them.
Paragraphs and lines
Blank lines separate paragraphs. A single line break creates a new line within the same paragraph. Empty lines are not counted as non-empty lines.
Unique and repeated tokens
NFC normalization, lowercase and edge-punctuation removal feed the frequency map. Internal punctuation remains in whitespace mode.
Time estimates
Divide the selected word/token total by an assumed words-per-minute rate. Change those assumptions to suit your own task.
Small examples that explain the totals
These examples use whitespace mode unless stated otherwise.
| Input | Expected interpretation | Why it matters |
|---|---|---|
| one,two | 1 token | Unicode mode can split punctuation boundaries. |
| well-known | 1 token | Hyphens stay inside a whitespace token. |
| 😀 | 1 token; 2 UTF-16 units | Grapheme and code-point totals are separate. |
| ગુજરાતી શબ્દો | 2 tokens | Unique analysis supports Unicode letters and marks. |
| First line + single line break + second line | 1 paragraph; 2 non-empty lines | A blank line is needed for another paragraph. |
Use the count for a specific decision
A total becomes useful when its rule matches the task.
A draft with a word limit
Set a goal and use a consistent word mode. Check the destination platform’s counting rule before submitting.
A speech or presentation
Adjust speaking pace to a rehearsal-based assumption. The result does not include pauses, questions or audience response.
A repetitive paragraph
Review the normalized repeated-token preview. Frequency is a clue for revision, not a judgment of writing quality.
A text cleanup
Create output first. Review case changes and flattened spacing before choosing Replace Input.
What the counts can and cannot tell you
No grammar, originality or accuracy score is inferred from a word count.
Included in this counter
- Local text analysis and optional browser Unicode segmentation.
- Separate transformations with source-state labels and bounded Undo/Redo.
- Optional device drafts and explicit UTF-8 text exports.
Outside its scope
- Matching every word processor or platform’s count exactly.
- Parsing PDF/Word structure, hidden content or rendered Markdown.
- Verifying grammar, originality, readability quality or your actual reading speed.
Questions about counting, revisions and saved drafts
Rules and limits specific to this tool.
How does whitespace word counting work?
Whitespace mode counts each non-empty token separated by whitespace. Punctuation stays inside a token: one,two and well-known each count as one. Numbers, URLs, hashtags, emoji and punctuation-only tokens can also count as tokens. This mode does not split an unspaced Chinese or Thai passage into individual words.
What does Unicode word mode do?
Where Intl.Segmenter is available, Unicode mode counts the browser’s word-like segments. It can split punctuation-separated text and some unspaced scripts differently from whitespace mode. Segmentation can vary by browser and language data; it is not guaranteed to match a word processor. Whitespace mode remains available.
How are characters and emoji counted?
The character total uses grapheme clusters when supported, so many emoji sequences and combined characters count as one cluster. A separate total removes whitespace before counting. UTF-16 units and Unicode code points are shown separately. Browsers without grapheme segmentation use a clearly labelled code-point fallback. These metrics are different measures, not interchangeable character limits.
How are sentences, paragraphs and lines counted?
Sentences are estimates from browser sentence segmentation, or a punctuation-based fallback that includes trailing text. Segments need letters or numbers to count. Paragraphs are non-empty blocks separated by blank lines; non-empty lines are counted separately. CRLF and CR line endings are normalized for paragraph and line analysis.
How do unique and repeated tokens work?
Analysis follows the chosen word mode, normalizes tokens to NFC and lowercase, and strips leading and trailing characters other than Unicode letters, marks, numbers or underscores. Internal punctuation remains in whitespace mode. Empty normalized tokens are excluded. Up to 20 unique tokens and 10 repeated tokens are shown; full totals are separate. No accent folding or language-specific case equivalence is promised.
Does removing duplicates change my input?
No. Every transformation creates separate output. Duplicate removal compares whitespace tokens and rejoins survivors with single spaces, so layout is flattened. Exact comparison is the default; optional normalized comparison follows the unique-token rules. Replace Input is available only while the output matches the current source revision and fits the input limit.
How are reading and speaking times estimated?
Time is the current word or token count divided by your chosen words-per-minute rate, rounded up to a whole second. Defaults are 225 wpm for reading and 150 wpm for speaking. These are assumptions you can edit, not measurements of your personal speed.
Where is my text saved?
Counting, transformations and file decoding run in the browser. This tool does not send editor text to a processing service. Draft saving is off by default. Enable device saving to store a draft in this browser; turning it off or deleting the saved draft removes its stored copies. Theme preference is saved separately. Other scripts on the same origin may access browser storage. Export anything important before clearing browser data.
What input and file limits apply?
Input supports up to 200,000 UTF-16 units. Files must be UTF-8 .txt or .md, no larger than 1 MB, and their decoded text must fit the input limit. Unsupported or oversized imports are rejected without replacing existing text. Direct oversized typing or pasting remains visible but pauses analysis and draft saving until corrected. No input is silently truncated. Output supports up to 600,000 units because case conversion can expand text.
How does Undo work with restored drafts?
A restored device draft becomes the initial history state. Pending edits are committed before Undo, allowing Redo to restore them. History keeps up to 30 states within a two-million-unit text budget. Programmatic replacements, imports and clipboard paste also preserve the previous valid input when it remains in history.
Why can my count differ from another editor?
Tools use different tokenization, punctuation, Unicode and document-format rules. This page analyzes literal text in its editor, including pasted markup or Markdown syntax. It does not parse Word/PDF documents, hidden text, footnotes or document structure. Use the counting rules shown here when comparing results.
What happens if I change input after making output?
The earlier output stays available for copying or downloading and is marked as belonging to an earlier input revision. Replace Input is disabled until you create fresh output. Reports also label earlier output so it is not presented as a transformation of the current input.