Character Counter

Count characters with and without spaces, and check limits for posts, titles and meta tags.

  • Runs in your browser
  • Free, no sign-up
0Characters
0Without spaces
0Words
0Letters
0Digits
0Bytes (UTF-8)

Length limits

  • X (Twitter) post
  • Google title tag
  • Meta description
  • Google Ads headline
  • Google Ads description
  • YouTube title
  • Instagram caption
  • LinkedIn post
  • SMS message

About the Character Counter

Paste or type any text and the Character Counter shows how many characters it has, with and without spaces. It also counts words, letters, digits and the bytes the text takes up when it is saved as UTF-8.

Below the box, a list of common limits shows how much room you have left: X posts, title tags, meta descriptions, Google Ads headlines and descriptions, YouTube titles, Instagram captions and LinkedIn posts. An SMS row tells you how many messages your text will be split into, and you can add a limit of your own.

It is made for anyone who writes into a box with a maximum length: marketers, developers filling database fields, students with a character cap on an application. Counting happens in your browser, so your text never leaves your device.

How to use it

  1. Add your textType in the box, paste text, or drop a text file onto it. Open file reads .txt and .md files.
  2. Read the countsCharacters, characters without spaces, words, letters, digits and UTF-8 bytes sit above the box and update as you type.
  3. Check the limitsEach row in the list has a bar that fills up as you write. It changes color when you are within 10% of the limit, and the bar and count turn red and show how far over you are once you pass it.
  4. Decide whether spaces countLeave "Count spaces toward limits" on for most platforms. Turn it off when a form or a quote asks for characters without spaces.
  5. Set a custom limit or copy the statsType any number into the Custom limit row. Copy stats puts a plain-text summary of the counts on your clipboard.

Key features

Characters as you see them

Emoji, flags and accented letters count as one character each, the way a reader sees them, even though each can take several code points in memory.

Common limits in one place

Eight built-in limits for social posts, search results and ads, plus a custom row for anything else.

SMS parts and encoding

See whether a text message uses the basic GSM-7 alphabet or Unicode, how many parts it needs and how much room is left.

Byte count

The UTF-8 size of your text, for database fields, APIs and file formats that limit bytes rather than characters.

Letters and digits

Letters from any alphabet and number characters are counted separately, so you can check codes, IDs and passwords.

Private by design

No account and no upload. Your text exists only in this tab and is gone when you close it.

Examples

Checking a meta description

Paste this description:

Free online tools for text, code and data. Count characters, format JSON, create strong passwords and convert units in seconds, right in your browser.

You get 150 characters, 127 without spaces and 24 words. The Meta description row shows 150 / 160 and its bar changes color, because you are within 10% of the limit. The Google title tag row shows 90 over: this text is far too long for a title.

How many parts an SMS needs

A single SMS holds 160 characters from the basic GSM-7 alphabet. One character outside that alphabet switches the whole message to Unicode, which holds only 70.

MessageEncodingSMS row shows
Your table for 4 is ready at 7:30 PM. Reply YES to confirm or NO to cancel. (75 characters)GSM-71 part, 85 left
Your table for 4 is ready at 7:30 PM. We’ll hold it for 15 minutes. (67 characters, curly apostrophe)Unicode1 part, 3 left
Your table is ready πŸŽ‰ (21 characters)Unicode1 part, 48 left
161 lettersGSM-72 parts, 145 left

The second message is short, but its curly apostrophe is not part of GSM-7. The emoji in the third message uses two of the 70 Unicode units. Once a message needs more than one part, each part holds 153 GSM-7 characters or 67 Unicode units, because the phone uses the rest to join the parts back together.

Characters versus bytes

You typeCharactersBytes (UTF-8)
Hello, world!1313
cafΓ©45
こんにけは515
πŸ‘πŸ½18
πŸ‡ΊπŸ‡Έ18
πŸ‘¨β€πŸ‘©β€πŸ‘§118

Plain English letters take one byte each. Accented letters take two, Japanese characters three, and an emoji can take 8 bytes or more while still counting as a single character.

Tips

  • Aim for about 150 to 155 characters in a meta description. Google cuts snippets by width on the screen, so a description full of wide letters like W and M can be cut sooner.
  • If an SMS suddenly jumps to Unicode, look for curly quotes and apostrophes. Phones and word processors add them automatically; swapping them for straight ones (' and ") brings back the 160-character limit.
  • Use the Without spaces number when a translation quote or an application form asks for characters "excluding spaces". It removes spaces, tabs and line breaks.
  • Check the Bytes number before you save text into a field with a byte limit, such as some database columns, file names or API fields. Text in other alphabets fills those limits much faster.
  • When you also need reading time, sentences or paragraphs, paste the same text into the Word Counter.

Common mistakes and limits

  • Treating the X row as exactX counts every link as 23 characters, and counts emoji and Chinese, Japanese or Korean characters as two. This tool counts each of those as one, so use the X row as a guide when your post has links or emoji.
  • Taking the title tag limit as a hard ruleGoogle does not cut titles at exactly 60 characters. It cuts them by width, so 60 is a safe target rather than a strict maximum.
  • Missing invisible charactersText copied from web pages or chat apps can contain zero-width spaces. They count as characters but do not show, so a word can look fine and still push you over a limit.
  • Forgetting that line breaks countEach line break is one character here. Some websites count it as two, because forms send it as a carriage return plus a line feed.
  • Expecting the spaces switch to change the SMS rowThe SMS row always counts spaces, because phones send them. The switch only applies to the other limits.

Frequently asked questions

Do spaces count as characters?
Yes, in the Characters number, along with tabs and line breaks. The Without spaces number leaves out every kind of whitespace. Most platforms count spaces, so "Count spaces toward limits" is on by default.
Why does an emoji count as one character?
The counter counts characters the way you see them on screen. An emoji like πŸ‘πŸ½ is stored as two code points and 8 bytes, but it shows as one symbol, so it counts as one.
How many characters fit in one text message?
160 if every character is in the GSM-7 alphabet, which covers English letters, digits, common punctuation and some accented letters. If any character is outside it, the limit drops to 70. Longer messages are split into parts of 153 or 67.
Why do some characters use two SMS units?
Characters such as €, [, ], {, }, ^, ~, \ and | are in an extended GSM-7 table. They are allowed, but each one takes the space of two characters.
What is the difference between characters and bytes?
Characters are what you read. Bytes are how much space the text takes when it is saved or sent as UTF-8, the standard encoding on the web. English letters take one byte, other alphabets and emoji take two to four bytes per code point.
What counts as a letter or a digit?
Letters are letters from any alphabet, including accented, Greek, Cyrillic and Japanese characters. Digits are number characters, which also includes symbols such as Β½ and Β². Spaces, punctuation and emoji are neither.
Are the built-in limits up to date?
They match the published limits: 280 for X, 30 and 90 for Google Ads headlines and descriptions, 100 for YouTube titles, 2,200 for Instagram captions and 3,000 for LinkedIn posts. Title tags and meta descriptions have no official limit; 60 and 160 are the usual targets.
Is my text saved or sent anywhere?
No. Characters are counted on your device, so the text never travels anywhere, and it is cleared as soon as you leave the page.