Names in the menu stay in each language. This choice is not stored in a cookie or in localStorage. The address can include ?lang=.
One-page text counter
CountText
Paste or type to see characters, paragraphs, and a rough word count split on whitespace. Counting stays on this page.
Count
Paste or type and the count updates immediately. The text stays in this tab's memory. This page does not upload or store it. Spellcheck is off, to reduce the chance that a browser sends the text to a spelling service.
Ready. The text stays on this page.
No text yet. All four numbers are 0.
Characters (with spaces and line breaks)
0
Spaces, line breaks, and tabs all count
Characters (without whitespace)
0
Unicode whitespace is removed
Paragraphs
0
A blank line starts a new paragraph
Words (rough)
0
Split on whitespace, not real CJK segmentation
This browser has no Intl.Segmenter, so characters are counted as Unicode code points. Some emoji may count as more than 1.
Practical examples
English word count: paste “The quick brown fox jumps over the lazy dog.” without the quotation marks. It has 9 words, 44 characters including spaces and 36 without whitespace.
Paragraph check: enter “Hello world.”, leave one blank line, then enter “Write clearly.” (without quotation marks). The result is 2 paragraphs and 4 words. With only a single line break between those sentences, it is 1 paragraph.
Character limit: for a short bio or message, compare the character total including spaces with your target limit. “Hello world!” has 12 characters including its space and punctuation, or 11 without whitespace. The destination service may count emoji or line breaks differently; check its own counter too.
How to use
Tab to the text box, then paste or type. The numbers update immediately. There is no separate Calculate button.
“Characters (with spaces and line breaks)” counts spaces, line breaks, and tabs. “Characters (without whitespace)” removes that whitespace.
“Paragraphs” start a new paragraph only when one or more blank lines sit in between. “Words (rough)” splits only on whitespace. It is not real segmentation for Chinese, Japanese, or Korean, and it is not accurate for those languages.
“Clear text” empties the box and returns the numbers to zero. If that was a mistake, use “Restore text from before clearing”. Enter or Space activates either button. Both affect only this tab.
“Read statistics” writes one complete sentence in the status line. A screen reader speaks that sentence.
Introduction
This page counts characters, paragraphs, and a rough word total in the browser.
This page is a one-page counter. Paste or type text to compare, live: characters including spaces and line breaks, characters after whitespace is removed, paragraphs, and a rough word count split on whitespace. It helps when you are checking a piece of writing, shortening a passage, or judging length before you hand work in. A teacher or a publisher may count differently. Follow their rules before you submit.
Counting runs in this tab without uploading your text or saving it to a database. Counting itself needs no further connection once the page has loaded. The optional video contacts YouTube only when loaded. Site hosting and any host-added analytics may make separate network requests; that is different from the counter sending your text.
These are not certified translations. They still need review by a native speaker and, for the privacy note, by someone qualified to review it. A language menu in this file does not make the page ready for multilingual search ranking. Portuguese in this menu is Brazilian Portuguese (pt-BR).
How the counts work, and their limits
The rules are fixed on this page so you can check them. These numbers are this tool's definitions. They are not a school essay count, a publisher's count, or the word count of a particular form.
Characters are Unicode grapheme clusters (the browser's Intl.Segmenter, granularity grapheme). One Han character, one letter, and one emoji you can see each count as 1 when the browser supports this. Spaces and line breaks each count in the total that includes spaces and line breaks.
This page does not use JavaScript string.length. That number counts UTF-16 code units, so an ordinary emoji becomes 2. Where grapheme clusters are supported, 😀 is 1 and 👨👩👧👦 is also 1.
A Windows line break (CRLF, carriage return plus line feed) usually counts as 1 grapheme, not 2.
The count without whitespace removes Unicode whitespace, including ordinary spaces, line breaks, tabs, no-break spaces, and ideographic spaces. A zero-width space (U+200B) is not whitespace and is not removed. Unusual text can therefore look different from the count.
Paragraphs: CRLF, CR, and line separator U+2028 are treated as line breaks. Paragraph separator U+2029 is treated as a blank line. Consecutive lines that still contain visible characters form one paragraph. A line that is empty once whitespace is removed ends the paragraph. A single line break inside a paragraph does not split it. If you press Enter once between paragraphs and leave no blank line, they count as one paragraph.
Words: leading and trailing whitespace is removed, then the text is split on Unicode whitespace. A line break is whitespace, so a new line also splits words. hello world is 2. hello, is still 1, because punctuation is not peeled off. 你好世界 has no space in the middle, so it is 1. It is not split into 你好 and 世界, and it does not become 4. This tool does not segment Chinese, Cantonese, Japanese, or Korean, and it does not use a dictionary. The word count is not accurate for those languages. Text that already uses spaces, such as much English, is where the word count is more useful.
Empty text: all four numbers are 0. Spaces, line breaks, or tabs only: characters with spaces and line breaks are greater than 0, and the other three are 0. For 你好 世界, characters with spaces are 5, characters without whitespace are 4, and words are 2.
If the browser has no Intl.Segmenter, characters are counted as Unicode code points and a note appears in the counter. Some combined emoji can count as more than 1 in that fallback.
If the text is very long, counting still happens in this tab and the page may slow down. This page will not send the text to a server for that reason.
Extra video (inspiration only, not a counting lesson)
This video is an extra reference for inspiration. Its id is XxhaeOGM45Q. It was supplied as inspiration about a one-page website. It is not a counting lesson and it is not the manual for this tool. This page does not confirm, reprint, or promise any income, traffic, or advertising claim made in the video. The video itself stays in its original language. These captions are not a translated copy of the video.
Until you press the button below, the browser does not ask YouTube for the video and does not prefetch a thumbnail.
Video not loaded
Only after this button is pressed does the browser request the player from www.youtube-nocookie.com. It will not autoplay.
After Load video, the player is embedded from the privacy-enhanced domain www.youtube-nocookie.com and does not autoplay. Your text is not added to that request. So the player can check where it is embedded, the browser may send this page's origin (the site address) to YouTube, but not the text you typed. After the player loads, it may connect to other YouTube and Google domains, for example player pieces and fonts. The nocookie domain does not mean YouTube cannot receive your IP address or other technical data.
It would be wrong to say the whole site exchanges no data at all. Counting stays on this page, but loading the video contacts a third party. If the page is later placed on a host, that host may also keep access logs. See the privacy policy.
About CountText
CountText is a free one-page counter for words, characters and text at counttext.net. It runs in this browser tab. There is no account, and the text you type is not sent to a server.
The wording in each language is not a certified translation.
Character counts include spaces and line breaks; the second character total removes all whitespace, including tabs and line breaks. Characters are counted as Unicode grapheme clusters when the browser supports them, otherwise as Unicode code points, so complex emoji may differ. A paragraph is a block of nonblank lines separated by a blank or whitespace-only line. A single line break does not start a new paragraph; empty text has no paragraphs.
Type or paste into the text box and the totals update as you edit. Words are nonempty groups separated by whitespace (spaces, tabs or line breaks). Punctuation attached to a word stays with it: “Hello, world!” is 2 words, while “well-known” and “don’t” each count as 1. A punctuation mark on its own also counts as a group. This is a rough count, not a grammar checker or linguistic word segmentation; Chinese, Japanese and Korean text without spaces is not split into individual words.
The video is optional inspiration about a one-page site. It is not a counting lesson, and it stays in its original language. It loads from youtube-nocookie.com only after you press the button.