Text Statistics
Live character, word, paragraph and reading-time counts, plus text cleanup
Type some text above and the statistics will update here in real time
Last updated: 2026-10-10
About this tool
Writers, translators and anyone filling in a form with a length limit eventually needs an exact count. The trouble is that "word count" means different things in different places: a Chinese article is counted per character, an English one per word, and some forms want characters excluding spaces. This tool lists every one of those numbers at once, along with paragraph, line and reading-time figures.
Features
Every count at once
Characters, characters excluding whitespace, CJK characters, words, sentences, paragraphs, total lines and non-empty lines - all shown together, so you never juggle several tools.
Chinese and English counted separately
Chinese has no word boundaries, so counting a mixed passage by spaces badly distorts the result. This tool counts Chinese per character and English per word, and shows both numbers plainly.
Reading-time estimate
Estimated at 300 CJK characters or 220 English words per minute - handy for checking whether an article matches your readers’ patience.
Naming-style conversion
Convert between camelCase, PascalCase, snake_case and kebab-case in one click - no more hand-editing variable names.
Text cleanup toolkit
Remove empty lines, trim each line, collapse repeated whitespace, dedupe lines, sort ascending or descending, and reverse line order - ideal for text copied out of a PDF or web page.
Correct emoji counting
Counts Unicode code points rather than UTF-16 code units, so an emoji or a rare CJK character counts as one character - a spot where many counters get it wrong.
How to use
- 1
Paste your text
Paste the text into the box. Statistics update as you type - there is no button to press.
- 2
Read the statistics
All counts appear on the right (below on mobile). For mixed text, read "CJK characters" and "Words" separately.
- 3
Convert case and style
Click a style button to convert; the result replaces the input so you can keep working on it.
- 4
Clean up the text
Text copied from a web page often carries stray blank lines. Clean it first and the counts become far more accurate. Every action can be undone.
Options
- Characters
- Counted by Unicode code point, so emoji and rare characters count as one. This is what most platforms mean by "character count".
- Characters excluding whitespace
- Removes ASCII spaces, tabs, newlines and the full-width space. Some form platforms ask for exactly this figure.
- CJK characters
- Counts Chinese characters, Japanese kana and Korean hangul, including the CJK Extension blocks. Usually the number that matters for Chinese writing.
- Words
- Runs of Latin letters and digits. Hyphens and apostrophes stay inside a word (well-known counts as one). Chinese does not participate in word grouping.
- Paragraphs
- Separated by one or more blank lines, matching the Markdown convention. A single newline inside a block does not start a new paragraph.
- UTF-8 bytes
- A Chinese character is 3 bytes and an emoji is 4. Database column limits and API parameter caps are usually expressed in bytes, so this is worth checking before submitting.
- Reading time
- Estimated at 300 CJK characters or 220 English words per minute, rounded up, with a one-minute floor. A rough guide that does not account for charts or code.
Common use cases
- Checking an article meets a submission length requirement
- Keeping an article within the ideal length for a given platform
- Filling in a form or application with a character limit
- Counting a speech to estimate how long it will take to deliver
- Checking whether a value will be truncated by a database column (look at bytes)
- Cleaning up text copied from a web page before reusing it
- Switching a variable name between camelCase and snake_case
- Deduping and sorting a repetitive list
FAQ
Questions you may have about this tool
How should I count characters in Chinese?
Usually one Chinese character counts as one, and whether punctuation counts depends on the platform. This tool lists characters (including punctuation and spaces), characters excluding whitespace, and CJK characters (only han, kana and hangul) separately, so you can pick the convention your target platform uses.
Why is the word count so low for mixed Chinese and English text?
Because Chinese does not participate in word grouping. Chinese is counted per character and English per word, so "hello 你好" gives 1 word (hello) and 2 CJK characters. This is deliberate - splitting on spaces alone would report 0 for a purely Chinese passage.
Why does an emoji sometimes count as one and sometimes as two?
It depends on the counting unit. JavaScript’s String.length measures UTF-16 code units, where most emoji (such as 😀) occupy two; this tool counts Unicode code points, so the same emoji counts as one. If you need to match a specific platform, check which unit it uses.
Where do I find the count excluding spaces?
The "Excl. spaces" figure in the statistics card. It removes ASCII spaces as well as tabs, newlines and the full-width space, matching what most writing platforms report.
How is reading time estimated?
Chinese is estimated at 300 characters per minute and English at 220 words per minute; the two are added and rounded up to whole minutes. It is a silent-reading average and excludes time spent on charts, code or rereading, so treat it as a rough guide.
Is my text uploaded anywhere?
No. All counting and text processing happens in your browser with JavaScript; nothing is sent to a server. The tool keeps working with your network disconnected, which you can verify yourself.
Which naming styles are supported?
Input can be space-separated, camelCase, PascalCase, snake_case or kebab-case; the tool splits it into words and rebuilds it in the target style. For example http_api-v2Server splits correctly into http, api, v2 and Server.
Can I undo a transformation?
Yes. Cleanup and style conversions keep the previous content, so the Undo button restores it. The Clear button resets everything.