For Instagram

Compress Video for Instagram

Hit Instagram's spec sweet spot — 1080×1920 for Reels and Stories, H.264 MP4. No upload, no watermark, runs entirely in your browser.

No upload No watermark Free, no sign-up
Loading compressor…
Platform specs

Official platform specifications

Default compression settings target these specs to avoid the platform re-encoding your upload.

Max file size
100 MB recommended (Reels), 4 MB inline (Stories), 650 MB hard cap (Reels)
Max duration
90 seconds (Reels), 15 seconds (Stories), 60 seconds (Feed video)
Recommended resolution
1080×1920 (9:16 vertical) for Reels/Stories
Aspect ratio
9:16 (vertical), 1:1 (square), 4:5 (portrait feed), 1.91:1 (landscape)
Recommended format
H.264 video + AAC audio in MP4 with +faststart

Notes & gotchas

  • Frame rate: 30 fps max for Reels; 24-30 fps recommended for cinematic look.
  • Audio: AAC, 128 kbps stereo, 48 kHz sample rate.
  • Bitrate: 4-6 Mbps for 1080p vertical; higher wastes bandwidth.
  • Avoid letterboxing — Instagram crops to fill rather than fitting, which can cut off important content.
  • Cover frame: the first frame becomes the thumbnail; choose a frame with high visual interest.
  • Captions: burn in or upload .srt separately for accessibility (Instagram doesn't auto-caption reliably).
Recommended settings

Recommended FFmpeg settings

Resolution: 1080×1920 (vertical Reels/Stories) or 1080×1080 (square Feed)
Codec: H.264 (libx264) with medium preset
CRF: 26 (≈4-6 Mbps for typical 1080p vertical content)
Audio: AAC 128 kbps stereo at 48 kHz
Frame rate: 30 fps constant (avoid VFR)
Pixel format: yuv420p (universal compatibility)
Container: MP4 with +faststart for streaming
What is this

Need to compress video for Instagram before posting to Reels or Stories? Both surfaces expect vertical 9:16 video at 1080×1920 with H.264 encoding. Files larger than ~100MB or longer than 90 seconds for Reels (15 seconds for Stories) get re-encoded by Instagram's transcoder — often badly. The platform's adaptive bitrate pipeline was tuned for 4G mobile viewing, and any upload outside its expected spec gets a second pass of lossy compression that compounds artifacts and kills fine detail in skin, hair, and text. Pre-compressing locally means your file already matches Instagram's preferred format, so what you upload is essentially what your followers see in their feed. Default output: 1080×1920 vertical, H.264 CRF 26 (~4-6 Mbps), AAC 128 kbps stereo, 30 fps, faststart-enabled MP4 — Instagram's documented sweet spot since the 2022 Reels algorithm update.

  • 1Instagram silently re-compresses oversized or non-spec uploads, compounding artifacts and visibly degrading detail in skin textures, hair, and small text overlays — pre-compression protects against this.
  • 2Vertical 9:16 at 1080×1920 is the spec Instagram actually serves to mobile viewers (over 80% of watch time is on phones). Letterboxed or 1:1 content gets cropped unpredictably and loses engagement.
  • 3H.264 in MP4 with AAC audio is the only universally compatible codec combination on Instagram's web and native players. H.265/HEVC, VP9, and AV1 all get re-encoded on upload with quality loss.
  • 4Browser-based processing means no upload bandwidth consumed before you even post, no third-party server storing your raw footage, and full compliance with GDPR / CCPA for personal or client work.
  • 5The 4 Mbps target bitrate matches Instagram's own streaming bitrate — going higher wastes storage without viewer-visible benefit; going lower triggers Instagram's re-encoder to compensate.
  • 6You get explicit control over the quality/size trade-off via CRF slider, instead of trusting Instagram's opaque auto-compression to make the right call for your specific content.
How it works

Three steps, no account needed

From raw footage to shareable MP4 in seconds — all in your browser.

1

Upload your video

Drag-and-drop or click to browse. Files are processed locally — nothing is uploaded to any server.

2

Pick quality

Use the recommended preset or fine-tune CRF / resolution in advanced settings.

3

Download

Compression runs entirely in your browser. Grab your smaller MP4 in seconds — no account, no watermark.

Features

Why people choose this compressor

Built for everyday use — fast, private, and free forever.

100% Browser-Based

Your video never leaves your device. No upload, no server-side processing, no privacy concerns.

No Watermark

Output is clean H.264 MP4 — no logos, no overlays, no time limits baked in.

Free & Unlimited

No sign-up, no credit card, no daily cap. Compress as many videos as you need.

Fast FFmpeg Engine

Powered by FFmpeg compiled to WebAssembly — the same engine professionals use, now in your browser.

Universal MP4 Output

Output is H.264 + AAC in an MP4 container — plays everywhere, uploads everywhere.

Cross-Platform

Works on Windows, macOS, Linux, iOS, and Android — any modern browser.

Use cases

Who uses this tool

1

Reels Creators

Lock in Instagram's 1080×1920 + H.264 CRF 26 sweet spot so the algorithm doesn't re-encode your Reel and tank quality before it reaches the For You feed. Pre-compressed spec-compliant uploads get noticeably higher retention.

2

Story Posters

Trim and compress phone recordings down to the 15-second, sub-4MB sweet spot Stories actually stream at. Larger Stories get silently re-encoded to ~2 Mbps with visible blocking in dark scenes.

3

Feed Video Posts

Compress landscape (16:9), square (1:1), or portrait (4:5) feed video without losing the color depth and detail that makes thumbnails pop in the feed grid. 4K feed uploads waste bandwidth — Instagram serves at most 1080p.

4

Business Profiles

Ship product demos, ads, and shoppable video that load instantly even on slow mobile data. Faster load directly improves watch time and conversion rate.

5

Agencies & Freelancers

Pre-compress client deliverables to spec before scheduling in Later, Buffer, or Meta Business Suite. Avoid the 'Instagram ruined my video' conversation entirely.

6

Influencer Collaborations

Match brand partner specs exactly when delivering sponsored content. Brands increasingly reject re-encoded uploads — pre-compression shows professionalism.

FAQ

Frequently asked questions

Instagram technically allows Reels up to 650MB, but anything above 100MB triggers aggressive server-side re-encoding that often degrades quality noticeably. Stories should stay under 15 seconds and under 4MB for inline playback. When you compress video for Instagram locally to its actual streaming spec (4-6 Mbps), you avoid the re-encoding penalty entirely. The 100MB target isn't a hard rejection limit — it's the practical threshold above which quality drops sharply.