↑↓ to move ↵ to open Esc to close Browse all tools

Character Counter

Type or paste your text to count characters with and without spaces, words and lines as you type, and check it against a text message or any limit you set.

Character counter

Counts update as you type. Emoji and accented letters count as one character each.
Characters 0
Without spaces
0
Words
0
Lines
0

Sentences
0
Paragraphs
0
Letters
0
Digits
0
Spaces and tabs
0
Punctuation and symbols
0
Emoji
0
Bytes (UTF-8)
0

Your limit

Enter the limit of your form, essay or field, for example 150 characters or 500 words.

Text message (SMS)

0messages
Encoding
GSM-7
Length
0 / 160
Left in this message
160

Plain letters, digits and common punctuation use GSM-7: 160 characters per message, 153 per part when a text is split.

Platform limits

  • X postWeighted: emoji and Chinese, Japanese and Korean characters count 2, a link counts 23.
  • Threads postEmoji count as their UTF-8 bytes, usually 4 or more.
  • Bluesky postCounts characters as you see them.
  • Instagram caption
  • LinkedIn post
  • YouTube video title
  • YouTube description

Limits from each platform’s own documentation, checked October 2026. For meta descriptions and title tags, Google sets no character limit and shortens them in results to fit the screen.

How computers count this text
Characters as you see themGrapheme clusters, used in the main count
0
Unicode code pointsPython len()
0
UTF-16 code unitsJavaScript length, HTML maxlength
0
UTF-8 bytesSize as a UTF-8 file, App Store keywords
0

Your text stays in your browser. Nothing is uploaded.

What the character counter counts

Paste any text and the counter shows the numbers people look for when a form, a platform or an assignment sets a limit. Everything updates as you type, and nothing leaves your browser.

  • Characters counts everything: letters, digits, punctuation, emoji, spaces, tabs and line breaks. The maxlength limit of web forms counts spaces too.
  • Characters without spaces leaves out every space, tab and line break, for limits that do not count spaces.
  • Words, sentences and paragraphs use the same rules as our word counter: "don’t" and "well-known" are one word each, and Mr. or e.g. do not end a sentence.
  • Lines counts every line, empty ones included, the way a text editor numbers them.
  • Letters, digits, punctuation and symbols and emoji break the characters down by kind.

For a word count with reading time, readability scores and keyword density, use the word counter. To check one social post against many networks at once, with feed preview cutoffs, use the post character counter.

Why emoji and accents can count more than once

A character on screen is not always one character to a computer. Unicode builds some characters from several pieces: a letter plus an accent mark, an emoji plus a skin tone, or several emoji glued together with an invisible joiner. Each piece is a code point. Programs then store code points as UTF-16 code units or UTF-8 bytes, and different software counts different things.

CharacterWhat it isYou seeCode pointsUTF-16 unitsUTF-8 bytes
aPlain letter1111
éAccented letter, one code point1112
ée plus a separate accent mark1223
€Euro sign1113
中Chinese character1113
😀Emoji1124
👍🏽Emoji with skin tone1248
🇺🇸Flag1248
👩‍💻Two emoji joined into one13511

The main count follows what you see, using the grapheme rules built into your browser. That is what a person means by "one character". JavaScript’s length counts UTF-16 code units, so a single emoji like 😀 counts as 2. The maxlength attribute of web forms counts the same units, so a field limited to 100 accepts only 50 emoji of that kind. The section "How computers count this text" shows all four numbers for your text, and lists hidden characters like no-break spaces and zero-width spaces that often sneak in when you copy from a web page or a document.

SMS character limit: 160, 153, 70 or 67

A single text message holds 140 bytes. With the GSM-7 alphabet, where each character takes 7 bits, that is 160 characters. GSM-7 covers English letters, digits, common punctuation and some accented letters such as é, ü and ñ. A few characters, like the euro sign, square and curly brackets, the backslash, the tilde and the vertical bar, come from an extension table and count as 2.

As soon as one character is outside GSM-7, the whole message is sent in Unicode (UCS-2), where each character takes 2 bytes, so only 70 fit. Emoji, Chinese characters and curly quotation marks do this. Curly quotes are easy to miss, because ’ and ' look almost the same. Longer texts are split into parts, and each part loses room to a header that tells the phone how to join them: 153 characters per part in GSM-7, 67 in Unicode.

