Text Utility

Text Counter

Check the length of essays, blog posts, product copy, social bios and SEO snippets before you publish. Count characters, words, lines, sentences and bytes directly in your browser.

Instant counting Key text metrics update as you type, so you can keep length limits under control without extra steps.
Submission-ready metrics Compare characters with spaces, characters without spaces, words and bytes for different platform rules.
Browser-only processing Your text is analyzed locally in the current browser and is not stored on the server.
ANALYZE

Text analysis

Paste your text to review length, reading time and repeated keyword hints in one clean workspace.

Ready
0 chars

Characters use UTF-16 code units: 😀 counts as 2. Bytes use UTF-8. Each textarea line break counts as one LF. Also check the destination's own limits.

Results 0 min read
Characters 0
Characters without spaces 0
Words 0
Lines 0
Sentences 0
Bytes 0
0 paragraphs Top repeated word appears here. Keyword density appears here.
Enter text and the results will update instantly.
Practical guide

Understand character, word and UTF-8 byte counts

A form's character limit and a file's byte limit are different checks. This tool uses JavaScript UTF-16 length for characters and UTF-8 for bytes. Emoji and combining marks can therefore produce results that differ from a platform's own counter.

Who this helps

  • People checking an application, article or social post before submission.
  • People comparing a byte limit with a character limit.

When to use this tool

  • Compare counts with and without whitespace.
  • Inspect line breaks and repeated words before copying text into another app.

From input to a checked result

  1. 1

    Paste text into the input area; counts update as you type.

  2. 2

    Use the character count that matches the destination's whitespace rule.

  3. 3

    Check UTF-8 bytes separately if the limit is specified in bytes.

  4. 4

    Review lines, paragraphs and keyword frequency as editing aids, then confirm the final count in the destination.

Example 1

Words and spaces

Input
Hello world
Result
11 characters; 10 without whitespace; 2 words; 11 UTF-8 bytes.

The space counts as one character and one byte.

Example 2

An emoji uses different units

Input
A 😀
Result
4 UTF-16 units; 3 without whitespace; 1 word; 6 UTF-8 bytes.

The emoji uses two UTF-16 units and four UTF-8 bytes. It is not counted as a word.

Example 3

Combining accents

Input
école école don’t
Result
18 UTF-16 units; 16 without whitespace; 3 words; 22 UTF-8 bytes.

The first accent is a separate combining mark. Keyword normalization groups both forms of école together: 2 of 3 words, or 66.7%.

How it works

Characters use String.length; the no-whitespace count removes JavaScript \s characters. Word matches contain Unicode letters or digits, combining marks and internal apostrophes/hyphens. A continuous Japanese or Chinese string can count as one word; this is not linguistic segmentation. UTF-8 bytes are counted with TextEncoder, without a byte-order mark. Lines are LF breaks plus one for nonempty input; paragraphs are separated by blank lines.

Limitations

  • A visible character may contain several UTF-16 units. Destination counters can apply different rules.
  • Zero-width space U+200B is not removed by the whitespace filter.
  • Sentence counts and reading time are estimates. Reading time uses 220 words/minute in English, 450 in Korean and 500 in Japanese/Chinese.
  • Keyword frequency lowercases and normalizes to NFC, omits short tokens and some English function words, and divides by all counted words. It is not a search-ranking score.
Your data

Text is counted in the current browser. This tool does not send the input text to the win-j server.

Frequently asked questions

Why does the submission form show a different count?

It may count visible characters, handle emoji differently or normalize line endings and spaces. This tool counts UTF-16 units. Treat the destination's final counter as authoritative.

Are bytes and characters interchangeable?

No. UTF-8 uses different numbers of bytes for different characters. Another encoding, such as UTF-16, will have a different byte count.

Are Chinese and Japanese word counts exact?

No. Adjacent letters form a single match without dictionary-based segmentation. Use character or byte counts for limits that specify those units.

What if copying does not work?

Clipboard access depends on browser permissions. Select the text and copy it manually if automatic copying is unavailable.