This word counter gives you a complete breakdown of any text you paste or type: total words, characters with and without spaces, sentences, paragraphs and lines. It counts composed emojis as a single character, treats non-breaking spaces as word separators, and normalizes line endings so that Windows and Mac text produce the same result. Everything runs in your browser, so your text never leaves your device.
Enter your values to see the result.
Hello world. → 2 words, 12 characters, 1 sentence
A simple sentence with a period at the end counts as one sentence.
👨👩👧👦 is one character → 5 words, 22 characters
The family emoji is a single grapheme cluster, not seven code points.
Line one Line two Line three → 6 words, 3 lines
Windows-style line endings (CRLF) count as one break each, not two.
Writers, students, marketers and developers all need to know how long their text is, but "how long" means different things depending on the context. A social media manager needs to stay under a character limit. A student needs to hit a minimum word count for an essay. A developer needs to verify that a meta description fits within the pixels Google allocates for search results. This word counter answers all of those questions at once, giving you six metrics from a single input.
Words are separated by any whitespace: regular spaces, tabs, line breaks and non-breaking spaces. Leading and trailing whitespace is trimmed before counting, so a text that is only spaces returns zero words. This matches the counting method used by Microsoft Word and Google Docs.
Characters are counted using the Intl.Segmenter API with grapheme granularity, which means that composed emojis — a family emoji, a flag, a thumbs-up with a skin tone modifier — each count as one character. This is what you see on screen, not the raw number of Unicode code points underneath. The "characters without spaces" metric strips all whitespace before counting, which is the number most character-limited forms actually check.
A sentence ends with a period, exclamation mark or question mark followed by a space or the end of the text. Text with no ending punctuation but non-empty content counts as one sentence. This approach is simple and fast, and it works correctly for standard prose. It does over-count when abbreviations contain periods, which is a limitation shared by nearly every word counter on the market.
Paragraphs are blocks of text separated by one or more blank lines. Extra blank lines between paragraphs do not inflate the count, and blank lines at the start or end of the text are ignored. This matches the paragraph count you would get from pasting the same text into a word processor.
Lines are counted by splitting on line breaks. Windows-style CRLF line endings are normalized to a single break before counting, so the same text produces the same line count regardless of whether it was written on Windows, Mac or Linux. An empty text returns zero lines.
Use the word count when an assignment, article or brief specifies a minimum or maximum number of words. Use the character count when you are working with social media limits, SMS constraints or HTML meta tags. Use the character count without spaces when a form field explicitly excludes whitespace from its limit. Use the sentence count when you are checking readability, since shorter sentences generally score higher on readability formulas like Flesch-Kincaid. Use the paragraph count when you are structuring long-form content and need to verify your section lengths. Use the line count when you are working with code, configuration files or any text where line structure matters more than prose structure.
Everything runs in your browser. Your text is never sent to a server, never stored, and never analyzed by any third party. The counting is done by a small JavaScript function that executes in microseconds, so you can paste an entire essay and see the results instantly without any loading time.
Characters are counted using grapheme clusters, which is the same way a human would count visible characters. A composed emoji like a family or a flag is counted as one character even though it is made of multiple Unicode code points. This matches what you see on screen rather than the underlying byte representation, which is the count most people actually need for social media limits and form fields.
The characters count includes every visible character plus every space, tab and line break in your text. The characters without spaces count removes all whitespace, including regular spaces, non-breaking spaces, tabs and newlines. The difference between the two numbers tells you how much whitespace your text contains, which is useful when a form field has a limit that excludes spaces.
Sentences are detected by looking for sentence-ending punctuation: a period, an exclamation mark or a question mark followed by a space or the end of the text. If your text has no sentence-ending punctuation but is not empty, it is counted as one sentence. This approach works well for standard prose but may over-count in texts that use periods in abbreviations like "Mr." or "U.S.A.", which is a known limitation shared by most word counters.
Paragraphs are separated by one or more blank lines, meaning two consecutive line breaks with nothing but whitespace between them. Extra blank lines between paragraphs do not create extra paragraphs, and leading or trailing blank lines are ignored. This matches the way most word processors and content management systems count paragraphs, so the number you see here should match what you get elsewhere.
No, your text stays entirely in your browser. The counting is done by JavaScript running on your device, and nothing is transmitted over the network. You can safely paste confidential documents, drafts or personal notes without any risk of the content being stored or analyzed elsewhere.
A non-breaking space (U+00A0) looks identical to a regular space on screen but is a different Unicode character, often inserted by word processors to keep two words together on the same line. For word counting purposes, however, it still separates two words, so this tool treats it as a word boundary. This matches the behavior of Microsoft Word and Google Docs, so your count should be consistent across tools.
Last updated on 2026-09-26 · Written by UtiliaTools