Tooleem
TextThis tool runs in your browser. No files or text are sent to our servers.

Character Limit Checker

Check your text against X/Twitter, Instagram, LinkedIn, TikTok, and other platform character limits at once, with accurate Unicode-aware counting (emoji count correctly). Runs in your browser.

Characters: 0
X (Twitter) post0/280 (280 remaining)
Threads post0/500 (500 remaining)
Bluesky post0/300 (300 remaining)
Instagram caption0/2,200 (2,200 remaining)
TikTok caption0/2,200 (2,200 remaining)
LinkedIn post0/3,000 (3,000 remaining)
Facebook post0/63,206 (63,206 remaining)
YouTube video title0/100 (100 remaining)
SMS (single segment, GSM-7 encoding)0/160 (160 remaining)

These are published platform limits as commonly documented โ€” platforms can and do change them, so double-check on the platform itself if it matters.

Share toolWhatsApp

A free character limit checker that compares your text against X (Twitter), Threads, Bluesky, Instagram, TikTok, LinkedIn, Facebook, YouTube video titles, and SMS limits all at once, plus a custom limit you set yourself. Character counting uses Unicode code points, so emoji and non-Latin text are counted the way you would actually expect, not inflated by how they happen to be encoded internally. Everything runs in your browser, and nothing is stored.

01

How to use this tool

  1. 01Type or paste your textThe character count and every platform check update automatically as you type.
  2. 02Check which limits you fit underEach platform shows your current count against its limit, with how much room is left or how far over you are.
  3. 03Add a custom limit if you need oneEnter any number to check your text against a limit not in the default list.
02

When is this useful?

  • Writing a post for multiple platforms at onceSee at a glance whether the same caption fits under X, Instagram, LinkedIn, and TikTok limits simultaneously, before you have to trim it differently for each one.
  • Fitting a message into an SMS segmentCheck whether a text message stays within a single 160-character SMS segment, since longer messages are typically split (and billed) as multiple segments.
  • Checking a YouTube video title lengthMake sure a video title stays within YouTube's title limit before it gets cut off in search results or on the video page.
03

Examples

  • Why an emoji only counts as one character hereA character like ๐Ÿ˜€ is stored internally as two 16-bit code units (a "surrogate pair"), but it is one visible character โ€” this tool counts it as 1, matching how most platforms count it, not 2.
  • A post that fits X but not Threads-adjacent short limitsA 300-character post fits comfortably under Threads' 500-character and Instagram's 2,200-character limits, but goes 20 characters over X's 280-character limit โ€” a common reason to trim text differently per platform.
  • SMS segmentationA message of exactly 160 characters (using standard GSM-7 encoding) fits in one SMS segment; one character more typically pushes it into a second segment, which many carriers bill separately.
04

How characters are counted

This tool counts Unicode code points (using JavaScript's code-point-aware string iteration), which correctly counts common emoji and non-Latin scripts as a human would expect โ€” unlike a naive count of UTF-16 code units, which would count many emoji as 2 characters instead of 1. This is not full grapheme-cluster counting: a small number of complex, multi-codepoint emoji sequences (like some family or skin-tone-modifier emoji, built from several codepoints joined together) can still count as more than one character here, similar to how a number of real platforms also count them.

05

Why these limits can change

Every limit shown here is a real, published figure as commonly documented for each platform, but platforms revise these limits over time (for example, premium/paid tiers on some platforms unlock a much higher limit than the free tier). Treat the numbers here as a reliable starting point, not a permanent guarantee โ€” if a limit is critical for your use case, verify it directly on the platform.

06

SMS segments explained

A standard SMS message using GSM-7 character encoding fits 160 characters in a single segment. Messages using characters outside the GSM-7 alphabet (many emoji, some accented characters, and non-Latin scripts) typically switch to UCS-2 encoding, which lowers the single-segment limit to 70 characters โ€” this tool shows the more commonly cited 160-character GSM-7 figure as a general reference, not a guarantee for every character set or carrier.

07

Frequently asked questions

Why does this count emoji differently from a plain JavaScript character count?

Many emoji are stored as a "surrogate pair" (two 16-bit code units) internally, so a naive `.length` count would count one visible emoji as 2 characters. This tool counts Unicode code points instead, so a single emoji counts as 1 character, matching how most platforms and most people would count it.

Are these limits guaranteed to be accurate?

They are real, commonly published figures, but platforms change their limits over time (and sometimes offer different limits for paid tiers). Treat this as a reliable reference, and verify directly on the platform if the exact limit matters for your use case.

Why is the SMS limit shown as 160, when I have heard 70 characters elsewhere?

160 characters applies to a single SMS segment using standard GSM-7 encoding. If your message uses characters outside that encoding (many emoji, some accented characters, or non-Latin scripts), it typically switches to UCS-2 encoding, which lowers the single-segment limit to 70 characters.

Is my text saved?

No. Everything is calculated in your browser; nothing is sent to a server.

Related tools

Related tools

Missing a tool, or found a bug?We build Tooleem around what you need. Tell us what to add or fix.
Tell us