Skip to content
PithLab

↑↓ to move · Enter to open · Esc to close

Character Counter with X, Instagram and SMS Limits

Character, byte and SMS segment counts with social media limits.

Characters
0
Without spaces
0
UTF-8 bytes
0
Words
0
Lines
0

Platform limits

X post0 / 280 (280 left)

Weighted: links count 23, emoji and CJK characters count 2 (approximation of twitter-text)

Instagram caption0 / 2,200 (2,200 left)

Characters

Instagram bio0 / 150 (150 left)

Characters

LinkedIn post0 / 3,000 (3,000 left)

Characters

Meta title0 / 60 (60 left)

About 60; Google truncates by pixel width

Meta description0 / 160 (160 left)

About 160; Google truncates by pixel width

SMS

Encoding
GSM-7
Septets used
0
Segments
0
Left in this segment
160 of 160 per segment
Use via API

Count characters (grapheme clusters), characters without spaces, UTF-8 bytes, words and lines, plus X post weighted length, SMS encoding and segments, and common platform limits. Send JSON, get JSON back.

POST https://pithlab.com/api/v1/tools/character-counter

curl https://pithlab.com/api/v1/tools/character-counter \
  -H "Authorization: Bearer $PITHLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"Hello, world! 👋"}'

Fields and responseOpenAPI documentGet an API key

About the Character Counter

Count characters, bytes, words and lines, and check limits for X posts, Instagram captions and bios, LinkedIn, meta tags and SMS segments in GSM-7 or UCS-2.

How to use the Character Counter

  1. Type or paste your text.
  2. Read the character, byte, word and line counts at the top.
  3. Check the bars for X, Instagram, LinkedIn and meta tags. A bar turns red when you go over.
  4. See the SMS panel for the encoding, the number of segments and which characters force UCS-2.

Examples

Basic counts

Input

Hello, world!

Output

13 characters, 12 without spaces, 13 bytes, 2 words, 1 line
A link on X counts as 23

Input

Read https://example.com/a-very-long-path today

Output

X weighted length: 34 of 280
The euro sign takes two SMS units

Input

Price: 5€

Output

GSM-7, 10 of 160 units, 1 segment

Frequently asked questions

How are characters counted?

As the characters you see. An emoji such as a family or a flag is one character even though it is made of several Unicode code points. Bytes are the UTF-8 size, which is what many databases and APIs limit.

Why is my X count different from the character count?

X weighs characters. Links always count as 23, emoji count as 2, and Chinese, Japanese and Korean characters count as 2, so a post in those languages fits about 140 characters. This tool follows the published twitter-text rules closely but its link detection is simpler, so treat it as a close estimate.

How are SMS segments worked out?

If every character is in the GSM-7 alphabet, one SMS holds 160 characters, or 153 per part when the message is split. Characters from the GSM extension table, such as the euro sign, { } [ ] and ~, take two places. Any other character, including emoji and curly quotes, switches the whole message to UCS-2, which holds 70, or 67 per part.

Are the meta title and description limits exact?

No. Google cuts titles and descriptions by pixel width, not characters, so about 60 and 160 characters are guides. Wide letters like W use up the space faster than narrow ones like i.

Is my text stored or sent anywhere?

No. Everything is counted in your browser and nothing leaves your device.