← All articles

Why Your Video Looks Worse After Uploading (and How to Measure the Loss)

You’re not imagining it

You export a crisp master, upload it, and the version the platform serves back looks softer — blocky in dark scenes, smeared in fast motion, banded in gradients. This happens to everyone, on every platform, because no major platform streams the file you uploaded. YouTube, Instagram, TikTok, Facebook, and Vimeo all re-encode every upload into their own delivery formats at bitrates far below your export.

The questions that matter are: how much quality did you lose, where in the video it hurts most, and what to change in your export so the platform’s re-encode starts from the best possible source.

Why platforms re-encode everything

  • Bandwidth economics. Serving your 40 Mbps master to millions of viewers is expensive; a 4–8 Mbps stream looks “good enough” on most screens for a fraction of the cost.
  • Adaptive streaming. Each video is transcoded into a ladder of resolutions (2160p → 144p) so playback can switch with connection speed. Every rung is a fresh lossy encode.
  • Codec standardisation. Whatever you upload gets converted to the platform’s codecs — H.264, VP9, or AV1 — and popular videos often get the better codec only after they prove popular.

Your upload is the input to this pipeline, never the output. That has a practical consequence: the platform’s encoder compounds whatever loss your own export already had.

Stop squinting — measure it

Eyeballing your original against the streamed version tells you “it looks worse”, but not how much or where. The objective way:

  1. Download the platform’s version of your video (the served stream, via the platform’s own download option where available).
  2. Upload both files — your export and the platform’s version — to DiffALL’s video comparison tool. Different resolutions and codecs are fine; both are scaled to a common size, and small timing offsets are aligned automatically.
  3. Read the per-second SSIM chart. A flat, high line means the re-encode was gentle. Sharp dips show the exact seconds where the platform’s encoder gave up — almost always fast motion, confetti/rain/water, or dark gradients.
  4. Inspect the worst moment. DiffALL renders the single most-damaged frame with a heatmap, so you can see whether the loss hits your subject or just the background.

A score above ~95% means viewers will not notice the difference. Around 90–95% the loss is visible on a good screen, and below 90% it’s time to change how you export. (For a deeper look at scoring, see what SSIM measures and what VMAF measures.)

Reading the per-second chart

The shape of the line usually says more than the headline number:

Pattern Likely cause What to try
High and flat throughout A gentle re-encode Nothing — the loss is within what viewers notice
Low across the whole clip Too few bits for the resolution Upload a higher-bitrate or higher-resolution master
Sharp dips on fast motion, rain, confetti or water The encoder ran out of bits on hard content Reduce grain and noise in those scenes, or give the source more bitrate
Dips in dark scenes and gradients Banding and blocking in flat areas Export 10-bit, or add light dither before export
Steady decline toward the end A bitrate budget that ran out Export with constant quality (CRF) rather than a fixed average bitrate

The thresholds above are starting points. For a pipeline with a pass/fail rule, encode a few representative clips at several settings, watch them with your team, and note the score where people start to see the difference — animation and live action, dark and bright footage all put that line in different places.

How to lose less quality

You can’t skip the platform’s re-encode, but you can feed it a better source:

  • Upload more bitrate than the platform’s target. The encoder starting from a clean 20–50 Mbps master produces a far better 6 Mbps stream than one starting from an already-crunchy 8 Mbps export. Never upload a file that was itself compressed to near-delivery bitrate.
  • Upload higher resolution. Platforms typically allocate better codecs and higher bitrates to higher-resolution ladders — a 4K upload usually yields a better-looking 1080p stream than a 1080p upload.
  • Avoid double compression. Export from your editor’s master sequence, not from a previously compressed file. Every extra lossy generation compounds. (Choosing export settings? See CRF and encoder settings compared.)
  • Mind the killers: film grain, confetti, water, and fog eat bitrate. If a scene doesn’t need them, the rest of your video gets the savings.

Then verify: re-upload, download the new streamed version, and run the comparison again. Two DiffALL runs — old export vs stream, new export vs stream — give you an A/B answer instead of a feeling.

The bottom line

Quality loss on upload is built into how every video platform works — the only variables you control are the source you feed it and whether you measure the result. Compare your master against the streamed version with DiffALL: you’ll get a similarity score, a per-second chart of exactly where the platform’s encoder hurt your video, and a clear verdict on whether your export settings are helping or hurting.

Stop hunting for differences by hand. DiffALL spots every change between any two files — automatically.

Compare your files — free