Every text input channel has character limits — 280 for X/Twitter, 2,200 for Instagram captions, 3,000 for LinkedIn posts, 1,500 for TikTok, and 160 for a standard SMS. This counter tracks all of them simultaneously with live visual feedback, so you can write once and know exactly what fits where.
X (Twitter): 280 characters for standard accounts, 25,000 for Premium subscribers. Instagram: 2,200 characters for feed captions, 300 for comments. LinkedIn: 3,000 for personal posts, 700 for company updates. Threads: 500. TikTok: 2,200. Facebook: 63,206 (effectively no practical limit). SMS: 160 GSM-7 characters; if you use extended characters (emojis, accented letters), the message uses UCS-2 encoding and the limit drops to 70 per segment. This counter distinguishes GSM-7 from Unicode SMS automatically.
No. URLs are always counted as 23 characters regardless of actual length. Emojis count as 2 characters (they are encoded as surrogate pairs in the Twitter API). Mentions and hashtags count normally.
Standard SMS is 160 GSM-7 characters. Using emojis, special symbols, or certain accented characters switches the encoding to UCS-2, which supports Unicode but reduces the per-segment limit to 70. Long SMS messages are split into segments of 153 (GSM-7) or 67 (UCS-2) when using concatenated SMS.
Instagram captions can be up to 2,200 characters. Only the first 125 characters show without a "more" tap in the feed. Instagram also truncates hashtags at the end at various points in the algorithm — keeping captions concise often improves engagement.
Yes. Emoji are multi-byte Unicode characters — some are represented by multiple code points (emoji sequences with zero-width joiners). The counter uses JavaScript's spread operator over the string to count by Unicode code points, not by UTF-16 code units.
See also the Word Count tool, the Truncate Text tool, and the Word Wrap utility.