If you're exporting a video for Instagram feed, Stories or Reels ads, a good starting point to test is 8–12 Mbps for 1080×1920 at 30 fps, and up to 16–20 Mbps if your footage has a lot of fast motion or fine detail. That's the recommended bitrate for Instagram video ads most editors should start with before Instagram's own compression takes over — and below, we'll explain exactly why that range works, how to adjust it, and what mistakes quietly wreck ad quality even when every other spec looks correct.
What bitrate actually controls in your ad
Bitrate is the amount of data your video encodes per second, usually measured in megabits per second (Mbps). It's not the same as resolution. Resolution is the pixel grid (1080×1920, for example); bitrate is how much information is packed into each frame of that grid. A video can be shot and exported at full 1080×1920 resolution and still look soft, blocky or smeared during fast movement if the bitrate is too low for that resolution and frame rate.
This matters for ads specifically because paid social platforms compress every file you upload, on top of whatever compression you already applied during export. If your source file arrives with a thin bitrate, there's very little visual information left for the platform's compression to work with — and the result is often a product shot that looks noticeably softer in a scroll feed than it did in your editing software.
Recommended bitrate for Instagram video ads by resolution and frame rate
Instagram doesn't publish a single fixed bitrate requirement for ad uploads, and the right number depends on your resolution, frame rate and how much motion is in the shot. Treat the ranges below as a tested starting point, not a hard rule — then adjust based on how the exported file actually looks once it's uploaded.
| Resolution | Frame rate | Starting bitrate (test range) | When to go higher |
|---|---|---|---|
| 1080×1920 (vertical, Reels/Stories) | 30 fps | 8–12 Mbps | Fast product spins, text animation, quick cuts |
| 1080×1920 (vertical, Reels/Stories) | 60 fps | 12–16 Mbps | Slow-motion reveals, sports or motion-heavy demos |
| 1080×1080 (square, feed) | 30 fps | 6–10 Mbps | Dense detail shots, busy backgrounds |
| 1920×1080 (horizontal, feed) | 30 fps | 8–12 Mbps | Screen recordings, UI demos with sharp lines |
A short rule of thumb: higher frame rate and more motion both demand a higher bitrate at the same resolution, because the encoder has more changing information to describe between frames. A static product shot with a slow pan needs far less bitrate than a hand holding a phone with scrolling text on screen.
If you're also deciding on the pixel dimensions themselves, it's worth reading Recommended Video Resolution for Instagram Reels Ads alongside this guide — resolution and bitrate decisions should be made together, not separately.
CBR vs VBR: which bitrate mode to export with
Most editing software gives you a choice between constant bitrate (CBR) and variable bitrate (VBR) when exporting.
- CBR keeps the bitrate the same throughout the whole file, even during simple scenes where it's not needed. This wastes file size on static moments and can still under-serve the busy ones.
- VBR allocates more bitrate to complex, fast-moving frames and less to simple, static ones, generally producing better quality per megabyte.
- For Instagram ad exports, VBR is the better default in almost every case. Reserve CBR only for live-streaming workflows, which don't apply to pre-recorded ad creative.
When your software offers a VBR target and a VBR maximum, set the target near the lower end of your test range (say, 8 Mbps) and the maximum near the higher end (say, 14–16 Mbps). This lets the encoder spend extra data on your fastest cuts without bloating the whole file.
Codec choice matters as much as the number
The bitrate number only means something in the context of the codec compressing it. H.264 is still the safest, most broadly compatible codec for ad uploads across Meta platforms — most editing tools default to it, and it's well understood by every major platform's ingestion pipeline. H.265/HEVC can deliver similar visual quality at a lower bitrate, which is useful if file size is a constraint, but it's not universally supported by every upload tool and can occasionally cause processing issues, so test it before relying on it for a live campaign.
Avoid older or more obscure codecs, even if your camera or screen-recording app outputs them by default. Re-export through your editor in H.264 before uploading, rather than trusting a device's native file straight into an ads manager.
How Instagram's own compression changes your file
Whatever bitrate you export at, Instagram re-encodes your file once it's uploaded, to standardize files across its delivery network and keep load times reasonable on mobile connections. This is normal and happens to every advertiser's video, not just yours. The practical takeaway is that your export bitrate is not the bitrate viewers will ultimately see — it's the raw material the platform's compression works from.
This is exactly why exporting too low backfires. If you hand Instagram a file that's already short on bitrate, its compression has less detail to preserve and the result compounds: a soft export becomes a visibly blurry one after the platform processes it. Exporting comfortably inside — or slightly above — the recommended range gives the platform's own compression something solid to work with, so the final viewer-facing file holds up better.
For more on how compression pairs with other spec decisions, see Ideal Bitrate for Vertical Video Ads: What to Use and Why and Recommended Frame Rate for Vertical Video Ads, since frame rate and bitrate decisions are closely linked.
A practical export checklist
Before you upload a video ad to Instagram, run through this quickly:
- Confirm your sequence resolution matches your intended output (1080×1920 for Reels and Stories, 1080×1080 or 1920×1080 for feed).
- Set frame rate to 30 fps for most ads, or 60 fps if your footage genuinely benefits from smoother slow motion.
- Export using H.264, VBR mode, with a target bitrate around 8–12 Mbps and a maximum around 14–20 Mbps depending on motion.
- Play the exported file back at full size before uploading — not just a thumbnail preview — and check for softness or blocky artifacts during your fastest cuts.
- If the ad includes on-screen captions or fast text animation, lean toward the higher end of your bitrate range, since text edges reveal compression artifacts quickly.
- Keep your original high-bitrate master file saved separately, so you can re-export at a different setting later without re-rendering from scratch.
Common bitrate mistakes that quietly hurt ad quality
- Exporting at a fixed low bitrate to save upload time. This saves a few seconds now and costs visual quality on every impression afterward.
- Matching bitrate to resolution but ignoring frame rate. A 60 fps export at a 30 fps bitrate setting will look rougher during motion than the same footage at 30 fps.
- Using a bitrate that was right for a different platform. A setting tuned for a long-form YouTube upload isn't automatically right for a short vertical Instagram ad — motion, pacing and viewing size are different.
- Skipping a full-size playback check. Bitrate problems are easy to miss on a small preview window and obvious on a phone screen in a scroll feed.
Where FrameNotion fits
If you'd rather not manage bitrate, codec and resolution settings by hand for every ad, FrameNotion renders finished video ads directly at 1080×1920, 30 fps, 9:16 MP4 — the format built for TikTok, Instagram Reels, YouTube Shorts and Facebook Reels — so there's no separate export step to get wrong. You paste a product or website link, and FrameNotion AI writes and builds a 30-second ad from scratch, checking its own rendered frames before the file is finished. Every ad also comes out as 4:5, 1:1 and 16:9, so feed and Stories placements are covered from the same project without re-rendering manually.
The first ad is free on sign-up, with paid plans from there if you need volume. You can see finished examples at examples made with FrameNotion, or read more about the process on the features page.
Final thought
Bitrate is one of the few ad specs that's invisible when it's right and obvious when it's wrong. Get your resolution and frame rate settled first, pick a bitrate in the tested range above for that combination, export with VBR and H.264, and check a full-size playback before you spend any ad budget on the file. It's a small step that prevents a soft, compressed-looking ad from undercutting creative you otherwise got right.
Frequently asked questions
Does a higher bitrate always mean a better-looking Instagram ad?+
Only up to a point. Once bitrate is high enough to preserve detail in your fastest motion, pushing it higher mostly just increases file size without a visible quality gain. Match bitrate to your actual resolution, frame rate and amount of motion rather than maximizing it.
Should I use a different bitrate for Stories versus feed ads?+
The resolution often differs more than the bitrate needs to. Vertical 1080×1920 placements like Stories and Reels generally sit in the same bitrate range as square or horizontal feed placements at the same frame rate — what changes most is resolution and aspect ratio, covered in the resolution guide linked above.
Will a low-bitrate export save on upload or processing time?+
It can shave a small amount of upload time, but the platform's own compression will have less detail to work with, so the visible quality loss generally isn't worth the minor time saved, especially for an ad that will run for days or weeks.
Is HEVC better than H.264 for Instagram ad exports?+
HEVC can achieve similar quality at a lower bitrate, but H.264 remains the safer default for broad compatibility with ad upload tools. If you want to test HEVC, verify it processes correctly in your ads manager before relying on it for a live campaign.
Can I check my export's bitrate before uploading?+
Yes. Most editing software shows the bitrate in the export settings summary, and file inspection tools (including right-click file properties on most operating systems) will show the actual encoded bitrate of a finished file.
