Convert HDR to SDR — Fix Washed-Out, Grey-Looking Video

If a phone clip looks grey, flat and dull everywhere except the phone that shot it, it's HDR being shown on a screen that can't read it. This converts it properly — tone-mapping the highlights down into SDR instead of just clipping them — in your browser, without uploading the file.

  • No upload wait
  • Nothing leaves your device
  • Free, no account
  • No artificial size limits

Why the video looks grey

Recent iPhones and Android flagships record HDR by default: 10-bit video with the PQ or HLG transfer curve, usually tagged bt2020. On the phone that shot it the picture is bright and punchy. Open the same file on a desktop, drop it into an editor, or post it somewhere that doesn't understand the tags, and it goes grey, flat and slightly washed — the greens turn sickly, faces go pale, and the contrast collapses.

Nothing is wrong with the file. HDR stores brightness on a completely different scale from SDR, and the tags on the file are what tell a player which scale to use. A player that ignores those tags reads HDR values as if they were ordinary SDR ones. The numbers that were meant to describe a bright highlight get interpreted as mid-grey, and the whole image flattens out.

The fix is to actually convert the brightness scale — not to re-tag the file and hope, and not to crush everything above a threshold to white. That conversion is called tone-mapping.

What tone-mapping actually does

An HDR source can describe brightness far beyond what an SDR screen can show. Tone-mapping decides how to fit that larger range into the smaller one — which highlights to roll off gently, and how much, so the result keeps its contrast instead of turning into a grey smear or a blown-out mess.

This converter does it with a proper tone-mapping curve rather than a straight clamp. The video is linearised, converted to floating-point, run through the Hable curve, then re-encoded as bt709 SDR and explicitly tagged as such, so the next player along has no reason to guess. Saturation is left alone through the curve, because desaturating on top of a tone-map is what gives tone-mapped footage that lifeless look.

The explicit re-tagging matters as much as the curve. A lot of converters tone-map the picture and then write the file with the original HDR tags still attached, or with no colour tags at all. Either way the next player is back to guessing, and you can end up with a file that looks wrong in a different direction.

When it happens automatically

You don't have to find a setting. The converter probes the source's colour primaries, transfer curve, matrix and range before it starts. If it finds an HDR transfer curve — PQ (smpte2084) or HLG (arib-std-b67) — and the output you've chosen is SDR, which MP4/H.264 and WebM both are, it inserts the tone-mapping chain on its own.

If the source is already SDR, nothing is tone-mapped. The converter preserves whatever colour tags were there and re-states them on the output, which is the other half of not silently shifting colour: an SDR file should come out looking identical, not "corrected".

What this is useful for

  • iPhone or Pixel clips that look fine on the phone and grey on a laptop.
  • Footage headed into an editor that doesn't handle HDR, where it would otherwise need a colour pass to look normal.
  • Video for a platform that strips or ignores colour metadata, so the safest thing to hand it is a correctly-tagged SDR file.
  • Anything that has to look the same everywhere — SDR is the format with no ambiguity left in it.

The honest caveats

Tone-mapping is lossy in a way that has nothing to do with compression. You are throwing away dynamic range the SDR file cannot hold, and there is no setting that avoids that — only choices about where the loss shows. Keep the original if the footage matters; this is for producing a version that plays correctly, not a replacement.

Tone-mapping also needs a build of ffmpeg with the zscale filter, which this site ships. If a fallback core loads for any reason, the converter tells you so rather than quietly producing a file with the colours mangled — a warning on the job instead of a bad download.

And a tone-mapped HDR source will never quite match the original on a real HDR display. That is the nature of the conversion, not a shortcoming of this particular one.

How it runs

The whole thing happens on your own device, in the browser tab, using a WebAssembly build of ffmpeg. There is no upload step, so there is no queue, no file size ceiling imposed by a server, and nothing about the video is transmitted anywhere. For phone footage — which is often the most personal thing anyone converts — that's the part that matters.

Frequently asked questions

Why does my iPhone video look grey or washed out on my computer?
Because it's HDR. iPhones record 10-bit video with the PQ or HLG transfer curve, and a player that doesn't read those colour tags interprets the HDR brightness values as if they were ordinary SDR ones. Everything flattens: highlights become mid-grey, colour drains out, contrast collapses. The file is fine — it's being read on the wrong scale. Converting it to SDR with proper tone-mapping fixes it permanently.
What is tone-mapping?
Fitting a large brightness range into a smaller one on purpose, with a curve that rolls the highlights off gradually. The alternative — simply clipping anything too bright — is what produces blown-out skies and flat faces. This converter uses the Hable curve, linearising the video first and converting to floating point so the curve has room to work.
Is HDR to SDR lossy?
Yes, and not in the compression sense. SDR physically cannot hold the dynamic range an HDR file describes, so some of it is discarded no matter how good the conversion. Tone-mapping decides where that loss lands rather than avoiding it. Keep the original file; treat the SDR version as a copy that plays correctly everywhere.
Do I need to turn tone-mapping on?
No. The converter probes the source's transfer curve before starting. If it's PQ or HLG and the output format is SDR — MP4, WebM — the tone-mapping chain is added automatically. An SDR source is left alone, with its original colour tags preserved and restated on the output.
Will the output be tagged correctly?
Yes, explicitly: bt709 primaries, bt709 transfer, bt709 matrix, limited range, written onto the output file. This is worth checking in any converter you use, because tone-mapping the picture while leaving the original HDR tags attached is a common bug — and it produces a file that looks wrong in a new way rather than a fixed one.
Can I convert HLG as well as PQ?
Both. HLG (arib-std-b67, common on Android and in broadcast) and PQ (smpte2084, what Dolby Vision and HDR10 use) are both recognised as HDR transfer curves and both get tone-mapped. The same applies to smpte428.
Is my video uploaded?
No. Conversion runs inside your browser using WebAssembly ffmpeg, on your own device. Nothing is sent anywhere, there's no queue, and there's no server-imposed size limit — which also means you can watch the Network tab during a conversion and see for yourself that nothing leaves.