Count characters, words, lines, and byte size
No uploads — everything runs locally in your browser

The Text Statistics tool gives you four practical metrics for any text: character count, word count, line count, and byte size. It is designed for quick checks and copy-paste workflows.
Who is this for?
Everything runs locally in your browser. If you need related text utilities, you may also like Text to Unicode or Escape/unescape HTML entities.
Worked example 1 (simple ASCII)
Suppose your text is Hello world. The character count includes spaces, so it is . The word count is .
Because all characters are ASCII, the UTF-8 byte size is also .
Worked example 2 (multibyte UTF-8)
Now try café. The character count is still , but the byte size is larger because is not ASCII in UTF-8.
In practice, this matters when an API or database limit is defined in bytes rather than characters.
Editing to a strict character limit
Background: you need a subject line under characters.
Input: paste your draft. Result: the tool shows immediately. If , shorten until .
Preparing content for chat platforms
Background: many chat tools enforce line breaks or length conventions.
Input: the message body. Result: verify line count is reasonable and your copy does not include accidental blank lines.
Avoiding database truncation
Background: a column limit may be expressed in bytes.
Input: user-generated text containing non-ASCII characters. Result: check byte size and keep it below your constraint.
Estimating payload size for an API request
Background: some APIs reject large request bodies.
Input: the exact text you plan to send. Result: use byte size as a quick approximation before you add JSON overhead.
Sharing safely
Background: text can contain secrets.
Result: use Share without including results when the content is sensitive. If you need encoding utilities, consider Base64 String Encoder/Decoder for safe transport in certain systems.
UI copy constraints
Keep labels, buttons, and tooltips within a character budget.
Markdown formatting checks
Spot accidental extra newlines before you publish.
Storage limits
Validate that multilingual text fits when limits are byte-based.
Request sizing
Estimate how large a text payload is before sending it to an API.
Safety checks
Share links without including the text when it is sensitive.
Quick proofreading
Confirm the counts after you remove or add a paragraph.
When it might not be the right tool: if you need language-aware word segmentation (for example, certain scripts without spaces), the word count here may not match what a linguistics tool reports.
Character count
Character count is the JavaScript string length of the input.
Word count
Word count is computed by splitting on whitespace. Empty input is treated as .
Line count
Line count splits on common newline sequences.
Byte size (UTF-8)
Byte size is the number of bytes in the UTF-8 encoding of the text. A helpful mental model is to think of the total as the sum of per-character encoded bytes.
If your input is pure ASCII, then typically .
Characters vs bytes
A character is a unit you see on screen. A byte is a unit you store or transmit. In UTF-8, common English letters are usually one byte, while many other characters use multiple bytes. That is why byte size is often the metric that matters for storage and network limits.
Why word count varies across tools
Word count is not universally defined. Some tools treat punctuation and hyphens differently, and some languages do not separate words with spaces. This tool uses a straightforward whitespace split, which is fast and predictable.
Yes. The count is the full string length, so spaces and punctuation contribute to .
Word count is computed by splitting on whitespace. Depending on how your text is spaced, the whitespace split may not match what a language-aware counter reports.
Not exactly. This tool reports the UTF-8 byte size of the text content only. A file may include metadata, line-ending conventions, or container formats that add overhead.
Many characters encode to multiple bytes in UTF-8. If your text includes such characters, typically .
Yes, but only if you enable “share with results.” Be careful: the text may appear in the URL, browser history, and analytics.
If you need an encoding layer, use Base64 String Encoder/Decoder and then re-check byte size after encoding, because the encoded string can be longer.
Limitations / disclaimers
External references / sources
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.