# Why Instagram ruins your video quality

> Every upload is re-encoded. What that does to dark, grainy and fast-cut footage, the export settings that survive it, and the two you leave switched wrong.

Canonical: https://easyreels.io/blog/reel-video-quality

[Blog](https://easyreels.io/blog) · Explainers

11 September 20265 min read

The platform re-encodes every upload to its own bitrate, so what you see is your file compressed a second time. Export at 1080 × 1920, H.264 high profile, around 10–12 Mbps, 30fps, AAC audio at 128–192 kbps, and upload over Wi-Fi with high-quality uploads switched on. You cannot avoid the re-encode; you can stop giving it a difficult file to work with.

Nothing is being done to punish you. Every platform re-encodes uploads because it has to serve the same video to a fibre connection and a train tunnel, and it does that by throwing away detail it estimates nobody will miss. The estimate is wrong in specific, predictable ways, and those are the ones worth knowing.

## Compression happens twice

Your editor exports a compressed file. The platform then compresses that. The second pass is working on the first pass's leftovers, which is why the loss is worse than either step alone, and why exporting at a low bitrate to "save time uploading" is the most expensive shortcut available.

| Stage | What happens | What it costs |
|---|---|---|
| Your export | Encoded to your chosen bitrate | Little, if the bitrate is generous |
| Upload | Possibly downscaled on a poor connection | Everything, and silently |
| Platform re-encode | Re-compressed to its own target | Detail in dark and busy areas |
| Playback | A quality tier chosen for the viewer | More, on a slow connection |

A viewer on a bad connection sees a worse version than the one you checked. That is a floor you cannot raise, which is another reason a video should be legible from its composition rather than its detail.

## What compresses badly

Codecs spend their bits on change. Anything where a lot changes between frames, or where the change is subtle, is where the quality goes.

- **Dark footage.** Shadows are where banding appears first: smooth gradients become visible steps. Night footage is the single most fragile thing you can upload.
- **Grain and noise.** Random detail is incompressible by definition, so the encoder either keeps it and starves everything else, or smears it. Film-grain overlays are expensive for exactly this reason.
- **Fast cuts.** Every cut is a new frame with nothing to predict from. A reel cutting on every beat at 140 BPM is asking for a fresh keyframe more than twice a second. See [how many cuts a reel should have](https://easyreels.io/blog/how-many-cuts-in-a-reel).
- **Confetti, water, foliage, crowds.** High-frequency motion, everywhere in the frame, all at once.
- **Thin text and hairlines.** Small type on a moving background is where blockiness is most obvious, and where it matters most because it has to be read.

Two of those interact with beat-matched editing directly. Fast cuts are the format, so the compensation has to come from elsewhere: brighter footage, chunkier type, and a grade that does not push everything into the shadows. [Colour grading short video](https://easyreels.io/blog/color-grading-short-video) covers how far to take an intensity slider, and the answer being "less than you think" is partly a compression argument.

## Export settings that survive

| Setting | Use | Why |
|---|---|---|
| Resolution | 1080 × 1920 | The native vertical spec: [vertical video size](https://easyreels.io/blog/vertical-video-dimensions) |
| Container | MP4 | Universally accepted |
| Video codec | H.264, high profile | The safest input; HEVC is inconsistently handled |
| Bitrate | 10–12 Mbps, or higher | Headroom for the re-encode. Two-pass or CBR if offered |
| Frame rate | 30fps | Matches how most of it is played back |
| Colour | Rec.709, 8-bit | HDR and 10-bit get tone-mapped unpredictably |
| Audio | AAC, 128–192 kbps, 48 kHz | Above this is thrown away |
| Length | Under 90 seconds where possible | Longer files get a tighter budget |

Two things not on the list, both common and both wasteful. Exporting at full 4K does not help: it is downscaled anyway, and on some paths it is handled worse than a smaller file. A 2K master (1440×2560) is the sensible ceiling, since it gives the platform's downscale a little more detail without a heavy upload; a clean 1080×1920 is the floor. And 60fps halves the bits available per frame for a smoothness most viewers will not notice on a thirty-second cut-heavy video.

## The two settings people leave switched wrong

1. **High-quality uploads.** Instagram has a data-usage setting that controls whether media is uploaded at the highest quality. It is off by default in some conditions and it costs nothing to turn on. It is in the app's data-usage settings, and the exact wording moves between versions.
2. **The connection you upload on.** On a weak mobile connection, apps will quietly upload a smaller version rather than fail. Upload on Wi-Fi. This is the largest single-step improvement available to most people, and it is free.

Do not re-upload a video you downloaded from a platform. That file has already been through one re-encode; putting it through a second is the most reliable way to produce something visibly mushy, including cross-posting by saving from one app and uploading to another.

## Editing in the app is a third compression

Adding text, trimming or applying a filter inside the app usually means it re-renders the video before publishing. Do the edit outside, upload a finished file, and change nothing after upload: the version you approved is then the version that gets compressed, once.

This also means the text has to be burned into the export, at a size that survives. Which is an argument for [reusable text overlays](https://easyreels.io/blog/reusable-text-overlays) built at full resolution rather than typed into the app at whatever size the caption tool offers.

## A checklist

1. Export 1080 × 1920, H.264 high, 10–12 Mbps, 30fps, AAC 128–192 kbps.
2. Keep the grade off the floor: lift the shadows slightly rather than crushing them.
3. No grain overlays, and no thin typefaces at small sizes.
4. Upload on Wi-Fi, with high-quality uploads enabled.
5. Do not trim, filter or add text after uploading.
6. Check it on a phone, not a laptop: that is where it will be watched.

[Easy Reels](https://easyreels.io/) renders at 1440 × 2560, a 9:16 vertical 2K master that Instagram downsizes cleanly, with the grade and text baked in, so what you download is a finished file rather than something to edit again in the app. That does not stop the platform re-encoding it (nothing does), but it means it is compressing your video once, from a clean source, which is the whole of what is actually in your control. [Six reasons a reel looks amateur](https://easyreels.io/blog/why-reels-look-amateur) covers the faults that are not the encoder's fault.

**About this article.** Written by the team that builds Easy Reels, which cuts your clips to the beat of a song and renders a finished vertical reel. Spotted something wrong or out of date? Write to [support@easyreels.io](mailto:support@easyreels.io).

## Stop editing. Start posting.

Easy Reels turns the footage you already have into beat-synced vertical video, automatically, in minutes.

[Start your 7-day free trial](https://app.easyreels.io/signup)

## Read next

- [Vertical video and reel size: 1080×1920, 9:16, safe area](https://easyreels.io/blog/vertical-video-dimensions)Vertical reel size is 1080×1920 at 9:16. The one resolution that works everywhere, why it is the native spec, and the margins where the interface covers text.
- [Colour grading short video: LUTs, filters and intensity](https://easyreels.io/blog/color-grading-short-video)What a LUT actually is, why one grade across a whole short video beats grading each clip on its own, and how much LUT intensity is too much.
- [Six reasons a reel looks amateur (and the fix for each)](https://easyreels.io/blog/why-reels-look-amateur)Off-beat cuts, drifting typefaces, text under the interface, one long shot. The specific faults that make good footage read as unpolished.
