About the Word Counter
Type or paste your text and the word counter shows how many words and characters it has while you write, plus sentences, paragraphs and reading time. Words are found with the Unicode rules, so Chinese, Japanese and Thai, which don't put spaces between words, get a real count instead of 1.
Students use it to stay under an essay limit, translators to quote a job, and marketers to fit a caption or an ad. Developers check a meta description, an SMS template or the byte size of a string before it goes into a database. The counting happens in your browser, so a client draft or an unpublished chapter stays on your computer.
- Paste your text into the Enter text box. No text at hand? Load sample fills the box with a short example.
- Read the tiles under the box. Characters counts everything, including spaces and line breaks, and Characters without spaces leaves them out. The tiles refresh about 0.3 seconds after your last keystroke.
- Check Character limits. Each badge compares your character count with one limit: Title tag 60, Meta description 155, SMS 160 and X (Twitter) post 280. Green means the text fits. Amber tells you how many characters to cut.
- Scroll to Top keywords for the 10 words you repeat most, each with a count and its share of all words. Words under 3 letters and common English words like
theandwitharen't listed. - Clear empties the box and sets every count back to 0.
InputA well-known e-mail address costs $9.99 in 2026.OutputWords: 10
Characters: 48
Characters without spaces: 41
Sentences: 1Hyphens split words here, so well-known and e-mail are 2 words each. Microsoft Word and wc -w split on spaces only and report 8.
InputI ❤️ 👨👩👧 caféOutputWords: 2
Characters: 10
Characters without spaces: 7
Bytes (UTF-8): 33You see 10 characters, and that's what the counter reports. Code sees more: 15 code points, 18 UTF-16 units (JavaScript .length) and 33 bytes. Emoji aren't words, so only I and café are counted.
Input東京は日本の首都です。OutputWords: 6
Characters: 11
Bytes (UTF-8): 33The words found are 東京, は, 日本, の, 首都 and です. Chinese 北京是中国的首都。 gives 5 words, and Thai กรุงเทพมหานครเป็นเมืองหลวงของประเทศไทย gives 6. A counter that only looks for spaces says 1 for each.
What counts as a word, a character and a sentence
The counter uses Intl.Segmenter, your browser's version of the Unicode text segmentation rules (Unicode Standard Annex #29). Tools that follow other rules give other numbers:
- A hyphen splits a word.
well-knownis 2 words here and 1 in Microsoft Word. - Numbers count as words. A price like
9.99is one word, and so is a domain liketoolo.dev. A date written2026-10-07is three, because the hyphens split it. - In Chinese, Japanese and Thai, the browser finds word boundaries with a dictionary. Korean does put spaces between words, so
서울은 한국의 수도입니다.is 3 words, each with its grammar particle attached. - A character is what you see on screen (a grapheme cluster). A flag, a family emoji and an
ewith a combining accent each count as 1. - A sentence ends at
.,!or?. Decimal points and domains don't end one, but abbreviations can:Dr. Smith arrived.counts as 2 sentences. - Paragraphs are separated by blank lines. Lines counts every line, blank ones too.
Character limits around the web
The badges cover search results, SMS and X. Other platforms have their own limits, and some count in unexpected ways:
- Title tag and meta description: Google has no fixed character limit. It cuts titles at roughly 600 pixels on desktop, about 50 to 60 characters, and usually shortens descriptions around 150 to 160. Check both with the SEO Content Checker, and fix headline capitals with the Title Case Converter.
- SMS: 160 characters per message in the GSM-7 alphabet. A single emoji, or one letter from Arabic, Chinese, Hindi or another script outside GSM-7, switches the whole message to UCS-2, which fits 70. Longer texts go out in parts of 153 or 67 characters.
- X: 280 characters, but weighted. Every link counts as 23, and each emoji or Chinese, Japanese or Korean character counts as 2, so read the X badge as an estimate.
- Bluesky allows 300 characters per post and Threads allows 500. Instagram captions stop at 2,200 and LinkedIn posts at 3,000. YouTube titles can be 100 characters long and descriptions 5,000.
- Bytes (UTF-8) is the number for storage and protocol limits.
atakes 1 byte,é2,€and most Chinese characters 3, and an emoji 4 or more. An OracleVARCHAR2(100)column holds 100 bytes by default, not 100 characters.
Pages, reading time and speaking time
Reading time divides the word count by 238, the average silent reading speed for English non-fiction in Marc Brysbaert's 2019 review of reading rate studies. Speaking time uses 150 words a minute, a relaxed pace for a talk or a voice-over. Both round up to the next minute.
Page counts assume a 12-point font and 1-inch (2.5 cm) margins on Letter or A4 paper. Headings, lists and short paragraphs change them a lot, so use them as a rough guide:
- 500 words: 1 page single-spaced, 2 double-spaced. 3 min to read, 4 min to say out loud.
- 1,000 words: 2 pages single-spaced, 4 double-spaced. 5 min reading, 7 min speaking.
- 1,500 words: 3 pages single-spaced, 6 double-spaced. 7 min reading, 10 min speaking.
- 5,000 words: 10 pages single-spaced, 20 double-spaced. 22 min reading, 34 min speaking.
Using Top keywords
Top keywords is a repetition check. If one word makes up 4% of a 300-word text, you've used it 12 times, and a reader will notice. Search engines don't reward a target keyword density, so use the list to find words you lean on, not to hit a number.
It skips common English words only, so in German, French or Spanish text, words like und, les or para may top the list.
Count words and characters in code
Splitting on whitespace is fine for English prose. Use Intl.Segmenter when the text could be in any language or contain emoji.
const words = [...new Intl.Segmenter(undefined, { granularity: "word" }).segment(text)]
.filter((s) => s.isWordLike).length;
const characters = [...new Intl.Segmenter().segment(text)].length;
// text.length counts UTF-16 units: "👨👩👧".length is 8const words = text.trim().split(/\s+/).filter(Boolean).length;words = len(text.split())
code_points = len(text) # "👨👩👧" is 5
utf8_bytes = len(text.encode("utf-8"))wc -w notes.txt # words, split on whitespace
wc -m notes.txt # characters (needs a UTF-8 locale)
wc -c notes.txt # bytesWords: =IF(LEN(TRIM(A1))=0, 0, LEN(TRIM(A1)) - LEN(SUBSTITUTE(TRIM(A1), " ", "")) + 1)
Characters: =LEN(A1)Does the character count include spaces?
Yes. Characters includes every space, tab and line break. If a form or a translation quote asks for characters without spaces, read the Characters without spaces tile next to it.
How many pages is 1,000 words?
About 2 pages single-spaced or 4 pages double-spaced, with a 12-point font and 1-inch (2.5 cm) margins. Big headings, lists and short paragraphs push the page count up.
How do I see the word count in Google Docs or Microsoft Word?
In Google Docs, open Tools > Word count or press Ctrl+Shift+C (Cmd+Shift+C on a Mac). Word shows the count in the status bar at the bottom of the window, and Review > Word Count opens the details.
Why is my word count different in Word or Google Docs?
Counters treat hyphens, numbers, links and emoji differently. Word splits on spaces, so well-known is 1 word there and 2 here. On long English text the gap is usually small. On Japanese or Chinese it can be huge, because many counters only look for spaces.
How do you count words in Chinese, Japanese or Thai?
These languages don't put spaces between words, so the counter uses the dictionary-based word breaking built into your browser: 東京は日本の首都です。 is 6 words. Teachers and publishers often set limits in characters for these languages, so check which number yours uses.
How is reading time calculated?
The word count is divided by 238 words per minute and rounded up, so a 1,500-word article shows 7 min. Speaking time uses 150 words per minute and shows 10 min for the same text.