Paste or type any text to see live counts for words, characters (with and without spaces), sentences, paragraphs, and lines. Estimated reading and speaking times use words-per-minute rates you can change. Counting prefers Intl.Segmenter for your language, with grapheme-aware character totals so emoji and combining marks count as one character each. Nothing you type is uploaded or stored.
When Intl.Segmenter is available, words use word segmentation for the active locale, sentences use sentence segmentation, and characters use grapheme clusters.
Text is normalized with Unicode NFC before counting so composed and decomposed accents match.
Zero-width format characters (such as ZWSP or ZWJ) are excluded from character totals so invisible marks do not inflate the count.
Characters without spaces skip whitespace graphemes. Paragraphs are non-empty blocks separated by blank lines. Lines follow newline breaks in the text box.
Reading and speaking times are ceil(words ÷ WPM × 60) seconds. Defaults are 200 WPM reading and 130 WPM speaking; both are editable between 60 and 400.
If Segmenter is missing, the tool falls back to Unicode-aware regular expressions for words and punctuation-based sentence splits, and code-point iteration for characters.
words=Segmenter(word); chars=graphemes-ZW; time=ceil(words/WPM*60)s
Sample: "Hello world. This is a short sample for the word counter tool."
Expect about 12 words, 2 sentences, 1 paragraph, and 1 line, with character totals that include spaces but exclude zero-width marks.
At 200 WPM reading, twelve words need only a few seconds. Lower the speaking WPM to see a longer spoken estimate.
Turn on the SMS GSM 160 preset to see how many characters remain under a documented single-segment limit.
Character totals use grapheme clusters from Intl.Segmenter when available, so a single emoji or accented letter counts as one user-perceived character.
Only limits with a documented source and verification date ship as presets. Today that means SMS segments from 3GPP TS 23.040 (160 GSM and 70 UCS-2). You can still type any custom limit.
No. Repeated words are ranked by raw frequency after case folding for the active locale.
Large text is debounced before analysis. Counting stays on the main thread but is paced so everyday pastes stay usable; a 200,000-character case is covered in automated tests.
No. All counting runs locally in your browser and is not stored by Numbrixiya.
The input uses dir=auto, counting uses your locale's Segmenter rules when available, and NFC normalization keeps combining marks consistent. Results still depend on browser Unicode support.
This tool provides estimates only and is not financial, medical, or legal advice.
Type or paste here. Direction follows the text (dir=auto).
Method: Intl.Segmenter for words, sentences, and graphemes in your locale (NFC normalized; zero-width characters excluded from character totals).
Default 200 words per minute. Allowed range 60 to 400.
Default 130 words per minute. Allowed range 60 to 400.
Optional. Presets are documented SMS segment sizes only.
Words
Total word-like segments in the text.
Reading time: 0 min 4 s at 200 WPM
Speaking time: 0 min 6 s at 130 WPM
No repeated words yet. Add more text to see frequency ranks.