Word Counter: Count Characters, Words, and Paragraphs
Paste the same draft into three different counting tools and you will probably get three different numbers. The tools are not lying. A word count is not a single quantity; it is an agreement about rules. Before any counter can return a number it has to settle three questions: what unit is counted, what gets excluded, and how the text is split. Change one answer and the reading changes, sometimes by more than three times.
This guide builds that framework first, then maps it onto the situations where counts actually have consequences: thesis and journal limits, translation quotes, subtitle timing, speaking scripts, and form or database validation. It closes with worked examples you can reproduce in any counter, and with the two questions writers ask most often - why two tools disagree, and what to cut once a draft is over the limit.
1. Every count is decided by three questions
Treating a word count as one number is where most disagreements start. When two programs report different figures for the same file, the cause is almost always a different answer to one of these:
- Unit - words, characters, characters without spaces, or encoded bytes?
- Exclusions - are spaces, line breaks, punctuation, digits, the abstract, references, and figure captions counted?
- Tokenization - how is an unbroken run of text split, and how are hyphens, apostrophes, and numeric strings treated?
With two or three common answers per question there are more than a dozen defensible conventions, so the useful question is never "how long is this piece" but "how long is it, under which convention".
2. Units: words, characters, characters without spaces, and bytes
Writers usually blur "characters" and "words"; engineers trip over "characters" and "bytes". None of the four convert at a fixed rate, because the mix of punctuation, spaces, and Latin text changes from paragraph to paragraph.
| Unit | How it is counted | Where it matters | Most common failure |
|---|---|---|---|
| Hanzi (CJK characters) | Matches the common CJK ideograph range U+4E00 to U+9FFF | Chinese submission minimums, per-character rates | Full-width punctuation, rare extension-range glyphs, and Japanese kanji all fall outside the common range |
| Word | Split on whitespace; each run of letters counts as one | English journal limits, translation quotes, word ceilings | Hyphenated compounds, possessives, numeric strings, and CJK mixed into English text are handled differently by every tool |
| Character | String length, reported with and without spaces | Meta descriptions, titles, database columns, API parameters | With-spaces and without-spaces differ by roughly 3% in prose and much more in code or tables |
| Byte | Encoded length: one CJK character is 3 bytes in UTF-8 and 2 bytes in GBK | Storage, transfer, server-side form validation, SMS segmentation | The front end says 200 characters remain; the back end rejects on bytes and the user sees "but I did not go over" |
Put the four together and a common production bug explains itself. 1,000 Hanzi occupy 3,000 bytes in UTF-8 and 2,000 bytes in GBK. Given a 5,000-byte column, a UTF-8 database holds 1,666 Hanzi while a GBK database holds 2,500. Same form, same helper text, different encoding, different capacity - which is why bytes belong on the debugging checklist even though almost no writer ever counts them.
3. Exclusions: the part that is not counted is usually the disagreement
If one side counts the abstract and the references and the other does not, the gap can reach a fifth of the document. The table below lines up common situations with their usual convention and with the items people forget:
| Situation | What is normally counted | What is usually missed | How to confirm |
|---|---|---|---|
| Chinese thesis or dissertation | Characters without spaces | Whether the abstract, table of contents, captions, acknowledgements, appendices, and references count toward the body limit | Read the graduate school's definition of the body count item by item instead of trusting last year's habit |
| English journal submission | Word count | Whether the abstract, references, captions, and footnotes have separate limits of their own | The author guidelines normally list each limit separately; the current text in the submission system beats an older PDF |
| Translation and localisation quotes | Characters for Chinese, words for English | Glossaries, UI labels, placeholders, and repeated segments | Per thousand characters and per thousand words are different units - confirm whether the source or the target language is the basis |
| Subtitles and dubbing | Characters per second (CPS), not the total | Pauses implied by punctuation, breathing time, line breaks | Divide each cue's character count by its duration; a matching total does not mean readable subtitles |
| Speeches and voice-over scripts | Total words converted through a speaking rate | Pauses, audience interaction, slower delivery under pressure | Write to roughly 80% of the target duration and leave the rest for the room |
| Web copy and forms | Characters or bytes | Byte differences in mixed Chinese and English text; astral-plane characters take 4 bytes | Client-side hints and server-side validation must share one convention, documented in the API contract |
This table settles what to count, not how long the result takes to deliver. To turn a count into a duration, pair it with a reading time estimator, which consumes the same units; the fuller treatment of speed bands and scenario differences is in the reading time guide.
4. Tokenization: why "word" is the hardest unit to align
Chinese has no tokenisation ambiguity - one character inside the common ideograph range is one count, and the rule is fully reproducible. English depends on a convention, and the conventions disagree:
- Hyphens:
word-countis one word in some tools and two in others. - Apostrophes: whitespace-based splitting keeps a contraction as one word, while punctuation-first splitting breaks it apart.
- Numbers and mixed strings:
2.0,UTF-8, andv22.12.0may count as one word, as two words, or only as their alphabetic part. - CJK mixed with English: because Chinese has no inter-word spaces, the English word metric normally counts letter runs only and ignores Chinese characters and digits - the main reason the same file reads differently in a Chinese tool and an English one.
Office software adds a second, less obvious variable: the counting scope is a checkbox. In a typical word processor the count dialog carries a switch for including text boxes, footnotes, and endnotes, and toggling it produces two different numbers, while the status bar quietly shows a third default. One file, one machine, two readings - and that is before you change applications.
There is only one reliable practice: pick one counter and one set of switches, and use them from first draft to submission. The word counter on this site lists Hanzi, English words, characters with and without spaces, paragraphs, sentences, and lines on a single screen, which makes it a reasonable fixed baseline. If the submission rules name only one figure, that figure wins.
5. Measured: one paragraph, five readings, a 3.5x spread
The sample below deliberately packs numbers, hyphenated English, and Chinese punctuation into one short passage so the conventions have something to disagree about. It is the measured sample for this article, and it can be pasted into any counter to reproduce the numbers.
字数统计不是一道算术题。同一段中英混排的稿件,粘进三个不同的工具,WordCounter 读到的数字可能相差四成:有的把空格算进去,有的把标点排除在外,还有的按 UTF-8 字节数给出一个完全不同的上限。
| Convention | Measured reading | Notes |
|---|---|---|
| Hanzi | 76 | Only common-range ideographs; punctuation, spaces, and Latin text are ignored |
| English words | 2 | Letter runs only (WordCounter, UTF); the 8 in UTF-8 is a digit and does not count |
| Characters with spaces | 102 | Full string length, including three spaces and all full-width punctuation |
| Characters without spaces | 99 | Length after removing those three spaces |
| UTF-8 bytes | 268 | 76 Hanzi at 3 bytes each, plus single-byte characters for the rest |
The lowest reading is 2 and the highest is 268. Even inside the single context of Chinese writing, 76 Hanzi against 102 characters is already a third of a difference. "How long is my article" only has an answer once you add "under which convention".
6. Three worked examples you can reproduce
Example 1: a short mixed sentence is the easiest thing to miscount. Take the sentence "我们发布了 WordCount 2.0 版本,它同时支持 UTF-8 与 GBK 编码,并新增了关键词密度分析。" and its English counterpart "We shipped WordCount 2.0, which supports both UTF-8 and GBK encoding and adds keyword density analysis." The Chinese version measures 26 Hanzi, 56 characters including spaces, and 114 UTF-8 bytes. The English version measures 103 characters and 103 UTF-8 bytes, and 15 words by letter runs - or 18 if the digits inside 2.0 and UTF-8 are counted as well. Note the English split: one sentence yields 15 or 18 depending on the rule, a 20% swing. The Chinese version swings harder, from 26 Hanzi to 114 bytes, a factor of more than four.
Example 2: there is no fixed Chinese-to-English ratio, only a range. Using three genuinely parallel pairs measured for this article: pair one, 26 Hanzi against 15 English words, ratio 1.73; pair two, 76 Hanzi against 49 words, ratio 1.55; pair three, 34 Hanzi against 19 words, ratio 1.79. That gives roughly 1.5 to 1.8 Hanzi per English word, the landing point depending on genre and terminology density. At 1.55, 800 English words correspond to about 1,240 Hanzi and 1,500 Hanzi to about 968 English words. At 1.79 the same 800 words correspond to about 1,432 Hanzi, while 1,500 Hanzi correspond to only about 838 English words. Across a single 1,500-character article the two ratios differ by roughly 130 English words, which is why "how many English words is a thousand Chinese characters" can only be answered as a range.
Example 3: cutting 1,780 characters down to a 1,500 limit never lands on a round number. Suppose the draft is 1,780 characters against a 1,500 limit, so 280 must go, and the piece has 15 paragraphs averaging about 119 characters each. Deleting two paragraphs removes 238 characters and leaves 1,542, still 42 over. Deleting three removes 357 and lands at 1,423, which is 77 under. Paragraph-level cutting is too coarse, so order matters: remove whole standalone paragraphs first, then compress sentences inside the survivors and squeeze out those last 42 characters from filler, repeated transitions, and optional examples. That is exactly why writing to 105% to 110% of the target beats writing to the limit - a piece that arrives exactly on the line almost always needs its ending rewritten.
7. Frequently asked questions
- Why does the same article have a different word count in Word and in a web tool?
- Because the exclusions and the tokenization rules differ. A word processor's count dialog usually carries a switch for including text boxes, footnotes, and endnotes, and toggling it produces a different number, while the status bar shows another default. Web tools each decide for themselves whether punctuation, digits, and hyphenated compounds count. Align the conventions before comparing the numbers.
- How many English words is 1,000 Chinese characters?
- Across the three parallel text pairs measured for this article the ratio fell between 1.5 and 1.8 Hanzi per English word, so 1,000 Hanzi is roughly 560 to 645 English words. The spread depends on genre, terminology density, and how many digits and Latin abbreviations appear in the Chinese text, so a single fixed coefficient should not be used to promise a length.
- Do spaces count toward a word count?
- It depends on the convention. Character counts are normally reported both with and without spaces, and the without-spaces figure is the usual reference; the Hanzi metric never includes spaces or punctuation in the first place. In the measured sample here the with-spaces reading was 102 and the without-spaces reading 99, a 3% gap that widens as paragraphs get longer and more English is mixed in.
- Should a translation quote be based on characters or words?
- Into English, quotes are commonly based on the Chinese character count of the source; into Chinese, they are commonly based on the English word count of the source. Per thousand characters and per thousand words are therefore different units and cannot be compared directly. Confirm three things first: source or target language, whether glossaries and UI labels are included, and whether repeated segments are discounted.
- Does deleting spaces help when a draft is over the limit?
- Only for the characters-with-spaces figure, and not at all for Hanzi or word counts. If the stated limit is a character count without spaces, a Hanzi count, or a word count, removing spaces changes nothing except the layout. Identify which figure the limit uses before deciding what to cut.
8. Three misconceptions
Misconception one: a character count is a word count. English speakers often treat the two as interchangeable, but in limits and billing they are different units. In the measured sample the character count without spaces was 99 and the Hanzi count was 76, a gap of 23. Prepare against the wrong one and the piece comes in either short or over.
Misconception two: Chinese and English lengths convert at one fixed coefficient. The 1.5 to 1.8 range is a common band, not a constant. Terminology-heavy, abbreviation-heavy, or number-heavy text pushes the ratio away from it. Use the band for rough planning, never for a commitment to a client or an editor.
Misconception three: deleting spaces reduces the count. Removing spaces affects the characters-with-spaces figure only. Hanzi counts, word counts, and paragraph counts do not move at all. Real reduction means removing sentences, examples, and repeated transitions - which is precisely why the paragraph-first, sentence-second order in Example 3 holds.
9. Five practical recommendations
- Confirm the convention before drafting, not after. Translate whatever the guidelines call a word count into the three questions above - unit, exclusions, tokenization - and write down whether spaces, the abstract, and the references are included. That alone removes a rewrite cycle.
- Draft to 105% to 110% of the target. Leave trimming room. At the granularity shown in Example 3, a single paragraph deletion is one to two hundred characters, so a piece written exactly to the limit usually gets its ending rewritten.
- Use one counter from first draft to final. Switching tools mid-project makes the numbers incomparable. The word counter lists Hanzi, English words, characters, paragraphs, sentences, and lines separately, which makes it a usable fixed baseline; for word frequency alongside the totals, see the conventions documented in the keyword density guide.
- Clean the text before measuring it. Text pasted from the web or from collaborative editors often carries stray whitespace and invisible characters that inflate a reading or break an exact comparison. Run it through a text cleaner first; the full inventory of those characters and the symptoms they cause is in the text cleaner guide.
- Automate bulk checks with a fixed script rather than reading numbers by eye. Once a content library passes ten pieces, manual counting is slow and irreproducible. The minimum viable approach is one fixed snippet, re-run after every edit, with the difference between two runs telling you how much changed; use a text diff to compare two drafts line by line so compression does not silently delete a key figure.
// English words: split on whitespace (useless for Chinese, which has no spaces)
const words = text.trim().split(/\s+/).filter(Boolean).length;
// Hanzi: match the U+4E00 to U+9FFF range character by character, independent of spaces
const hanzi = text.match(/[\u4e00-\u9fff]/g) || [];
console.log(words, hanzi.length);
Note: record the two readings as independent metrics. Do not add them together and do not derive one from the other - in mixed Chinese and English text they are counting entirely different things.
That closes the loop: establish the unit, the exclusions, and the tokenization rule first, then fix one counter and keep using it, then plan content volume with a 5% to 10% trimming buffer. The next time two numbers refuse to match, walk the same three questions and you will usually find the disagreement within a few minutes.