Back to Blog

Instagram Character Limits 2026: Captions, Bio, Hashtags & Reels

2026-07-02

All Instagram character limits — 2,200 for captions, 150 for bio, and the 5-hashtag cap introduced in December 2025 — plus the 125-character cutoff that decides whether anyone reads the rest.

Instagram limits in full

FieldLimitVisible before truncation
Caption (feed, Reels)2,200 characters~125 characters
Bio150 charactersFully shown
Username30 charactersFully shown
Name field30 charactersFully shown
Comment2,200 characters~150 characters
Hashtags per post5 (was 30)First 3 in preview
Hashtags per Story10
Alt text100 charactersNot displayed visually
Images per carousel20

The 2,200-character caption allowance is generous, but the number that governs performance is 125. That is roughly where the feed cuts the caption off and replaces the remainder with a "more" link, and the proportion of viewers who tap it is small.

How Instagram counts characters

Instagram uses straightforward one-for-one counting. Every character costs the same regardless of script, which means a Japanese caption has the full 2,200 characters available rather than the halved allowance that X's weighted system imposes.

  • All scripts count as 1 per character, including Japanese, Chinese, Korean, Arabic and Cyrillic.
  • Line breaks count as 1 each, which matters because Instagram captions are typically formatted with generous white space.
  • Hashtags count their full length against the caption's 2,200 characters.
  • @mentions count their full length.
  • URLs count their literal length and are not clickable in captions, which is why the link is conventionally placed in the bio.

Because line breaks are charged, a caption formatted into eight short paragraphs spends more of its budget on structure than one written as a single block. This is rarely a binding constraint at 2,200 characters, but it becomes relevant in the 150-character bio, where two line breaks represent more than one percent of the available space.

The first 125 characters

In the feed, a caption is truncated at approximately 125 characters. The exact figure shifts with username length, device width and whether the post carries a location tag, so treating 125 as an approximate ceiling rather than a precise one is the safer approach.

What this means in practice is that a caption has two distinct jobs. The opening sentence has to work as a standalone hook, and the remainder has to reward the tap. Captions that begin with context — describing the setting, thanking collaborators, explaining what the post is about — spend the visible portion on material that gives the reader no reason to continue.

  • Put the most surprising or useful statement in the first sentence.
  • Avoid opening with @mentions, which consume visible space and read as administrative.
  • If the caption asks a question, ask it early rather than at the end.
  • Place hashtags at the end of the caption or in the first comment so they do not occupy the visible window.

Hashtags: five, down from thirty

Instagram cut the per-post limit from 30 hashtags to five, rolling the change out from December 2025. This is not a style recommendation but an enforced cap: posts carrying more than five are reported to stop being surfaced in Explore, in hashtag browse pages and in Reels recommendations. Long hashtag blocks, which were standard practice for years, now actively cost reach.

Two structural details are worth knowing. Hashtags in the first comment behave identically to hashtags in the caption for discovery purposes, so moving them there keeps the caption clean without cost. And only the first three hashtags appear in the truncated preview, so any hashtag placed early is competing with your opening sentence for the same 125 characters.

Bio: 150 characters that appear everywhere

The bio is the most constrained field on the platform and the most frequently seen. At 150 characters it holds roughly two short sentences, and it has to establish who the account belongs to, what it posts, and what the visitor should do next.

  • The name field, separately limited to 30 characters, is searchable — putting a descriptive term there rather than only a personal name improves discoverability.
  • Line breaks are permitted in the bio and cost one character each.
  • The bio is shared with Threads: editing it in one place changes it in both.
  • Emoji count as one character each in the bio, though composed emoji can cost more.

Checking captions before posting

Instagram's composer does not show a character counter until you are close to the limit, and it gives no indication of where the 125-character cutoff falls. PostLen shows the count and renders a preview shaped like the Instagram feed, so the truncation point is visible while you write. It counts the same draft against X, Threads, LinkedIn, YouTube and TikTok simultaneously, and processes everything in the browser without transmitting your text.

Frequently asked questions

What is the Instagram caption character limit?

2,200 characters. Only about 125 appear in the feed before the "more" link, so the opening sentence carries most of the weight.

How long can an Instagram bio be?

150 characters, including line breaks and emoji. The same field appears on your Threads profile.

How many hashtags can I use on Instagram?

Five per post. Instagram reduced the cap from 30 starting in December 2025, and going over it is reported to remove the post from Explore, hashtag pages and Reels recommendations. Hashtags count toward the caption's 2,200-character limit.

Do Japanese characters count as two on Instagram?

No. Instagram counts every character as one regardless of script, so a Japanese caption can use the full 2,200 characters.

Does putting hashtags in the first comment still work?

Yes. Hashtags in the first comment are treated the same way as hashtags in the caption for discovery, and they keep the visible portion of the caption free.

Do Reels have a different caption limit?

No. Reels use the same 2,200-character caption limit as feed posts.

PostLen counts your draft against every platform in this article at the same time.

Try PostLen →