Instagram caption counter
2,200 characters, 30 hashtags and 20 @ tags — three caps in one field, and only the first line or so is read before “more”.
2,200 characters · 30 hashtags · 20 @ tags
2,200 left
- Words
- 0
- Sentences
- 0
- Graphemes
- 0
- UTF-8 bytes
- 0
The Instagram character limit
An Instagram caption is limited to 2,200 characters, 30 hashtags and 20 @ tags.
- Meta's API reference spells out all three caps in one line: “Maximum 2200 characters, 30 hashtags, and 20 @ tags.”
- Hashtags and @ tags count towards the 2,200 as well as against their own limits — 30 long hashtags can eat 400 characters before you write a word.
- Only about the first 125 characters show before “… more”, so the hook has to land in the first line. Meta does not publish that number.
- Line breaks count as characters, and Instagram preserves them, so a caption spaced out for readability costs more than it looks.
- The same caption field is used for feed posts, carousels and Reels.
Tiers and upgrades
Every account
2,200 characters
Personal, creator and business accounts all get the same caption budget. Meta Verified buys no extra characters.
Source ↗What happens if you go over the limit on Instagram
In the app
The caption box stops accepting input at 2,200 characters. Paste a longer caption and the overflow is dropped before you ever hit Share.
Through the API
Creating the media container fails and nothing is published — the caption is rejected, not truncated. The 30-hashtag and 20-@-tag caps fail the same way.
Character limits on every platform
The same post is a different length on every network. This is the full comparison, with the document each number comes from.
| Platform | Limit | Paid tier | How it counts | Source |
|---|---|---|---|---|
| X (Twitter) | 280 | 25,000Premium | Links cost 23 · emoji and CJK cost 2 | X developer docs — Counting characters ↗ |
| Bluesky | 3003,000 bytes | — | Counts graphemes — an emoji is 1 | AT Protocol lexicon — app.bsky.feed.post ↗ |
| Threads | 500 | — | 500 characters · an emoji costs its UTF-8 bytes | Meta developer docs — Threads posts ↗ |
| Mastodon | 500default, per server | — | Links cost 23 · mentions drop the domain | Mastodon docs — Posting ↗ |
| 3,000 | — | Plain characters · the feed folds at ~210 | LinkedIn Help — Post and share updates ↗ | |
| Instagram caption — this page | 2,200 | — | 2,200 characters · 30 hashtags · 20 @ tags | Meta developer docs — IG User Media (caption) ↗ |
| Facebook post | 63,206 | — | 63,206 characters · folds at ~477 | Meta developer docs — Pages API Posts (no limit published) ↗ |
| TikTok caption | 2,200 | — | 2,200 UTF-16 units — an emoji costs 2 | TikTok for Developers — Content Posting API ↗ |
Last verified: September 8, 2026 · Meta developer docs — IG User Media (caption) ↗
Writing this for more than one platform? MicroPoster cross-posts from X to Threads, Bluesky and Mastodon, and handles each platform's limit automatically.
7-day free trial · No credit card
Instagram questions
What is the character limit for an Instagram caption?
2,200 characters. Meta's API reference states all three caption caps in one line: “Maximum 2200 characters, 30 hashtags, and 20 @ tags.” The same field is used for feed posts, carousels and Reels.
Do hashtags count towards the 2,200 characters?
Yes, twice over. Hashtags count as ordinary characters against the 2,200 and against their own limit of 30 per post. Thirty long hashtags can spend 400 characters before you have written a word.
How much of an Instagram caption is visible before “more”?
About the first 125 characters, though Meta does not publish the number and it shifts with screen size. Front-load the message and put hashtags at the end, where the fold hides them anyway.
What happens if my Instagram caption is too long?
It is refused, not shortened. The app stops accepting input at 2,200 characters, and a longer caption pasted in loses the overflow. Through the API the media container fails to create and nothing is published.
Counters for the platforms next to this one
Or start from the character counter hub, which counts your draft against all eight platforms at once.