Word limits, character limits, and why the two differ
Cover letters, admissions essays, abstracts and blog briefs are usually given a word limit ("650 words or fewer"), while social platforms, meta descriptions, SMS and many web forms use a character limit. The two numbers are linked only loosely: English words vary in length, so the same 500 words can differ by several hundred characters depending on the vocabulary. This counter shows both at once, so you can check the figure the submission form actually asks for instead of converting in your head. If a form displays its own live counter, treat that number as the final authority, because each system has its own rules for spaces, line breaks and symbols.
Use the limit box above for a running tally. Pick words, characters with spaces, or characters without spaces, type your limit, and the status line tells you how many remain or how far you are over. It is much easier to cut a sentence while the number is falling in front of you than to trim blind and re-check at the end.
What counts as one character?
"Character" sounds simple, yet software has at least four common ways to count it. A grapheme cluster is what a reader perceives as one visible symbol. A code point is one Unicode number. The JavaScriptString.length counts UTF-16 code units, 16-bit chunks that some symbols need two of. And the storage size is counted in bytes, which in UTF-8 range from one to four per code point. For plain English text all four agree, which is why most people never notice the difference. Emoji, accented letters written with combining marks, and many non-Latin scripts are where they drift apart.
The "with spaces" and "without spaces" figures on this page count grapheme clusters through the browser'sIntl.Segmenter, which matches what you see on screen. If your browser lacks that API, the page falls back to code points. The table below was computed with the same logic while this page was built, so every figure is real rather than typed in by hand.
| Text | Visible characters (grapheme) | Code points | JS length (UTF-16) | UTF-8 bytes |
|---|---|---|---|---|
| Hello | 5 | 5 | 5 | 5 |
| é (one precomposed character) | 1 | 1 | 1 | 2 |
| é (e + combining accent) | 1 | 2 | 2 | 3 |
| Thumbs-up emoji | 1 | 1 | 2 | 4 |
| US flag (two regional indicators) | 1 | 2 | 4 | 8 |
| Family emoji (joined with ZWJ) | 1 | 5 | 8 | 18 |
| Japanese 日本語 | 3 | 3 | 3 | 9 |
| Rare kanji 𠮷 | 1 | 1 | 2 | 4 |
Read the table row by row. The accented "é" can be stored as one code point or as an "e" plus a combining accent; both look identical, so the grapheme count is 1 either way while the code point count differs. A single thumbs-up emoji is one visible character but occupies two UTF-16 units, which is why a form built on lengthaccepts only 50 emoji when you expected 100. The family emoji is three person symbols glued together with invisible zero-width joiners: one character on screen, five code points, eight UTF-16 units and eighteen UTF-8 bytes. If the "Some characters are counted differently" chip appears under the text box, your text contains such a symbol, and a stricter system may report a larger number than this page's headline figure.
How words are counted
The word count here splits the text on runs of whitespace, the same rule used by most word processors and bywc -w on the command line. That is fast, predictable and easy to reason about, and it is what an editor means when it says "650 words". It does not, however, understand grammar. Hyphenated compounds, em dashes written without spaces, URLs and email addresses are each treated as whatever the whitespace says. The table shows how a stricter, dictionary-style segmenter (the browser's word-level Intl.Segmenter) can disagree with a whitespace split for the same phrases.
| Phrase | Whitespace split | Word segmenter |
|---|---|---|
| A well-known rule-of-thumb | 3 | 6 |
| Don’t stop | 2 | 2 |
| Wait—what happened? | 2 | 3 |
| It costs $3.50 today | 4 | 4 |
| e-mail me at a.b@example.com | 4 | 6 |
| New York-based | 2 | 3 |
Neither answer is wrong; they follow different definitions. "Wait—what happened?" has no space around the dash, so a whitespace split sees two chunks while a linguistic segmenter sees three words. If a contest says "up to 500 words" without further detail, assume the whitespace convention used by Microsoft Word and Google Docs, and keep a small margin so that a different tool cannot push you over. Numbers such as "$3.50" count as one word under both methods here, but some style guides count figures differently, so check the submission guidelines for edge cases.
Sentences, lines and paragraphs
A sentence is estimated by splitting at a period, question mark, exclamation mark or ellipsis that is followed by whitespace or the end of the text. Requiring that trailing space keeps decimals such as "2.5" and addresses such as "example.com" from being counted as sentence ends. Abbreviations remain a weak spot: "Dr. Smith arrived at 3.30 p.m. He sat down." contains two real sentences, but the abbreviation periods make a simple rule report three. Use the sentence figure to gauge rhythm and density, not for contractual counting. Lines are separated by line breaks, and paragraphs are the non-empty lines, so a blank line between two blocks of text does not create an extra paragraph.
Two worked examples
Example 1: an emoji-laden caption. The caption "Great day at the beach 👍" has 24 visible characters: the 22 letters and spaces in the phrase, one more space, and the emoji itself. JavaScriptlength reports 25 because the thumbs-up takes two UTF-16 units. On a platform limited to 280 characters the difference is trivial, but for a form with a strict 24-character limit the same caption passes visually and still fails validation. When the limit is tight, remove the emoji or test the final text in the real form.
Example 2: trimming a 650-word essay. Suppose your draft runs to 702 words and the limit is 650. Enter 650 in the limit box with "Words" selected and the status line reads that you are 52 over. Removing filler such as "in order to" (to "to"), "due to the fact that" (to "because") and "it is important to note that" typically saves two to six words each time. A dozen or so such edits cover the whole gap, and you can watch the remaining figure fall as you work. Stop a few words under the limit, because some forms count hyphenated compounds or numerals differently from the way you did.
Common mistakes
The first mistake is checking the count in one tool and submitting through another. Word processors count footnotes, text boxes and headers differently; some include the bibliography, others do not. Always paste the final text into this counter or into the real form to see what the system will see. The second is forgetting that copied text carries hidden characters: non-breaking spaces, zero-width spaces and line breaks added by PDF extraction can change both words and characters. If a figure looks off by a handful, retype a suspicious line and compare. The third mistake is treating the social media chips as official. Platform rules change, and rules such as link shortening, hashtag handling or heavier weighting for some scripts are applied on top of the visible character total, so the 280 and 2,200 chips are rough references only; the app's own counter is the one that decides.
What this counter cannot do
It does not check grammar, readability, plagiarism or keyword density, and it does not know the rules of your publisher. Legal filings, patent applications and academic submissions often define the counted material precisely, for instance whether tables, captions and references are included; follow that definition, not a generic counter. For translation quotes, agree in advance whether the price is per source word or per target word, because the same text can have noticeably different counts in two languages. Database column limits and SMS segments depend onbytes or encoding, so look at the UTF-8 bytes chip and remember that SMS uses different encodings again.
Practical tips for staying within a limit
Write the first draft without worrying about length, then cut in passes: first repeated ideas, then qualifiers like "very" and "really", then long introductions. Prefer verbs over noun phrases ("decide" rather than "make a decision"). When you are short instead of long, add a concrete detail, such as a number, a name or a result, rather than padding. Keep a margin of two to five percent below the limit to absorb counting differences between systems. For timed writing, pair this tool with the reading speed test to estimate how long a piece will take your audience, and with thetyping speed test to plan how much you can type in a given time.
When two drafts need comparing, the text diff checker highlights exactly what changed, and the text case converter fixes headings that were typed in the wrong case. If you are cleaning text with a pattern, theregex tester lets you try an expression before you apply it.
Frequently Asked Questions
Does a line break count as a character?
Yes, a line break counts as one character here, in the "with spaces" total. It does not count in the "without spaces" total. Some forms count a line break as two characters (carriage return plus line feed), so leave a small margin if your text has many paragraphs.
Why does an emoji sometimes count as two characters?
Most emoji take two UTF-16 units, and systems that use JavaScript's length count them as two. This page counts the visible symbol as one and shows the JS length and code point figures separately so you can see the difference.
Why is my word count different in Word or Google Docs?
Editors differ in how they treat hyphens, dashes, numbers, footnotes, text boxes and headers. This tool splits on whitespace across the whole text box. If a submission requires the editor's number, use that, and keep a small safety margin.
Does this work for languages written without spaces?
The character counts do. The word count does not, because it relies on spaces; Chinese, Japanese and Thai text will show far fewer "words" than a human would count. For those languages, rely on the character figures.
Is my text stored or uploaded?
No. Every figure is calculated in your browser while you type, and nothing is sent to a server or saved. Closing or reloading the page clears the text box.