EncodingOne messagePer part of a longer text2 parts hold3 parts hold
GSM-7160153306459
Unicode (UCS-2)7067134201

The SMS panel counts the same way and lists the characters that forced Unicode, so you can swap a curly apostrophe for a straight one and save a whole message. The numbers follow the SMS standard as explained in Twilio’s SMS character limit guide; a phone or an SMS service can still use other settings.

Character limits by platform

Each limit below comes from the platform’s own documentation. Platforms do not all count the same way, and the tool follows each one where the documentation says how.

FieldLimitSource
X post280X developer docs
Threads post500Threads API docs
Bluesky post300Bluesky post lexicon
Instagram caption2,200Instagram API reference
LinkedIn post3,000LinkedIn Help
YouTube video title100YouTube Help
YouTube description5,000YouTube Help
Google Ads headline30Google Ads Help
Google Ads description90Google Ads Help
App Store app name30App Store Connect Help
App Store subtitle30App Store Connect Help
App Store promotional text170App Store Connect Help
App Store keywords100 bytesApp Store Connect Help
App Store description4,000App Store Connect Help
Google Play app name30Play Console Help
Google Play short description80Play Console Help
Google Play full description4,000Play Console Help

A meta description and a title tag have no fixed limit. Google’s snippet documentation says there is no limit on the length of a meta description, and its title link documentation says the same for titles. Both are shortened in search results as needed to fit the device width.

Tips for staying under a limit

  • Set your own limit in the Your limit box, in characters, characters without spaces, words or bytes. The bar fills as you type, and when you go over, Copy the part that fits copies the text up to the limit, cut between characters so no emoji breaks in half.
  • Watch the bytes when a database column or an API counts bytes. In UTF-8, accented Latin letters, Greek, Cyrillic, Hebrew and Arabic take 2 bytes, Chinese, Japanese, Korean and most other scripts 3, and emoji 4 or more.
  • Clean pasted text. A zero-width space or a byte order mark counts as a character but shows nothing. If the hidden characters list shows any, our find and replace tool can remove them.

How to use the character counter

  1. 1Type or paste your text into the box. The example text shows how emoji and accented letters are counted; press Clear to start fresh.
  2. 2Read characters with and without spaces, words and lines at the top, and the breakdown below.
  3. 3Enter your limit, or check the SMS and platform panels, then copy the counts or the text.

Frequently asked questions

Do spaces count as characters?

Yes. The main count includes every space, tab and line break, and so does the maxlength limit of a web form. "Without spaces" leaves all of them out. If a teacher or an editor gives you a limit and does not say which one, ask.

How many characters is an emoji?

One, as you see it, and that is the number this counter shows. Behind the scenes it is more: 😀 is 2 UTF-16 code units, the unit JavaScript and the HTML maxlength attribute use, and 4 bytes in UTF-8. X counts every emoji as 2, the Threads API counts emoji by their UTF-8 bytes, and in a text message one emoji switches the whole message to Unicode, which cuts the limit from 160 to 70.

How many characters fit in one text message?

160 when every character is in the GSM-7 alphabet that SMS uses, and 70 when even one character is not, such as an emoji, a curly apostrophe or a Chinese character. Longer texts are sent in parts of 153 or 67 characters, because each part carries a short header that puts the message back together. The SMS panel shows which characters forced Unicode.

Is there a character limit for a meta description or a title tag?

Google says there is no limit on how long a meta description or a title element can be. In search results it cuts both as needed to fit the width of the device. So there is no exact number to hit; put the important words first so they show even when the end is cut.

Why does another counter show a different number?

Most differences come from what counts as one character. Some tools count UTF-16 code units, the way JavaScript does, so every emoji counts 2 and a family emoji counts up to 11. Some count bytes. This counter shows characters as you see them in the main count and lists code points, code units and bytes below, so you can match any other tool.

Does it count characters in other languages?

Yes. Letters with accents, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese and Korean are counted as you see them, including letters built from a base and a separate accent mark. Words in languages without spaces, like Chinese and Japanese, are found with the word rules built into your browser.

Is my text stored or uploaded?

No. Everything is counted in your browser and nothing is sent to a server. Copy link only shares your limit setting, never your text.