Character Limits for X, Instagram, LinkedIn, YouTube, SMS and SEO (2026)
An X post allows 280 characters, an Instagram caption 2,200, a LinkedIn post 3,000, a YouTube title 100 and a single SMS 160. Google sets no limit on titles or meta descriptions; it only shortens them to fit the screen.
Published
These are the limits as of October 2026, each read on the platform’s own help or developer page (listed under Sources). The short version: X 280, Threads 500, Instagram caption 2,200, LinkedIn post 3,000, YouTube title 100 and description 5,000, SMS 160 (or 70 with an emoji). Paste your text into the character counter to see how it fits all of them at once.
The cheat sheet
| Where | Limit | How it is counted |
|---|---|---|
| X (Twitter) post | 280 | Weighted: emoji and CJK characters count 2, every link counts 23 |
| Threads post | 500 | Emoji count as their UTF-8 byte length; at most 5 links |
| Bluesky post | 300 | Graphemes (visible characters), and at most 3,000 bytes |
| Instagram caption | 2,200 | Also at most 30 hashtags and 20 @ tags |
| LinkedIn post | 3,000 | Longer text goes in a LinkedIn article |
| LinkedIn headline | 220 | The line under your name |
| LinkedIn About | 2,600 | Profile summary section |
| YouTube title | 100 | Invalid characters are rejected |
| YouTube description | 5,000 | Invalid characters are rejected |
| TikTok caption (API) | 2,200 | UTF-16 code units, the limit for scheduling tools |
| Pinterest Pin title | 100 | |
| Pinterest Pin description | 800 | |
| SMS, one message | 160 / 70 | 160 in GSM-7, 70 if any character needs Unicode |
| Google Ads headline | 30 | CJK characters count 2 |
| Google Ads description | 90 | CJK characters count 2 |
| Google Ads display path | 15 | Each of the two path fields |
| Title tag (SEO) | no limit | Google truncates to the device width |
| Meta description (SEO) | no limit | Google truncates to the device width |
Two numbers people often ask about are missing on purpose. The Instagram bio limit and the TikTok in-app caption limit are quoted everywhere, but we could not open an official page stating them on 2026-10-21, so they are not in the table. Platforms change limits without notice; if a number matters for a launch, check the source link before you publish.
How X counts 280 characters
X does not count characters one by one. According to its developer documentation, every emoji counts as 2 no matter how many code points it is made of, Chinese, Japanese and Korean characters count as 2, and every URL counts as 23 because X wraps it in a t.co link. Results from the character counter’s X row:
| Text | Characters you see | X count |
|---|---|---|
Hello world |
11 | 11 |
Great news 🎉 |
12 | 13 |
👍🏽 (thumbs up with skin tone) |
1 | 2 |
東京に行く |
5 | 10 |
Read the guide: https://texttoolset.com/blog/character-limits-cheat-sheet |
73 | 39 |
𝐒𝐚𝐥𝐞 (Unicode bold) |
4 | 8 |
Two practical consequences. A long link costs nothing extra, so there is no need to shorten URLs for X. And Unicode “bold” letters cost double, because they are math symbols, not Latin letters; the guide to bold and italic text on social media explains why. The counter treats @mentions that X adds automatically to replies as ordinary text, so a reply may have slightly more room than shown.
Instagram, LinkedIn, YouTube and other networks
Instagram. A caption holds 2,200 characters, 30 hashtags and 20 @ tags (Meta’s Graph API reference).
LinkedIn. Posts hold 3,000 characters; LinkedIn’s help page suggests publishing longer pieces as an article. The profile headline allows 220 characters and the About section 2,600, according to LinkedIn’s own Talent Blog.
YouTube. Titles allow 100 characters and descriptions 5,000, and both reject invalid characters. YouTube’s help page does not list which characters are invalid, so if YouTube refuses to save, look for unusual symbols and remove them with remove special characters.
Threads and Bluesky. Threads allows 500 characters and up to 5 links, and Meta notes that emoji count as their UTF-8 byte length, so a single emoji can use 4 or more of the 500. Bluesky allows 300 graphemes (what you see as one character) and 3,000 bytes.
TikTok and Pinterest. TikTok’s Content Posting API accepts captions up to 2,200 UTF-16 code units, which is the limit that scheduling tools work with. A Pinterest Pin title allows 100 characters and the description 800.
SMS: 160, 70 and segments
A single text message holds 160 characters only when every character is in the GSM-7 alphabet: unaccented Latin letters, digits, common punctuation and some accented letters such as é and ü. One character outside it, such as an emoji, a curly quote or a Chinese character, switches the whole message to UCS-2, which holds 70. Longer messages are split into segments of 153 (GSM-7) or 67 (UCS-2) characters, because each segment carries a header that joins them back together, and senders pay per segment (Twilio’s SMS glossary).
The character counter’s SMS figure shows this with an 82-character delivery text:
| Message | Encoding | Segments |
|---|---|---|
Your order has shipped. Track it here: example.com/t/12345. Reply STOP to opt out. |
GSM-7 | 1 |
Same text with shipped 📦 instead of shipped. |
UCS-2 | 2 |
Same text starting Your order’s (curly apostrophe) |
UCS-2 | 2 |
The curly apostrophe is the one people miss: word processors insert it automatically. Typing a straight ' keeps the message in GSM-7. The characters ^ { } \ [ ] ~ | and € are in GSM-7 but cost 2 each, so 80 euro signs already fill one message. Some gateways swap curly quotes for straight ones before sending; the counter does not, so it reports the cost of the text as written. To strip emoji before sending, use remove emojis.
SEO titles, meta descriptions and Google Ads
Google’s Search Central documentation is explicit: there is no limit on how long a <title> element or a meta description can be. Google truncates both in search results “as needed, typically to fit the device width.” Truncation depends on the pixel width of the letters, so a title full of W’s is cut sooner than one full of i’s.
The figures you see in SEO tools, about 60 characters for a title and about 160 for a description, are rules of thumb, not Google rules. The character counter shows them as “guide” rows. What Google does ask for is a descriptive, concise title with no unnecessarily long or verbose text, so put the words that matter first, where they survive truncation. For the page address itself, see what a URL slug is.
Google Ads is different: its limits are enforced. A text ad headline allows 30 characters, a description 90 and each display path 15, and in Korean, Japanese and Chinese each character counts as 2.
Why counters disagree
The same text can have three honest lengths:
| Text | Graphemes (what you see) | UTF-16 units | UTF-8 bytes |
|---|---|---|---|
café |
4 | 4 | 5 |
Great news 🎉 |
12 | 13 | 15 |
👨👩👧 (family emoji) |
1 | 8 | 18 |
The character counter’s main figure counts graphemes, so the family emoji is 1. Bluesky counts graphemes too; TikTok’s API counts UTF-16 units; Threads counts emoji by bytes; X uses its own weights. That is why the counter’s limits table measures each platform in its own unit instead of applying one number to everything. Hidden characters also add to the count: a pasted zero-width space is invisible but still counts as a character, and remove invisible characters deletes it.
How to check and fit your text
- Paste the text into the character counter. Under Limits to show, choose Social media or SEO and ads to shorten the table, or enter Your own limit for a form field not listed.
- Read the Left column. A minus sign means you are over that platform’s limit.
- To trim, remove double spaces and stray line breaks with remove extra spaces, then cut words.
- To post a long text as a thread, open the text splitter, set Split by to Characters (keeps words whole) and Size of each part to the limit, for example 280. Words are never cut in half.
- If you tick Number the parts (1/5), the splitter keeps room for the “ (1/4)” label, so every part including its label fits the size: 200 short words at size 280 come out as parts of 280, 280, 280 and 180 characters. With a very small size (under about 10) the label itself does not fit and parts come out longer than the size. The splitter counts UTF-16 units, so an emoji usually counts 2 as on X, but a link counts its full length rather than 23 and a Chinese or Japanese character counts 1 rather than 2; paste each part back into the counter if it contains links or CJK text bound for X.
Questions
Do spaces count toward character limits?
Yes. Every platform in this guide counts spaces, line breaks and punctuation as characters. The character counter shows the count with and without spaces, but the number to compare with a limit is the one with spaces.
Why does X say my post is too long when the counter says 270?
X gives emoji and Chinese, Japanese and Korean characters a weight of 2 and counts every link as 23 characters. Unicode "bold" or "italic" letters also count 2 each. The X row in the character counter uses these weights.
Why did my 100-character text message arrive as two messages?
It probably contains one character outside the GSM-7 alphabet, such as an emoji or a curly apostrophe. That switches the whole message to UCS-2, where one message holds 70 characters and longer messages split into 67-character segments.
What is the ideal length for an SEO title and meta description?
Google publishes no character limit for either. It truncates them to fit the device width. Many writers aim for about 60 characters for titles and 160 for descriptions as a rule of thumb, and put the important words first.
How do I split a long text into several posts?
Paste it into the text splitter, choose Characters (keeps words whole), set the size to the platform limit and copy the parts. If you tick Number the parts, the splitter keeps room for the " (1/4)" label, so each numbered part still fits the size.
Sources
- X Developer Platform, Counting characters, https://docs.x.com/fundamentals/counting-characters (checked 2026-10-21)
- Meta for Developers, Instagram Graph API: IG User Media, https://developers.facebook.com/documentation/instagram-platform/instagram-graph-api/reference/ig-user/media (checked 2026-10-21)
- LinkedIn Help, LinkedIn post character limit and posting limits, https://www.linkedin.com/help/linkedin/answer/a528176 (checked 2026-10-21)
- LinkedIn Talent Blog, Recruiters with eye-catching LinkedIn profile headlines, https://www.linkedin.com/business/talent/blog/product-tips/recruiters-with-eye-catching-linkedin-profile-headlines (checked 2026-10-21)
- LinkedIn Talent Blog, LinkedIn profile summaries that we love and how to boost your own, https://www.linkedin.com/business/talent/blog/product-tips/linkedin-profile-summaries-that-we-love-and-how-to-boost-your-own (checked 2026-10-21)
- YouTube Help, Add video titles and descriptions, https://support.google.com/youtube/answer/57404 (checked 2026-10-21)
- TikTok for Developers, Content Posting API: Direct Post reference, https://developers.tiktok.com/doc/content-posting-api-reference-direct-post (checked 2026-10-21)
- Meta for Developers, Threads API: Posts, https://developers.facebook.com/documentation/threads/posts (checked 2026-10-21)
- Pinterest Help, Review Pin specs, https://help.pinterest.com/en/article/review-pin-specs (checked 2026-10-21)
- Bluesky, atproto lexicon app.bsky.feed.post, https://github.com/bluesky-social/atproto/blob/main/packages/api/lexicons/app/bsky/feed/post.json (checked 2026-10-21)
- Twilio, What is the SMS character limit?, https://www.twilio.com/docs/glossary/what-sms-character-limit (checked 2026-10-21)
- Google Ads Help, About text ads, https://support.google.com/google-ads/answer/1704389 (checked 2026-10-21)
- Google Search Central, Influencing your title links in search results, https://developers.google.com/search/docs/appearance/title-link (checked 2026-10-21)
- Google Search Central, Control your snippets in search results, https://developers.google.com/search/docs/appearance/snippet (checked 2026-10-21)