Social media character counter
Check one caption against every platform limit at once, and see where each one cuts it off behind “more”.
Free. No sign-up. Runs in your browser. Checked 2026-09-09.
Type or paste. Everything below updates as you write, and nothing you enter leaves your browser.
| Platform | Field | Limit | Left | Visible before “more” |
|---|---|---|---|---|
| Caption | 2,200 | 2,200 | All 125 shown | |
| Bio | 150 | 150 | Not collapsed | |
| X (Twitter) | Post | 280 | 280 | Not collapsed |
| Post | 3,000 | 3,000 | All 210 shown | |
| Headline | 220 | 220 | Not collapsed | |
| Post | 63,206 | 63,206 | All 477 shown | |
| YouTube | Video title | 100 | 100 | All 60 shown |
| YouTube | Video description | 5,000 | 5,000 | All 157 shown |
| TikTok | Caption | 2,200 | 2,200 | Not collapsed |
| Threads | Post | 500 | 500 | Not collapsed |
| Pin description | 500 | 500 | All 50 shown | |
| Bluesky | Post | 300 | 300 | Not collapsed |
How this works, what it excludes, and the FAQsShowHide
Character limits for every platform
The hard limit is what the platform will accept. The truncation point is where it stops showing your text without a tap. For anyone writing captions the second number is the real constraint, and most counters do not show it at all.
| Platform | Field | Limit | Cuts at |
|---|---|---|---|
| CaptionThe feed collapses the caption after roughly 125 characters behind "... more". Front-load anything that has to be read. | 2,200 | 125 | |
| Bio | 150 | , | |
| X (Twitter) | PostFree accounts. X Premium raises this substantially, but anything past 280 is collapsed for most readers, so 280 is the number to write to. | 280 | , |
| PostThe feed shows about 210 characters before "...see more" on desktop. The first two lines carry the post. | 3,000 | 210 | |
| Headline | 220 | , | |
| PostThe hard cap is effectively irrelevant. Facebook collapses the post after roughly 477 characters. | 63,206 | 477 | |
| YouTube | Video titleSearch and suggested-video rails cut titles near 60 characters depending on layout. | 100 | 60 |
| YouTube | Video descriptionOnly the first ~157 characters show above "Show more" on the watch page. | 5,000 | 157 |
| TikTok | CaptionSources disagree: TikTok’s Direct Post API documents 2,200 UTF-16 runes, while several tool sites report 4,000 in-app. We show the conservative figure - write to 2,200 and you are safe either way. | 2,200 | , |
| Threads | Post | 500 | , |
| Pin description | 500 | 50 | |
| Bluesky | Post | 300 | , |
All limits checked 2026-09-09. Sources: each platform’s own help centre and developer documentation, plus observed behaviour for truncation points, which platforms do not publish.
How to write to a truncation point
- Put the hook in the first line. On Instagram that is about 125 characters; on LinkedIn about 210.
- Never split a sentence across the cut. A caption that breaks mid-clause reads as an error, not a teaser.
- Put hashtags at the end, or in the first comment. They eat into the visible portion if you lead with them.
- Check the preview below the counter before you publish, it greys out exactly what a reader will not see.
Put this calculator on your own site
Free to embed on any site, including commercial ones. Paste the snippet into a blog post, a resources page or a client-facing guide and the calculator runs inside your page.
The only thing we ask is the credit line underneath, which links back here. That link is how people find the tool and how we justify keeping it free and ungated, so please leave it in.
Leave this on automatic and each reader sees their own currency, detected from their browser and changeable by them. Pin one if your audience is in a single market.
Optional: remove the inner scrollbar
The embed works without this. Add it once anywhere on the page and the iframe resizes itself to fit its content instead of scrolling internally. It listens only for a height number from poststack.ai and does nothing else.
- Default height
- 1100px, adjustable in the snippet
- Tracking
- None. No cookies, no analytics, nothing posted back to us
- Your readers’ data
- Stays in their browser. We never receive what they type
Frequently asked questions
- What is the Instagram caption limit?
- Instagram accepts 2,200 characters. The number that matters more is 125, the feed collapses your caption behind “... more” at roughly that point, so anything that has to be read should come first.
- What is the Twitter (X) character limit?
- 280 characters on a free account. X counts differently from every other platform though: links always cost 23 characters and non-Latin script weighs double, so the table above will under-count a post with links or Hindi in it. Use the dedicated Twitter character counter for those.
- What is the Instagram hashtag limit?
- 30 hashtags on a feed post. The counter lists the tags it finds in your caption so you can see how many you have used, and hashtags count towards the 2,200 character caption limit like any other text.
- What is the LinkedIn post character limit?
- 3,000 characters. The number that matters more is about 210, which is where the feed collapses your post behind "see more" on desktop.
- Why does this count emoji differently from other counters?
- Most counters use the browser’s raw string length, which counts an emoji as two characters and a flag or skin-tone emoji as four or more. This tool counts grapheme clusters, what a person would call one character, which is closer to how platforms count. An emoji-heavy caption is often well within a limit that other counters say you have exceeded.
- Does the counter include hashtags and mentions?
- Yes. Hashtags and @mentions count towards the character limit on every platform, which is why a caption that fits before you add tags can fail afterwards. They are listed separately below the counter so you can see how much of your budget they are taking.
- Are these limits current?
- Every limit on this page was checked on 2026-09-09, and the date is shown so you can judge how much to trust it. Platforms change limits without announcement. Where sources disagree, TikTok is the live example, the table says so rather than picking the tidier number.