Word & Character Counter
Paste text and get a live word counter with characters, sentences, lines, byte size and an approximate token estimate. Everything runs in your browser.
Your text is analysed locally in your browser to produce the counts and is never uploaded, so notes, drafts and prompts stay on your device.
Need to reshape that text? Try the Case Converter.
About Word & Character Counter
This word counter gives you live statistics the moment you start typing or paste text. As a word counter and character counter it reports characters with and without spaces, words, sentences, paragraphs, lines, UTF-8 byte size, an approximate LLM token estimate, and an estimated reading time at roughly 200 words per minute. Character counts are grapheme-aware, so an emoji or a flag counts as one character even though it spans several bytes. It is handy for tightening a meta description, fitting a tweet or commit message, checking a prompt before sending it to a model, or just keeping prose on target. There is also an optional top-words frequency list. Everything is computed locally in your browser, so the text you paste stays on your device and is never uploaded.
Features
- Live characters with spaces and characters with no spaces as you type
- Word, sentence, paragraph and line counts updated instantly
- UTF-8 byte size so you can check payload and storage limits
- Approximate LLM token estimate using a ~characters / 4 heuristic, labelled approx
- Reading time estimate based on about 200 words per minute
- Grapheme-aware counting so emoji and combined glyphs count as one character
- Optional top-words frequency list with trivial stop words removed
- Copy stats button copies a clean plaintext summary of every metric
How to use the Word & Character Counter
- Paste or type your text into the Text box.
- Read the live stat cards for characters, words, sentences, lines, bytes, tokens and reading time.
- Scan the optional top-words list to see which terms repeat most.
- Click Copy stats to grab a plaintext summary of every metric.
Example
Input
The quick brown fox jumps over the lazy dog. 🦊
Output
Characters (with spaces): 46
Characters (no spaces): 37
Words: 9
Sentences: 1
Lines: 1
Size (UTF-8): 48 bytes
Tokens (approx): ~12
Reading time: 1 min
The fox emoji counts as one character but adds four UTF-8 bytes.
Common errors & troubleshooting
- The character count looks higher than the number of letters you typed. — The default count includes spaces, punctuation and line breaks; check the second card, Characters (no spaces), for letters and visible symbols only.
- An emoji or accented letter changes the byte size more than the character count. — Characters are counted grapheme-aware while bytes are UTF-8, so one emoji is a single character but four bytes; this is expected behaviour.
- The token number does not match your model's tokenizer exactly. — The token figure is an approximation (about characters / 4) and is labelled approx; use your model's real tokenizer when an exact count matters.
- The word count is zero even though the box is not empty. — Input that is only spaces, tabs or blank lines has no words; type some visible text and the counts update immediately.
Frequently asked questions
- Does the character count include spaces and line breaks?
- The main Characters card counts everything, including spaces, punctuation and line breaks. A separate Characters (no spaces) card strips all whitespace so you can see letters and visible symbols only.
- How does the character count handle emoji and accented letters?
- Counting is grapheme-aware using Intl.Segmenter where available, so an emoji, a flag, or a letter with a combining accent counts as a single character even though it may take several UTF-8 bytes.
- What is the approximate token count for?
- It gives a quick estimate of how many LLM tokens your text uses, based on a roughly characters / 4 heuristic and labelled approx. It is useful for staying under a model's context budget, but it is not a substitute for the model's exact tokenizer.
- How is reading time calculated?
- Reading time divides the word count by about 200 words per minute and rounds up, so any non-empty text shows at least one minute. It is a rough guide to how long the passage takes to read aloud or silently.
- How does the byte size differ from the character count?
- Byte size is the UTF-8 length of your text, which many APIs and databases limit. ASCII characters are one byte, accented letters are usually two, most CJK characters are three, and emoji are four, so bytes are often higher than the character count.
- Is my text uploaded when I count it?
- No. The word counter runs entirely in your browser, so the text you paste is processed locally on your device and is never sent to a server.
Related tools
All ArrayKit tools