Social Media Character Limits Checker
One text, every platform’s limit — counted the way each platform counts it.
The main text of a post, caption or message.
Type or paste your text to check it.
Results
Your text fits every limit here. Untick “Only show limits it doesn’t fit” to see them all.
Where it’s cut
All limits
X (Twitter) 10 limits
| Field | Limit | Details and source |
|---|---|---|
| Post | 280 characters Weighted: links 23, emoji 2, CJK 2 | Weighted: every link counts as 23, every emoji as 2 and Chinese, Japanese and Korean characters as 2. Replies have the same limit. X Developer Platform — Counting characters twitter-text v3 configuration (X, open source) |
| Post (X Premium) | 25,000 characters Weighted: links 23, emoji 2, CJK 2 | Premium subscribers can post up to 25,000 characters; everyone can read longer posts. X does not say whether the 23-character link rule applies, so the same weighting is used here. X Help Center — About X Premium (archived copy) |
| Name | 50 characters Characters as you see them | X Help Center — Help with username registration (archived copy) |
| Username (@handle) | 15 characters Characters as you see them | Usernames containing “X” or “Admin” cannot be claimed unless they are official X accounts.Only letters A–Z, digits 0–9 and underscores (_) — no spaces, dots or dashes. X Help Center — Help with username registration (archived copy) X API — Get user by username |
| Bio | 160 characters Characters as you see them | X Help Center — How to customize your profile (archived copy) |
| Image description (alt text) | 1,000 characters Characters as you see them | X API — Create media metadata (alt text) |
| Poll choice | 25 characters Characters as you see them | 2–4 choices per poll. X API — Create post (polls) |
| List name | 25 characters Characters as you see them | X API — Create list |
| List description | 100 characters Characters as you see them | X API — Create list |
| Hashtags per post (recommended) | 2 hashtags (recommended) Number of #hashtags | X recommends no more than 2 hashtags per post but allows more. Spaces and punctuation end a hashtag. X Help Center — How to use hashtags (archived copy) |
Instagram 6 limits
| Field | Limit | Details and source |
|---|---|---|
| Caption (post or reel) | 2,200 characters Characters as you see them | Instagram Platform — IG User media (caption, alt_text) |
| Hashtags per post or reel | 5 hashtags Number of #hashtags | Up to 5 (previously 30). Instagram’s help centre says a comment will not post if the photo or video would then have more than 5 tags, so a “first comment” does not get around the limit. Spaces and characters such as $ or % do not work in hashtags; numbers do. Instagram Help Centre — Use hashtags on Instagram Instagram @creators on Threads — “up to 5 hashtags in a reel or post” |
| @ mentions per caption | 20 mentions Number of @mentions | Instagram Platform — IG User media (caption, alt_text) |
| Alt text (image, set through the API) | 1,000 characters Characters as you see them | Instagram’s API documents 1,000 characters for image alt text; reels and stories are not supported there. Instagram Platform — IG User media (caption, alt_text) |
| Feed ad primary text (recommended) | 125 characters (recommended) Characters as you see them | Meta Ads Guide — Instagram Feed image ads |
| Feed ad headline (recommended) | 40 characters (recommended) Characters as you see them | Meta Ads Guide — Instagram Feed image ads |
Threads 5 limits
| Field | Limit | Details and source |
|---|---|---|
| Post | 500 characters Characters; emoji count as their UTF-8 bytes | Emoji count as their UTF-8 size (4 or more each). One topic tag per post. Threads API — Posts |
| Links per post | 5 links Number of different links | Every different URL counts. Posts with more than 5 links fail. Threads does not say how it finds links, so X’s link rules are used here. Threads API — Posts |
| Text attachment | 10,000 characters Characters as you see them | A long-text attachment on a text-only post (not with a poll). Threads API — Text attachments |
| Topic tag | 50 characters Characters as you see them | Only one topic tag per post; in text, a tag ends at a space, . & @ ! ? , ; or :.Topic tags cannot contain periods (.) or ampersands (&). Threads API — Posts |
| Poll option | 25 characters Characters as you see them | 2–4 options per poll. Threads API — Polls |
Facebook 4 limits
| Field | Limit | Details and source |
|---|---|---|
| Username | at least 5 characters Characters as you see them | Generic terms and domain endings such as .com cannot be used.Only letters A–Z, digits 0–9 and periods (.). Facebook Help Centre — Username guidelines |
| Page description (about) | 100 characters Characters as you see them | The Graph API’s “about” field, shown as Description in Edit Page Info. Facebook Graph API — Page (about field) |
| Feed ad primary text (recommended) | 50–150 characters (recommended) Characters as you see them | Meta recommends 50–150 characters. Meta Ads Guide — Facebook Feed image ads |
| Feed ad headline (recommended) | 27 characters (recommended) Characters as you see them | Meta Ads Guide — Facebook Feed image ads |
LinkedIn 6 limits
| Field | Limit | Details and source |
|---|---|---|
| Post | 3,000 characters Characters as you see them | LinkedIn does not document how it counts emoji or styled Unicode letters; leave a few characters spare. LinkedIn Help — Post and share updates |
| InMail subject | 200 characters Characters as you see them | LinkedIn Help — InMail character limits |
| InMail message | 1,900 characters Characters as you see them | LinkedIn Help — InMail character limits |
| Ad introductory text | 3,000 characters Characters as you see them | Up to 10 emoji. Links longer than 23 characters are converted to a short link. LinkedIn Marketing Solutions Help — Single image ads specifications |
| Ad headline | 200 characters Characters as you see them | LinkedIn Marketing Solutions Help — Single image ads specifications |
| Ad description | 300 characters Characters as you see them | LinkedIn Marketing Solutions Help — Single image ads specifications |
TikTok 5 limits
| Field | Limit | Details and source |
|---|---|---|
| Video caption (posted through the API) | 2,200 UTF-16 units UTF-16 units (most emoji count 2) | The limit TikTok documents for apps and schedulers that post for you, counted in UTF-16 units (most emoji use 2). TikTok’s help pages do not state the in-app limit. TikTok Content Posting API — Direct Post reference (archived copy) |
| Photo post title (API) | 90 UTF-16 units UTF-16 units (most emoji count 2) | TikTok Content Posting API — Photo Post reference (archived copy) |
| Photo post description (API) | 4,000 UTF-16 units UTF-16 units (most emoji count 2) | TikTok Content Posting API — Photo Post reference (archived copy) |
| Name (nickname) | 30 characters Characters as you see them | Can be changed once every 7 days. TikTok Support — Changing your nickname (archived copy) |
| Username | no length limit given Characters as you see them | TikTok’s help page gives no length limit. A username can be changed once every 30 days.Only letters, numbers, underscores (_) and periods (.).A username cannot end with a period. TikTok Support — Changing your username (archived copy) |
YouTube 7 limits
| Field | Limit | Details and source |
|---|---|---|
| Video title | 100 characters Characters as you see them | Titles cannot contain < or >. YouTube Help — Edit video settings YouTube Data API — Videos (title, description, tags) |
| Video description | 5,000 characters Characters as you see them | YouTube Help says 5,000 characters; the YouTube Data API counts 5,000 bytes, so tools that upload for you may stop sooner for non-Latin text and emoji.Descriptions cannot contain < or >. YouTube Help — Edit video settings YouTube Data API — Videos (title, description, tags) |
| Video tags (all tags together) | 500 characters Characters incl. commas and quotes | Separate tags with commas. The commas count, and a tag with a space counts 2 extra for the quotation marks it is wrapped in. YouTube Data API — Videos (title, description, tags) |
| Hashtags per video | 60 hashtags Number of #hashtags | With more than 60 hashtags, YouTube ignores all of them. Up to 3 from the description appear by the title. Hashtags cannot contain spaces. YouTube Help — Find playlists & videos using hashtags |
| Handle | 3–30 characters Characters as you see them | Han or Hangul only: 1–10 characters; Ethiopic, Hiragana or Katakana only: 2–20.Only letters, digits, underscores (_), hyphens (-), periods (.) and middle dots (·).A separator (_ - . ·) cannot be the first or last character. YouTube Help — Learn about YouTube handles |
| Channel description | 1,000 characters Characters as you see them | YouTube Data API — Channels (description, keywords) |
| Channel keywords (all together) | 500 characters Characters as you see them | YouTube Data API — Channels (description, keywords) |
Pinterest 5 limits
| Field | Limit | Details and source |
|---|---|---|
| Pin title | 100 characters Characters as you see them | Pinterest Business Help — Review ad specs Pinterest API v5 description (Pin fields) |
| Pin description | 800 characters Characters as you see them | Descriptions are not shown in the home or search feed. Pinterest Business Help — Review ad specs Pinterest API v5 description (Pin fields) |
| Pin alt text | 500 characters Characters as you see them | Pinterest API v5 description (Pin fields) |
| Profile bio (About) | 500 characters Characters as you see them | Pinterest Help — Edit your profile |
| Username | 3–30 characters Characters as you see them | Only letters, numbers and underscores — no spaces or punctuation.A username cannot be made of numbers only. Pinterest Help — Edit your profile |
Reddit 6 limits
| Field | Limit | Details and source |
|---|---|---|
| Post title | 300 characters Characters as you see them | Reddit API documentation (submit, flair, messages) |
| Post body | 40,000 characters Characters as you see them | 80,000 with Reddit Premium. Communities can set shorter limits of their own. Reddit Help — What is a Reddit Premium subscription? |
| Community name | 3–21 characters Characters as you see them | Cannot be changed after the community is created. Reddit Help — How to create a community |
| Community description | 500 characters Characters as you see them | Plain text only — markdown does not work here. Reddit Help — Community settings |
| Flair text | 64 characters Characters as you see them | Reddit API documentation (submit, flair, messages) |
| Private message subject | 100 characters Characters as you see them | Reddit API documentation (submit, flair, messages) |
Bluesky 7 limits
| Field | Limit | Details and source |
|---|---|---|
| Post | 300 characters and 3,000 bytes Characters as seen, links shortened, plus a byte cap | Characters as you see them, and at most 3,000 bytes. The Bluesky app shortens long links (for example to example.com/blog/2026/10...) and counts the short form. AT Protocol lexicon — app.bsky.feed.post AT Protocol — Lexicon specification (maxLength is in UTF-8 bytes) Bluesky app source — how links are shortened (url-helpers.ts) |
| Display name | 64 characters and 640 bytes Characters as seen, plus a byte cap | AT Protocol lexicon — app.bsky.actor.profile |
| Bio (description) | 256 characters and 2,560 bytes Characters as seen, plus a byte cap | AT Protocol lexicon — app.bsky.actor.profile |
| Image alt text (Bluesky app) | 2,000 characters Characters as you see them | A limit of the official app; the protocol itself sets none. Bluesky app source — limits (constants.ts) |
| Direct message | 1,000 characters and 10,000 bytes Characters as seen, plus a byte cap | AT Protocol lexicon — chat.bsky.convo.defs |
| Hashtag | 64 characters and 640 bytes Characters as seen, plus a byte cap | Longer hashtags are not turned into tags. A post can also carry up to 8 extra tags outside the text. AT Protocol lexicon — app.bsky.feed.post |
| Handle (name.bsky.social) | 3–18 characters Characters as you see them | The part before .bsky.social. A handle on your own domain can be up to 253 characters, each part up to 63.Only letters A–Z, digits and hyphens (-). Type the part before .bsky.social.A handle cannot start or end with a hyphen. Bluesky PDS source — handle rules |
Mastodon 6 limits
| Field | Limit | Details and source |
|---|---|---|
| Post | 500 characters Characters as seen; links count 23 | Default for Mastodon servers (each server can change it). Links starting with http:// or https:// count as 23; for @user@server only @user counts. A content warning counts towards the same 500. Mastodon documentation — Posting to your profile Mastodon v4.7.3 source (account, status and media validators) mastodon.social server configuration (/api/v2/instance) |
| Display name | 40 characters Characters as you see them | Mastodon 4.7 and mastodon.social allow 40; the documentation still says 30, the old default. Mastodon v4.7.3 source (account, status and media validators) mastodon.social server configuration (/api/v2/instance) |
| Bio | 500 characters Characters as seen; links count 23 | Links count as 23 here too. Mastodon v4.7.3 source (account, status and media validators) mastodon.social server configuration (/api/v2/instance) |
| Username | 30 characters Characters as you see them | Only letters a–z, digits and underscores (_). Mastodon v4.7.3 source (account, status and media validators) |
| Media description (alt text) | 10,000 characters Characters as you see them | Mastodon 4.7 default, as configured on mastodon.social. Every server reports its own limit, and older versions allow less. Mastodon v4.7.3 source (account, status and media validators) mastodon.social server configuration (/api/v2/instance) |
| Poll option | 50 characters Characters as you see them | Up to 4 options (Mastodon 4.7 default; the documentation still says 25 characters). Mastodon v4.7.3 source (account, status and media validators) mastodon.social server configuration (/api/v2/instance) |
Snapchat 2 limits
| Field | Limit | Details and source |
|---|---|---|
| Username | 3–15 characters Characters as you see them | Cannot be or include a phone number. Can be changed once a year.Only Latin letters, numbers and - _ . (no other special characters).Must start with a letter.Must end with a letter or a number. Snapchat Support — How do I change my Snapchat username? |
| Display name | 30 characters Characters as you see them | Including spaces. Emoji and most special characters are allowed; a phone number is not. Snapchat Support — What is a Display Name on Snapchat? |
Discord 9 limits
| Field | Limit | Details and source |
|---|---|---|
| Message | 2,000 characters Characters as you see them | Discord Support — Account caps, server caps and more Discord Developer Docs — Message resource |
| Message (Nitro) | 4,000 characters Characters as you see them | Discord Support — Account caps, server caps and more |
| Username | 2–32 characters Characters as you see them | Only letters, numbers, underscores (_) and periods (.). Usernames are lowercase.Two periods in a row are not allowed. Discord Support — New usernames & display names |
| Display name | 32 characters Characters as you see them | Spaces, emoji and non-Latin letters are allowed. Discord limits some zero-width and non-rendering characters in names. Discord Support — New usernames & display names Discord Developer Docs — User resource (names) |
| About Me | 190 characters Characters as you see them | Includes emoji, markdown and links. Discord Support — Custom profiles (About Me) |
| Server name | 2–100 characters Characters as you see them | Discord Developer Docs — Guild resource |
| Channel topic | 1,024 characters Characters as you see them | Forum and media channels allow 4,096. Discord Developer Docs — Channel resource |
| Attachment description (alt text) | 1,024 characters Characters as you see them | Discord Developer Docs — Message resource |
| Embed description (bots and webhooks) | 4,096 characters Characters as you see them | Embed title 256, field name 256, field value 1,024, footer 2,048; at most 6,000 across all embeds of a message. Discord Developer Docs — Message resource |
Twitch 7 limits
| Field | Limit | Details and source |
|---|---|---|
| Chat message | 500 characters Characters as you see them | Twitch API reference |
| Channel description (bio) | 300 characters Characters as you see them | Twitch API reference |
| Channel tag | 25 characters Characters as you see them | Up to 10 tags per channel.No spaces or special characters. Twitch API reference |
| Poll question | 60 characters Characters as you see them | Twitch API reference |
| Poll choice | 25 characters Characters as you see them | 2–5 choices per poll. Twitch API reference |
| Prediction outcome | 25 characters Characters as you see them | The prediction title allows 45; 2–10 outcomes. Twitch API reference |
| Schedule segment title | 140 characters Characters as you see them | Twitch API reference |
Google Business Profile 2 limits
| Field | Limit | Details and source |
|---|---|---|
| Business description | 750 characters Characters as you see them | Links are not allowed in the business description. Google Business Profile Help — Edit your Business Profile |
| Reply to a review (API) | 4,096 bytes UTF-8 bytes | Measured in UTF-8 bytes: an English letter is 1 byte, a Hindi letter 3 and most emoji 4. Business Profile API — accounts.locations.reviews (ReviewReply) |
Only limits a platform documents are listed, each from the linked page. Platforms change limits without notice — if the app disagrees, the app is right.
About the Social Media Character Limits Checker
Paste a post, caption, bio, display name, username, title or alt text and see straight away whether it fits on X, Instagram, Threads, Facebook, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Bluesky, Mastodon, Snapchat, Discord, Twitch and Google Business Profile. Every platform is measured the way it counts: X weights links and emoji, Bluesky limits characters and bytes and shortens links, Mastodon counts every link as 23, Threads counts emoji by their UTF-8 size and TikTok’s API counts UTF-16 units.
Under the checker is the full reference table — every limit with a link to its source. Only limits that a platform publishes in its help centre, API documentation, official announcements or open-source code are included. Where a platform does not document a number, it is left out rather than guessed.
How to use it
- Type or paste your text into the box.
- Choose what the text is in Check as: a post or caption, a bio, a display name, a username, a title, alt text, ad text, a message, a poll option or a tag.
- Read the results. Each row shows the platform’s own count, the limit and what is left; it turns amber near the limit and red when the text does not fit. Usernames are also checked for the characters each platform allows.
- Press Show where it’s cut on a row to see the part that does not fit highlighted, and where a documented “more” fold falls.
- Look anything up in All limits: filter the table, follow the source links, or copy or download it as CSV.
Examples
Read the guide: https://example.com/blog/indian-street-food-guide-2026 🍛
X 42 · Bluesky 45 · Mastodon 41 · Threads 75 · LinkedIn 72 · TikTok (API) 73
X and Mastodon count the link as 23. Bluesky counts it as the app shortens it, example.com/blog/indian-... (27). Threads counts the emoji as 4 (its UTF-8 size) and TikTok’s API as 2 (UTF-16 units); LinkedIn counts what you see: 72 characters.
121 family emoji 👨👩👧👦
121 of 300 characters, but 3,025 of 3,000 bytes — 25 bytes over
Each family emoji is one character but 25 bytes in UTF-8. Long posts in Hindi, Tamil or other scripts that need 3 bytes per letter can hit the byte cap the same way.
john.doe
Fine on Discord, Snapchat, TikTok, Facebook and YouTube · not allowed on X, Pinterest, Mastodon or Bluesky
X, Pinterest and Mastodon allow only letters, digits and underscores, and a Bluesky handle only letters, digits and hyphens before .bsky.social.
Common uses
- Writing one announcement and checking it fits every network you post to before scheduling it.
- Choosing a username or display name that works the same on every platform.
- Checking alt text, video titles and Pin titles against their limits.
- Keeping ad text within the length each ad platform recommends, so it is not cut off.
- Settling “what is the limit, really?” with a link to the platform’s own page.
How each platform counts
- X: a weighted count from X’s open-source twitter-text library: letters, digits and most punctuation count 1; emoji and Chinese, Japanese and Korean characters count 2; every link counts 23, however long. X Premium allows 25,000.
- Bluesky: at most 300 characters as you see them (graphemes) and 3,000 bytes of UTF-8. The Bluesky app shortens long links before saving — https://www.example.com/blog/2024/10/a-long-post becomes www.example.com/blog/2024/10... — and the short form is what counts.
- Mastodon: 500 characters by default (each server can change it). Links that start with http:// or https:// count as 23; in @[email protected] only @alice counts. A content warning counts towards the same 500.
- Threads: 500 characters, with each emoji counted as its UTF-8 size (4 or more), and at most 5 different links.
- TikTok: the documented limits are for its posting API, counted in UTF-16 units — most emoji count 2.
- Google review replies: 4,096 bytes of UTF-8.
- Everything else: characters as you see them, so 👍🏽 or 🇮🇳 counts as 1. Platforms that do not say how they count emoji may count them as more.
Limits that are not listed, and why
Some limits you may be looking for are enforced in the apps but not published anywhere official: Instagram’s bio and username length, LinkedIn’s headline, About and comment lengths, Facebook’s post length, TikTok’s in-app caption and bio, comment lengths on Instagram, YouTube and Reddit, Reddit’s username length, and Google Business Profile posts. The numbers quoted for them online are copied from site to site, and copies go stale: many lists still give Instagram’s old limit of 30 hashtags (even Meta’s API reference still says 30), although Instagram’s help centre says 5. When you need one of these, check it in the app itself.
Where the “more” fold falls
Only a few platforms document where text is cut off in feeds, and the checker marks those: Pinterest says the first 40 characters of a Pin title may show in feeds (30 in Chinese, Japanese, Korean or Arabic), and LinkedIn says ad introductory text up to 150 characters, headlines up to 70 and descriptions up to 100 avoid truncation. YouTube only says viewers see “the first few lines” of a description before Show more, and Instagram, X and LinkedIn do not publish where post text is cut — it depends on the screen width and the line breaks. For a visual preview, use the Instagram Line Break Generator or the LinkedIn Text Formatter.
How these limits were checked
Every number was read from the page linked next to it in the table: help centres, API references, official announcements and, for Bluesky and Mastodon, their open-source code. Where a help centre blocks automated reading (X and TikTok), the Internet Archive copy of the official page was used and is linked too. Mastodon’s numbers come from the current release (4.7.3) and the live settings of mastodon.social, because the documentation still shows older defaults (30-character display names, 25-character poll options). Platforms change limits without notice — if a post is rejected, the platform’s own counter is right.
Limitations
- Platforms change limits without warning. If the app disagrees, trust the app.
- Mastodon servers set their own limits; the checker uses the defaults of Mastodon 4.7 as configured on mastodon.social.
- Links are found with X’s twitter-text rules for X, Threads and Mastodon, and with Bluesky’s own pattern for Bluesky. Links typed without https:// are only recognised when they end in a domain ending from twitter-text’s list.
- A Mastodon content warning counts towards the same 500 characters, but the checker only counts the text in the box.
- Hashtags and @ mentions are counted with simple rules (# or @ followed by letters, digits or underscores); platforms may treat unusual tags differently.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
Why does X count my post as longer than it looks?
X weights characters: emoji and Chinese, Japanese or Korean characters count 2, and every link counts 23 because X wraps it in a t.co short link. A post full of emoji or CJK text holds about 140 characters.
Is the Instagram hashtag limit 30 or 5?
Five. Instagram’s help centre says you can use up to 5 tags on a post — and that a comment will not post if the photo or video would then have more than 5, so putting hashtags in the first comment does not get around it. The older figure of 30 still appears in Meta’s API reference.
Why does Bluesky say my post is too long when it has fewer than 300 characters?
Bluesky also caps a post at 3,000 bytes of UTF-8. English letters take 1 byte, accented letters 2, most Indian scripts 3 per code point and emoji 4 or more — a family emoji is 25 bytes. The checker shows the byte count whenever a platform has a byte cap.
Why is the Instagram bio limit not in the table?
Instagram does not publish it in its help centre or API documentation, so it is not listed here rather than guessed. The Instagram Line Break Generator lets you set a bio limit yourself and checks your text against it.
Do links count in full on Mastodon?
Links that start with http:// or https:// count as 23 characters, even short ones. A link typed without them, such as example.com, counts in full.
Is my text sent anywhere?
No. Everything is counted in your browser and nothing is uploaded or stored. Once the page has loaded, it also works offline.