The resolution label on your downloaded video is probably wrong
6 min read
If you have ever saved a video and felt the quality didn't match the number attached to it, you were probably right — but not for the reason you'd assume. The file usually isn't the problem. The label is.
Instagram does not tell a downloader what resolution the file is. It reports something else entirely, and that number is the one most tools print on screen. The gap between the two is large enough to matter: a video genuinely encoded at 720×1280 is routinely described as 640×1136.
Check it yourself in ten seconds
This is worth verifying rather than believing, and it takes no tools you don't already have. Find any short video you've saved from a social platform and open its properties.
- Windows — right-click, Properties, Details tab. Look at Frame width and Frame height.
- macOS — select the file and press Command-I, or open it in QuickTime and press Command-I.
- Any platform — VLC's Media Information window shows the decoded stream size.
Now compare that against whatever the tool told you when you saved it. If the file says 720 and the tool said 640 — or the tool said "SD" for something that is plainly HD — you have just reproduced the whole of this article.
What Instagram actually hands over
When any tool fetches a post, the response includes a dimensions field giving a width and a height. It looks authoritative, it sits right next to the media URL, and it is not a description of the video file.
It describes the post's display box — the space the post occupies in a feed layout. That figure is derived from the aspect ratio the creator uploaded and the size the interface wants to render it at. It is a layout number that happens to be expressed in pixels, which is precisely what makes it so easy to mistake for a resolution.
The file being served is produced separately, by a transcoding pipeline that has its own opinion about what size to encode at. Nothing forces those two numbers to agree, and frequently they don't.
Where the real number is hidden
The true encode height is available, but not anywhere obvious. It's carried in the media URL itself.
Instagram's CDN links include a parameter named efg, whose value is a base64-encoded JSON object. Decoded, it describes the asset the CDN is about to serve — including a transcode tag that looks roughly like this:
The 720 in the middle is the height the file was actually encoded at. The same object also carries the video's true duration and the age of the asset, both of which are more reliable than the surrounding page metadata.
That number lands on one of a familiar set of rungs — 240, 360, 480, 540, 576, 640, 720, 1080, and upward. Transcoding ladders work this way across the industry: rather than encoding every upload at its native size, platforms produce a handful of standard renditions and serve whichever suits the request. Your upload is not stored as you sent it. It's mapped onto the nearest rung.
| Where the number comes from | What it actually describes |
|---|---|
| The dimensions field in the page data | The post's display box — a layout figure, not a file |
| The transcode tag inside the media URL | The height the file was genuinely encoded at |
| Your file's properties dialog | Ground truth — what you actually received |
The reason so few tools use the middle row is simply that the first row is easier to read. It's already parsed, it's already a number, and it's sitting right there. Nothing about it announces that it's the wrong number.
Why a real 1080p video can still look soft
Correcting the label doesn't make anyone's video sharper, and it's worth being honest about that. There is a second, separate reason uploads come back looking worse than they left, and it has nothing to do with metadata.
Resolution is a count of pixels. It says nothing about how much data was spent describing them. Every upload is re-encoded on arrival, and that re-encode targets a bitrate — a data budget per second of video. A 1080p file at a generous bitrate and a 1080p file at a thin one have identical dimensions and visibly different quality.
This is why the footage that suffers most is the footage that's hardest to compress: fast motion, confetti and rain, water, fine fabric texture, film grain, smoke, and gradients in dark scenes. A static talking head survives compression almost untouched. A drone shot over trees falls apart. Same resolution, same platform, wildly different outcome.
So there are two independent things going on, and conflating them is the usual source of confusion. The label is often wrong, which is a reporting problem and fixable. The encode discarded detail on upload, which is a physics-of-compression problem and is not recoverable by anyone, using any tool, at any price. Detail that was thrown away during transcoding does not exist to be downloaded.
Photos work completely differently
It's worth knowing that images don't share this problem, because the mental model people carry over from video is wrong here.
A post's image data arrives as a list of renditions, ordered smallest to largest, and the largest entry is generally the full-size original as uploaded. There's no display-box confusion to unpick and no ladder to be mapped onto — the original is simply present in the response, and the only question is whether a tool reaches for it or grabs a thumbnail-sized entry earlier in the list.
Which is why saving a photo tends to give a genuinely better result than saving a video: with images, the original really is available. With video, it isn't, and no tool can conjure it back.
What you can actually control
If you're the one publishing, the decisions that matter all happen before upload — after that, the pipeline is out of your hands.
- Export at the platform's native size rather than above it. Uploading a 4K master to a service that serves 1080p just means the downscale happens on their encoder instead of yours, and yours is the one you can tune.
- Spend your bitrate before upload, not after. A generously encoded source gives the re-encoder better material to work from. A file that's already been squeezed once gets squeezed again, and the damage compounds.
- Shoot with compression in mind. If a shot is all motion and fine texture, expect it to suffer, and consider whether a slower shot carries the same idea.
- Keep your masters. The version on the platform is a lossy copy that you cannot recover the original from. This is the one that people only learn the hard way.
That last point is the one worth sitting with. Whatever a platform holds is a re-encode, and if it's the only copy you have, then you have already lost quality you can never get back — and you're one deleted post or closed account away from losing the rest.
The short version
The number a platform reports describes its layout, not your file. The real figure is in the media URL, and the ground truth is in the file you already have — thirty seconds in a properties dialog beats any label a tool prints on a page.
If you want to see the difference, save a reel and check the file against what you were told. Whatever it says, believe the file.