Runs in your browser · text never leaves this device
Character Counter
Count characters the way each platform does — X's weighted count, UTF-16 units, bytes and SMS segments — and see at a glance how much room you have left.
Platform limits
Limits checked 7 October 2026. Sources are listed below.
X (Twitter)
Post
0 / 280
280 leftWeighted: links 23, emoji and CJK 2
Instagram
Caption
0 / 2,200
2,200 leftUTF-16 code units (emoji = 2)
LinkedIn
Post
0 / 3,000
3,000 leftUTF-16 code units (emoji = 2)
TikTok
Caption (app)
0 / 4,000
4,000 leftreportedUTF-16 code units (emoji = 2)
YouTube
Video title
0 / 100
100 leftUTF-16 code units (emoji = 2)
Google Search
Title tag (guide)
0 / 60
60 leftguidecharacters as you see them
Google Search
Meta description (guide)
0 / 160
160 leftguidecharacters as you see them
SMS
Text message
0 / 160
160 per messageGSM-7 · 0 septets
How the counts work
- CharactersUser-perceived characters (Unicode grapheme clusters, via
Intl.Segmenter). 👍🏽 and 🇬🇧 count as one. - UTF-16 unitsWhat JavaScript's
lengthand HTMLmaxlengthcount. Used for limits whose platform doesn't say how it counts, because it's the stricter common method. - X weighted lengthNFC-normalise · each link = 23 · each emoji = 2 · code points U+0000–10FF, U+2000–200D, U+2010–201F, U+2032–2037 = 1 · everything else = 2From the published twitter-text v3 configuration. Links typed without http:// are detected for common domain endings; X's own list of endings is longer.
- SMSGSM-7 if every character is in the GSM 03.38 alphabet (extension characters count 2), otherwise UCS-2. One message: 160 / 70. Split messages: 153 / 67 per segment.
Worked example
Big news 🎉 read more at https://example.com/launch-announcement
- 63 characters, 64 UTF-16 units, 66 UTF-8 bytes, 7 words.
- On X: “Big news ” 9 + 🎉 2 + “ read more at ” 14 + link 23 = 48 of 280.
- SMS: 161 plain letters = 2 segments (153 + 8). “Price: €20 {incl. VAT}” is GSM-7 but € { } count 2, so 25 septets. “Don’t forget!” uses a curly apostrophe, so it's UCS-2 — 70 per message, not 160.
Character limits by platform
Checked 7 October 2026. “Official” means the number is stated in the platform's own help or developer documentation; “reported” means the app enforces it but no current official page states it. Platforms change limits without notice — if the app disagrees, trust the app.
| Platform | Field | Limit | Counted as | Status |
|---|---|---|---|---|
| X (Twitter) | PostStandard accounts. Links count as 23, each emoji as 2, CJK and most other scripts as 2. X Premium allows long posts of up to 25,000 characters. | 280 | X weighted characters | Official |
| CaptionAlso at most 30 hashtags and 20 @ tags. About the first 125 characters show before “more”. | 2,200 | UTF-16 code units (emoji = 2) | Official | |
| BioEnforced by the app; widely reported, not published by Instagram. | 150 | UTF-16 code units (emoji = 2) | Reported | |
| PostFeed posts are cut after roughly 210 characters on desktop behind “…see more”. | 3,000 | UTF-16 code units (emoji = 2) | Official | |
| HeadlineEnforced by the profile editor; widely reported, not published by LinkedIn. | 220 | UTF-16 code units (emoji = 2) | Reported | |
| TikTok | Caption (app)Raised to 4,000 in 2023 in the app; widely reported, not published by TikTok. | 4,000 | UTF-16 code units (emoji = 2) | Reported |
| TikTok | Caption (via scheduler / API)“The maximum length is 2200 in UTF-16 runes.” Applies to scheduling tools that post through the API. | 2,200 | UTF-16 code units (emoji = 2) | Official |
| YouTube | Video titleMay not contain < or >. Search results usually show about the first 60–70 characters. | 100 | UTF-16 code units (emoji = 2) | Official |
| YouTube | Video descriptionThe limit is 5,000 bytes, so accented letters, emoji and non-Latin scripts use it up faster. May not contain < or >. | 5,000 | UTF-8 bytes | Official |
| PostLong posts are cut behind “See more” after a few lines. | 63,206 | UTF-16 code units (emoji = 2) | Reported | |
| Pin titleOnly the first 30–40 characters usually show in feeds. | 100 | UTF-16 code units (emoji = 2) | Official | |
| Pin descriptionDescriptions are not shown in the home feed but are used for relevance. | 800 | UTF-16 code units (emoji = 2) | Official | |
| Google Search | Title tag (guide)Google sets no limit; it truncates title links to fit the device width (pixels, not characters). About 60 characters is a common rule of thumb. | 60 | characters as you see them | Guideline |
| Google Search | Meta description (guide)Google sets no limit; snippets are truncated to fit the device width. 150–160 characters is a common rule of thumb. | 160 | characters as you see them | Guideline |
| SMS | Text message160 GSM-7 characters or 70 UCS-2 per single message; 153 / 67 per segment when split. ^ { } [ ] ~ \ | € count as 2. | 160 | GSM-7 septets or UCS-2 units | Official |
Sources (checked 7 October 2026)
- X Developer Platform — Counting characters; twitter-text config v3
- Meta for Developers — Instagram API, IG User Media (caption)
- Instagram app (Edit profile); no current Help Center page states the number
- LinkedIn Help — Post and share updates
- LinkedIn profile editor (Edit intro); not stated on a current Help page
- TikTok app; no TikTok Support page states the number
- TikTok for Developers — Content Posting API, Direct Post reference
- YouTube Data API — Videos resource (snippet.title, snippet.description)
- Reported since 2011 (e.g. TechRadar); not stated in Meta's Help Center
- Pinterest Help — Review Pin specs
- Google Search Central — Influencing title links
- Google Search Central — Control your snippets
- 3GPP TS 23.038 (GSM 7-bit alphabet); Twilio Docs — SMS character limit
- twitter-text config/v3.json (weights and ranges)
Frequently asked questions
How does X (Twitter) count characters?+
A standard X post holds 280 weighted characters. Latin letters, digits, common punctuation and most European, Arabic, Hebrew and Indic scripts count 1. Every emoji counts 2 — even a family or flag made of several code points. Chinese, Japanese and Korean characters count 2, so 140 fit. Every link counts 23, however long it is. X Premium accounts can post up to 25,000 characters.
Why does one emoji count as 2 (or more) characters?+
Most emoji sit outside Unicode's Basic Multilingual Plane, so they take two UTF-16 code units, which is what JavaScript and many sites' maxlength count. Emoji with skin tones, flags and families are several code points joined together — 👨👩👧 is 1 visible character but 8 UTF-16 units and 18 UTF-8 bytes. This counter shows all three.
What is the Instagram caption and bio limit?+
Captions can be up to 2,200 characters (Meta's Instagram API documentation also caps a caption at 30 hashtags and 20 @ mentions). Only about the first 125 characters show before “more”. The bio limit is 150 characters; Instagram enforces it in the app but doesn't publish the number on a help page.
How long should a title tag and meta description be?+
Google sets no character limit. It truncates title links and snippets to fit the device width, measured in pixels, so wide letters like W and M run out sooner than i or l. As a rule of thumb keep titles to about 60 characters and meta descriptions to about 150–160, with the important words first.
How many characters fit in one SMS?+
160 if every character is in the GSM-7 alphabet, or 70 if any character isn't (an emoji, a curly apostrophe ’, or most non-Latin letters force UCS-2). Longer messages are split into segments of 153 or 67 because each part carries a header. The characters ^ { } [ ] ~ \ | and € are in GSM-7 but count as 2.
Why do different character counters give different numbers?+
They count different things: visible characters (graphemes), Unicode code points, UTF-16 code units or bytes. For plain English text they agree; for emoji, accented letters typed as two parts, and many scripts they don't. Each meter here uses the unit its platform documents — for example YouTube's 5,000-character description limit is really 5,000 bytes.
Is my text uploaded?+
No. Counting runs entirely in your browser and your text is never sent or stored. If you tick “Remember my meters”, only the list of meters you chose is saved on this device.