Instagram Limits (2026): Posting, Media, and Action Limits

Instagram Limits (2026): Posting, Media, and Action Limits

Every Instagram limit worth knowing: caption length, carousel size, Reels and Stories duration, API posting caps, and what Instagram refuses to publish.

Instagram has two kinds of limits, and only one of them is written down. Media and publishing limits (caption length, carousel size, Reels duration, API posting caps) are documented by Meta. Action limits (follows per day, likes per hour, DMs per hour) are not, and never have been. This page covers both, and is explicit about which is which.

Instagram posting and media limits

These come from Meta’s own developer documentation for Instagram content publishing and the media reference.

LimitValue
Caption2,200 characters
Hashtags per post30
@ mentions per caption20
Carousel items10 images, videos, or a mix
Reels duration3 seconds to 15 minutes
Reels file size300 MB
Stories video duration3 seconds to 60 seconds
Stories video file size100 MB
Stories image file size8 MB
Bio150 characters
API-published posts100 per rolling 24 hours

A carousel counts as a single post against the 100 per 24 hours, not ten.

Two details catch people out. The API accepts JPEG images only, so PNG and HEIC files have to be converted before upload. And every image in a carousel is cropped to match the first image, defaulting to 1:1, so the first slide silently decides the shape of the whole set.

Note: Figures here were verified against Meta’s Instagram Platform content publishing and media reference documentation as of September 2026. Platforms change these without notice.

For the full caption breakdown, including comments and the feed truncation point, see Instagram character limit. If you write to the edge of the cap regularly, the Instagram character counter shows the count and the fold in one view.

What Instagram shows before the fold

The caption limit is 2,200 characters. The amount visible in the feed before the “more” link is roughly 125. Those two numbers are not in tension, they just answer different questions. The limit tells you when Instagram stops accepting text. The fold tells you when readers stop reading.

Instagram action limits: what Meta actually publishes

Nothing. Instagram does not publish a follows-per-day number, a likes-per-hour number, or a DMs-per-day number, and it has never done so. Any page that gives you a precise figure (“you can follow 150 accounts per day”) invented it or copied someone who did.

What Instagram appears to run instead is a per-account trust score. The evidence for this is behavioural rather than documented, but it is consistent: the same action that passes without comment on a three year old account with a real audience triggers a block on an account created last week. The inputs that seem to matter are:

  • Account age. New accounts are throttled hardest, and the ceiling rises over weeks, not hours.
  • Report and block rate. Accounts that get reported or blocked by the people they contact lose headroom fast. This is why cold DM volume collapses long before follow volume does.
  • Speed and regularity. Fifty actions spread across a day reads differently from fifty actions in four minutes at identical intervals. Rhythm matters as much as volume.
  • Session and device consistency. Actions from a stable, logged-in session behave differently from actions from a rotating set of IP addresses.

Widely reported community estimates cluster around a low-hundreds ceiling per day for follows and unfollows on an established account, and considerably lower for new ones. Those are unofficial and unverified. We are not going to state them as fact, because the mechanism is adaptive: there is no fixed number to state, and a number that held for one account last month will not hold for another account today.

The practical consequence is simple. If you hit an “Action Blocked” message, the fix is not to find the correct number and stay just under it. The fix is to stop for a day, then resume at a pace that looks like a person using an app.

Publishing limits are different, and they are real

The 100 posts per 24 hours API cap is a hard, documented number, and it applies to any tool publishing on your behalf, including ours. It is a rolling window, so it does not reset at midnight. Very few accounts get near it, but a bulk import of a year of content on day one will hit it, which is one reason scheduling across days beats dumping everything at once.

Stories, Reels, and feed posts all draw on the same allowance.

Instagram limits compared to the rest

PlatformCaptionVideo maxGallery max
Instagram2,20015 min (Reels)10
Threads5005 min20
TikTok2,200Per-creator value returned by the APIPhoto posts supported, count not documented
Facebook Reels63,206 (Facebook text)90 secondsn/a

Threads allowing twice the carousel items of Instagram surprises most people, given they are the same company.

The short version

  • Caption 2,200 characters, 30 hashtags, 20 mentions.
  • Carousel 10 items, cropped to the first slide.
  • Reels 3 seconds to 15 minutes. Stories 3 to 60 seconds.
  • 100 API-published posts per rolling 24 hours.
  • Follow, like, and DM limits are undocumented, adaptive, and scale with account age and complaint rate. Treat any specific number you read as a guess.

Scheduling Instagram inside the documented limits

BulkPublish publishes through the official Instagram API, which means the documented limits above are the limits that apply. The composer enforces the 2,200-character caption and the 10-item carousel before a post is queued, rather than failing at publish time. It does not touch follows, likes, or DMs, because those are the parts Instagram polices hardest and no scheduler should be automating them.

If you post to more than one network, cross-posting with per-platform caps handled separately avoids the usual failure, which is a caption written for Instagram silently truncated somewhere else.