Character Counter

Paste or type your text and get live counts of characters (with and without spaces), words, lines, and UTF-8 bytes — plus how much room is left in a tweet or an SMS.

Counts update as you type. Your text never leaves your browser — nothing is sent or stored.
Characters (including spaces)
0
Characters (excluding spaces)0
Words0
Lines0
Bytes (UTF-8)0
Left in an X (Twitter) post — 280280
Left in one SMS — 160 (GSM-7)160

How to use this counter

  1. Type directly into the box above, or paste text you've written elsewhere.
  2. No button needed — character, word, line, and byte counts refresh instantly as you edit.
  3. Check the row that matches the limit you care about: characters for most platforms, bytes for systems that limit by storage size.
  4. To check a new piece of text, hit Clear and paste again.

Common character limits

Different platforms cut you off at very different lengths. Here are the limits people check most often:

WhereLimitNotes
SMS (single message)160 charactersDrops to 70 if any non-GSM character (e.g. emoji) is used
X (Twitter) post280 charactersURLs always count as 23; emoji usually count as 2
Meta description (SEO)~155 charactersGoogle truncates around 155–160 on desktop, earlier on mobile
Title tag (SEO)~60 charactersLonger titles get cut off in search results
Instagram caption2,200 charactersOnly the first ~125 show before "more"
LinkedIn post3,000 charactersFirst ~210 show before "see more"

How the counts are calculated

The same text can produce different numbers depending on what you count. Here's what each row means:

CountWhat it measuresNotes
Characters (incl. spaces)Every character, including spaces and line breaksWhat most platforms and word processors use
Characters (excl. spaces)All characters minus spaces, tabs, and line breaksUsed by some academic and publishing guidelines
WordsChunks of text separated by whitespaceMatches the usual "word count" definition
LinesRows separated by line breaksEmpty input counts as 0 lines
Bytes (UTF-8)Actual encoded size: ASCII = 1 byte, most other scripts 2–3, emoji 4Relevant for databases and byte-limited forms

Characters including spaces is simply the string length; excluding spaces removes every whitespace character (spaces, tabs, line breaks) first. Words are counted by treating any run of whitespace as a single separator. The UTF-8 byte figure is the real encoded size of your text — the same number a database or file system would see.

Good to know

Why one SMS is sometimes 160 characters and sometimes 70

Standard text messages use the compact GSM-7 alphabet, which fits 160 characters into one message. The moment your text includes a character outside that set — an emoji, a curly apostrophe, certain accented letters — the entire message is re-encoded as UCS-2 and the limit falls to 70 characters. Longer messages are split into segments of 153 (GSM-7) or 67 (UCS-2) characters each, and many carriers and SMS APIs bill per segment. If a marketing text is coming out more expensive than expected, a single stray emoji is often the culprit.

Counting quirks on X (Twitter)

The 280-character limit doesn't count everything equally. Any URL is counted as a flat 23 characters no matter how long it really is, and most emoji count as two characters. CJK characters (Chinese, Japanese, Korean) are weighted so the effective limit is 140 for those scripts. This counter shows the plain character total, which matches typical English-language posts closely; keep a small buffer if your post is emoji-heavy.

Writing to SEO limits

Google doesn't enforce a hard character cap on titles and descriptions — it truncates by pixel width. In practice, keeping title tags under ~60 characters and meta descriptions between 120 and 155 characters means they almost always display in full. Front-load the important words: even a truncated snippet then still carries your message.

When bytes matter more than characters

Some databases, legacy forms, and APIs limit input by bytes, not characters. In UTF-8, plain English text is 1 byte per character, but accented letters take 2 bytes, most Chinese, Japanese, and Korean characters take 3, and emoji generally take 4. That's why "50 characters" of emoji-rich text can blow past a 100-byte field. The UTF-8 row above shows the exact encoded size, so you can verify against byte limits directly.

These counts are close approximations for planning purposes. Each platform applies its own rules for line breaks, URLs, and special characters, so always confirm in the target system before final submission.

Frequently asked questions

How long can a tweet (X post) be?

A standard post on X (formerly Twitter) is limited to 280 characters. Most letters, numbers, and punctuation count as one character each, but URLs are always counted as 23 characters regardless of their actual length, and emoji typically count as two. Premium subscribers can post much longer text, but 280 remains the limit for free accounts.

Why does my SMS get split into multiple messages?

A single SMS holds 160 characters when the text uses only the basic GSM-7 alphabet. If it contains even one character outside that set — an emoji, a curly quote, certain accented letters — the whole message switches to UCS-2 encoding and the limit drops to 70 characters. Longer texts are split into segments of 153 (GSM-7) or 67 (UCS-2) characters, and carriers may bill each segment separately.

How long should a meta description be?

Google typically truncates meta descriptions around 155 to 160 characters on desktop, and a little earlier on mobile. Aim for roughly 120 to 155 characters so your key message survives intact. Title tags are best kept to about 60 characters for the same reason.

Is my text stored or sent anywhere?

No. All counting happens in JavaScript inside your browser. Nothing you type or paste is transmitted to or stored on any server, so it's safe to check confidential drafts, cover letters, or unpublished copy.

Why is the UTF-8 byte count larger than the character count?

UTF-8 is a variable-width encoding. Plain ASCII letters, digits, and spaces take 1 byte each, but accented Latin characters take 2 bytes, most CJK characters take 3 bytes, and emoji usually take 4. Systems that limit input by bytes — some databases and older forms — may therefore reject text that looks short in characters.

Related calculators