Text Counter Free - Words, Characters & Bytes
Count words, characters (with and without spaces), lines, paragraphs, bytes and reading time in your text. Counts update as you type. Set a length limit for essays, tweets, or SMS messages and see how many characters remain. Supports UTF-8 and legacy byte counting. Your text autosaves in the browser and is never uploaded. Perfect for writers, students, translators and anyone who needs to stay within a character limit.
Loading the tool...
When to use it
Stay under a message limit
Paste your text and pick "SMS 80 bytes" under "Length limit". The bar shows how many bytes are left, and a note appears when a longer message would be sent as LMS.
Essay with a set length
Choose "Custom", enter the limit and set "Count by" to "Characters (with spaces)". The counter shows "left" or "over" as you edit.
Estimate a speech length
Paste the script and read "Speaking time" in the results. It assumes about 150 words per minute for English, so it is a rough estimate to rehearse against.
How to use
- Paste or type your text into the text area.
- Counts update instantly: characters, words, lines, bytes and reading time.
- Optionally set a length limit to see how many characters you have left.
How it works
As you type or paste text, JavaScript counts characters, words (separated by spaces), lines, paragraphs and bytes in real time. UTF-8 bytes are calculated accurately (1 byte for English, 2 for accented, 3 for Korean/Chinese/Japanese, 4 for emoji). Reading time is estimated at about 230 words per minute. Your text is autosaved in your browser's local storage so you don't lose work if you close the tab. Nothing is ever sent to a server. How to verify. Also available as a free REST API for developers and AI agents (edge-processed, zero retention).
Also available as: Character Counter
FAQ
How are characters counted?
Every character including spaces and line breaks is counted. Emoji and combined characters count as one, matching most platforms.
What is the difference between UTF-8 bytes and regular bytes?
UTF-8 is the web standard: English letters are 1 byte, Korean/Chinese/Japanese are 3 bytes, emoji are 4 bytes. Legacy byte counting (CJK = 2) is used for SMS length limits.
Can I set a character limit?
Yes. Choose a preset limit (essay, SMS, LMS) or enter a custom number. The counter shows how many characters are left or over.
Is my text saved?
Your text is autosaved in your browser's local storage only. It is never uploaded to any server. Press Clear to remove it.
Does it count words in Korean?
Korean words separated by spaces are counted. Counting by bytes (CJK = 2) is also available for legacy Korean systems.
How is reading time calculated?
About 230 words per minute for English, and about 150 words per minute for speaking. For text that is mostly Korean it uses characters per minute instead. Treat both as estimates.
Does it count sentences or keyword density?
No. It shows characters, words, lines, paragraphs, bytes, manuscript pages and reading and speaking time, but not sentences or keyword density.
Can I clean up the text while counting?
Yes. "Collapse spaces" and "Remove line breaks" tidy the text, and "Copy all" copies the result. "Clear" removes it, after a confirmation.
Last checked: October 10, 2026 · Dagochim team