HCODX/Character Counter
100% browser-based · Live counts · Chars / words / lines / bytes

Character Counter

Count characters, words, lines, paragraphs, and bytes. Live updates as you type. Useful for tweets, SMS, SEO meta, and submission limits.

Plain text
Counts
Count options
Word Counter
Characters
0
Words
0
Lines
0
Status
Ready
Example

Type, see counts live

A character counter that also breaks down words, lines, paragraphs, sentences, bytes (UTF-8), and an estimated reading time.

Input
The quick brown fox jumps over the lazy dog.
The end.
Counts
Characters: 53
Characters (no spaces): 43
Words: 11
Lines: 2
Paragraphs: 1
Sentences: 2
Bytes (UTF-8): 53
Reading time: 1 sec
Use cases

What you'll use this for

Anywhere a character or word count matters — social posts, SMS, SEO, school essays, prompts, and submission forms.

Tweet limits

Stay under 280 characters for tweets or under any platform's hard limit.

SMS messages

SMS splits at 160 GSM-7 chars (70 for UCS-2). Check your message before you send.

SEO meta lengths

Title ≤60, description ≤155 chars — keep tags within Google's preview limits.

Writing goals

Track daily word counts for essays, articles, or NaNoWriMo manuscripts.

Step by step

How to count characters

1

Paste your text

Drop it into the left editor. The counter updates instantly.

2

Choose grapheme mode

Grapheme-aware counts emoji and accents as one character each. Disable for raw JavaScript length (UTF-16 code units).

3

Read the breakdown

Total characters, words, lines, paragraphs, sentences, UTF-8 bytes, and reading time — all live.

4

Copy or download

Save the breakdown as .txt or copy to clipboard for later reference.

FAQ

Frequently asked questions

Toggle grapheme mode. With it on, emoji and accented characters count as one character each (true visible characters). With it off, the JavaScript UTF-16 code-unit count is used — surrogate-pair emoji count as two.

Sentences are split on terminal punctuation (period, question mark, exclamation point) followed by whitespace or end of input. It's a heuristic — abbreviations like "Mr." may overcount.

Yes. No signup, no limits, no ads. Runs entirely in your browser.

UTF-8 bytes counts the number of bytes the text takes when stored or transmitted as UTF-8 — ASCII characters are one byte each, but accented Latin runs to two, CJK and many emoji to three or four. Useful for database column sizing and SMS payload calc.

Reading time is words ÷ 4 (seconds), rounded up — a rough proxy for ~240 words per minute. Tune mentally for technical or non-native content.

About

About character counting

Counting "characters" sounds simple until you hit Unicode. A single visible character on screen — a grapheme cluster — can be one Unicode code point or many. A flag emoji like 🇨🇦 is two code points; "é" can be one composed code point or two (e + combining accent). And every code point, in turn, might take one to four bytes when stored as UTF-8.

Which count do you want?

  • Characters (grapheme-aware) — what users see on screen. Best for "is this under the visual limit?" checks.
  • Characters (UTF-16 code units) — what str.length returns in JavaScript. Useful when matching a platform's documented limit (e.g. Twitter counts code points, SMS counts encoding units).
  • Bytes (UTF-8) — what's stored or sent over the wire. Important for database column sizing and HTTP payloads.
  • Words / lines / paragraphs — high-level structure for prose and code reviews.
Related

Related tools