← All tools

AGMAD TOOLS

Every word. Clearly counted.

Count words, Unicode code points and lines while you write. Arabic and English stay on your device, with the counting rules explained below.

Available · Version 1.0.0Free · No accountBrowser-local processing

Up to 100,000 UTF-16 code units. Counts update as you type.

Words
0
Characters · Unicode code points
0
Code points excluding whitespace
0
Lines · including empty lines
0
Estimated reading minutes · 200 words/min
0

What counts as a word?

A word is a sequence starting with a Unicode letter or number, followed by letters, combining marks or numbers. An apostrophe (straight or curly) or hyphen joins a word only when followed by another letter or number. “don’t” and “well-being” each count as one; “hello_world” counts as two. Numbers count as words; punctuation and emoji alone do not.

Arabic letters and diacritics are retained: “مَرْحَبًا بالعالم” counts as two words. Arabic prefixes attached to a word stay part of that word. This is a transparent token rule, not a linguistic segmenter for Chinese, Japanese or every writing system.

Characters, emoji and whitespace

The character figure counts Unicode code points, including spaces and line breaks. It does not count UTF-16 units or user-perceived grapheme clusters. “😀” counts as one code point; “e” plus a combining accent counts as two; a joined family emoji can contain several. Arabic diacritics count separately from their base letters. Leading and trailing spaces are included.

The second character figure excludes JavaScript whitespace, including spaces, tabs and line breaks. Windows CRLF and standalone CR line endings normalize to one newline before counting. A non-empty field has one line plus its newline count; a trailing newline creates an empty last line. An empty field has zero lines.

Reading time is an estimate

Reading minutes equal word count divided by 200, rounded up. Zero words returns zero minutes. This is a planning assumption, not a measured reading speed or video narration duration. Language, complexity and pauses can change the actual time.

Related tool

Change text case and naming styles

Release note

Version 1.0.0 extracts the legacy counter into an independent plugin. Corrected the ASCII word-boundary rule that could miss Arabic words; replaced trimmed UTF-16 length with explicit Unicode code-point counts; added whitespace-excluded and line counts. Empty text now shows zero reading minutes. The 200-word/minute assumption remains, with rounding up disclosed. Added bilingual controls, RTL/automatic text direction, clear action and an input limit.