Count characters (with and without spaces), words, sentences, lines, and UTF-8 bytes in real time — handy for tweets, bios, essays, and meta tags.
Characters are counted as code points. An emoji or flag built from several code points looks like one glyph but can count as two or more. Services with their own rules — SMS, some social platforms — will therefore report slightly different totals.
This tool counts Unicode code points, which usually matches what a person calls one character.
Other standards exist. UTF-16 code units (JavaScript's length) count most emoji as two, and bytes count a CJK character as three in UTF-8.
That is why text passing a "1000 character" check here can still be rejected by a system using a different basis.
Emoji and flags diverge most. 👨👩👧👦 looks like one character and is seven code points — four people plus three joiners.
Most applicant tracking systems count including spaces.
For a 1000-character limit, finish around 950. Pasting can introduce line breaks, and a system counting differently can push you over.
Text written in a word processor often carries invisible characters — smart quotes, non-breaking spaces. If your count differs from what you expected, suspect those first.
Google truncates the meta description on pixel width, not character count. Roughly 155–160 Latin characters.
The title tag gets around 60 Latin characters before the ellipsis.
X/Twitter allows 280 characters, but URLs count as a fixed 23 regardless of actual length.
SMS fits 160 characters in GSM-7 encoding and only 70 in UCS-2, which any non-Latin character triggers. Exceeding it splits the message into multiple billable parts.
Silent reading runs at 200–250 words per minute for adults.
Reading aloud is much slower — 130–150 words per minute. Use that figure when sizing a speech or a voiceover script.
A three-minute talk is therefore about 400–450 words, not 700.
Actual speed varies with material difficulty and individual differences. These figures are for judging length, not for precision.
Space-delimited languages like English count reliably by whitespace.
Chinese, Japanese and Korean do not delimit words with spaces, so whitespace word counts become meaningless — which is why those languages use character counts instead.
This is also why translation quotes are per-word for English and per-character for CJK.
Database columns — whether VARCHAR(100) means 100 characters or 100 bytes depends on configuration. In UTF-8 a CJK character takes three bytes, so 100 bytes holds only 33 of them.
Filenames and URLs carry byte limits on many systems.
This tool reports UTF-8 bytes: one for ASCII, two to three for most accented and CJK characters, four or more for emoji.
Counting happens entirely in the browser, so drafts, contracts and unpublished writing never leave your device.
Character counters are common enough that most online versions post your input to a server. For anything you have not published yet, that difference is the point.
It shows both the with-spaces and without-spaces character counts.
By UTF-8 byte length, so multibyte characters like emoji or CJK letters count as several bytes each.
Sentences are counted by terminal punctuation like periods, question marks, and exclamation marks; lines are counted by line breaks — handy for checking limits on posts, bios, or meta tags.
Text that is mostly Korean, Chinese or Japanese is counted at 400 characters per minute silently and 300 aloud; Latin-script text at 220 and 140 words per minute. Individual speeds vary a lot, so treat it as a rough figure.
Spaces occupy a cell too, so the count with spaces is divided by the cells per page — 200 characters for a Korean sheet (20×10), 400 for a Japanese one (20×20).
What this tool bases its numbers on, and how far those numbers go.
Characters are counted as Unicode code points, not as UTF-16 units, so an astral character counts once. Bytes are the UTF-8 encoded length. Words are runs separated by whitespace. Reading and speaking time divide the count by a fixed rate, and manuscript pages divide by a fixed characters-per-page figure.The family emoji 👨👩👧 looks like one glyph but is three people joined by two zero-width joiners: 5 code points and 18 bytes in UTF-8.