Get Early Access

← Back to Blog

Plex Tone Mapping: HDR to SDR Conversion Explained

October 6, 2026 · PlexBeam

You download a beautiful 4K HDR movie, hit play on your 1080p TV, and the image looks washed out — pale faces, blown-out skies, flat contrast. That’s what happens when HDR content plays on an SDR display without proper tone mapping. The HDR color and brightness data needs to be compressed into the narrower SDR range, and how that compression happens determines whether the result looks great or terrible.

Plex has built-in tone mapping that handles this conversion automatically during transcoding. But the quality depends heavily on your hardware, your settings, and which HDR format the source file uses. This guide covers how it all works and how to get the best results.

What Tone Mapping Actually Does

HDR video uses a wider color gamut (BT.2020) and higher peak brightness (up to 10,000 nits for HDR10, dynamic metadata for Dolby Vision) compared to SDR (BT.709, ~100 nits). Tone mapping is the process of remapping that wider range into the narrower SDR space while preserving as much of the visual intent as possible.

There are three core transformations happening simultaneously:

  • Luminance compression — bright highlights need to be pulled down into SDR range without crushing detail. A sunset that peaks at 4,000 nits in HDR needs to map to ~100 nits while still looking like a sunset.
  • Color space conversion — BT.2020 can represent colors that BT.709 physically cannot display. Those out-of-gamut colors need to be clipped or remapped to the closest representable color.
  • Transfer function conversion — HDR uses PQ (Perceptual Quantizer, ST.2084) or HLG transfer curves. SDR uses a simple gamma curve. The math is different and directly affects perceived contrast.

When any of these steps goes wrong, you get the classic symptoms: washed-out colors (bad luminance mapping), oversaturated reds/greens (bad gamut mapping), or flat contrast (wrong transfer function).

How Plex Handles Tone Mapping

Plex uses two different tone mapping paths depending on your hardware:

Software tone mapping (CPU): Available on any server. Plex uses FFmpeg’s tonemap filter with the hable algorithm by default. It works, but it’s extremely CPU-intensive — you’re doing 4K decode, color space math, tone curve application, and re-encode all on CPU. Expect one transcode to pin 6-8 cores at 100%.

Hardware tone mapping (GPU): Available with Plex Pass on supported GPUs. NVIDIA GPUs (Maxwell or newer) and Intel Quick Sync (10th gen+) can do tone mapping in hardware during the transcode pipeline. This is dramatically faster and the quality is generally better because the GPU has dedicated fixed-function hardware for color space conversion.

Key point: Hardware tone mapping requires Plex Pass. Without it, even if you have a GPU, Plex falls back to software tone mapping on CPU. This is one of the strongest reasons to get Plex Pass if you have HDR content and non-HDR clients.

HDR Formats and How They Affect Tone Mapping

Not all HDR is created equal, and the format determines how well tone mapping can work:

  • HDR10 — static metadata. One set of brightness/color values for the entire movie. Tone mapping works well because the metadata tells Plex the content’s peak brightness and mastering display info upfront. This is the most common format and the best supported.
  • HDR10+ — dynamic metadata. Per-scene (or per-frame) brightness info. Plex currently ignores the dynamic metadata and falls back to the static HDR10 base layer. Results are good but not optimal — you lose the scene-by-scene adjustments.
  • Dolby Vision — the trickiest. DV uses either Profile 5 (single layer, no HDR10 fallback) or Profile 7/8 (dual layer with HDR10 base). Plex can tone-map the HDR10 base layer of Profile 7/8 content. Profile 5 may produce incorrect colors because there’s no HDR10 metadata to work from. If you have DV Profile 5 files and non-DV clients, consider remuxing them with tools like dovi_tool to add an HDR10 compatibility layer.
  • HLG — Hybrid Log-Gamma, common in broadcast content. Inherently backward-compatible with SDR displays (the gamma curve is designed to degrade gracefully). Tone mapping is simpler and usually looks fine without any special configuration.

GPU Comparison for Tone Mapping

The GPU you use makes a meaningful difference in tone mapping quality and performance:

  • NVIDIA (Turing/Ampere/Ada) — best quality. NVENC handles the full pipeline in hardware including 10-bit decode, tone mapping via CUDA, and 8-bit re-encode. An RTX 3060 can handle 3-4 simultaneous 4K HDR-to-SDR transcodes. Even a GTX 1650 Super handles 1-2.
  • Intel Quick Sync (10th gen+) — excellent for the price. An N100 mini PC can handle 2-3 HDR tone mapping transcodes. Quality is very close to NVIDIA. 12th/13th gen Intel with the improved media engine is even better.
  • Intel Arc (A380/A580) — the best budget option for dedicated GPU tone mapping. AV1 decode support is a bonus for future-proofing.
  • AMD GPUs — Plex support for AMD hardware transcoding has improved but tone mapping support is still limited. Check the Plex forums for your specific GPU before relying on it.

Plex Settings That Affect Tone Mapping Quality

A few settings in Plex directly impact tone mapping results:

  1. Enable HDR tone mapping (Settings → Transcoder) — must be checked. This is off by default on fresh installs.
  2. Use hardware acceleration when available — enables GPU tone mapping instead of software.
  3. Transcoder quality — “Prefer higher quality encoding” gives the encoder more time per frame, which matters for preserving detail in the tone-mapped output. The difference is subtle but visible in dark scenes with highlights (think: candle flames against a dark background).
  4. Maximum simultaneous transcodes — if your GPU is at capacity, additional tone mapping transcodes drop to software, which may look different. Set this to match your GPU’s real capacity.

When to Avoid Transcoding HDR Content

The best tone mapping is no tone mapping. If your client device supports HDR, configure Plex to direct play:

  • Set the client’s remote/local quality to “Maximum” or “Original”
  • Ensure the client device supports the HDR format (most modern TVs support HDR10; fewer support Dolby Vision or HDR10+)
  • Check that your network bandwidth is sufficient — 4K HDR files are typically 40-80 Mbps. If your upload can’t handle that, the client will request a transcode and trigger tone mapping

For the “keep both” approach, some users maintain separate 4K HDR and 1080p SDR versions. Plex’s “Other Versions” feature lets you store both in the same library entry. HDR clients get the 4K version via direct play; SDR clients get the pre-converted 1080p version without any transcoding needed.

How PlexBeam Handles HDR Tone Mapping

PlexBeam offloads transcoding (including tone mapping) to a remote GPU. This means even if your Plex server is running on an N100 mini PC or a NAS with no GPU, HDR-to-SDR conversion happens on a dedicated NVIDIA GPU in PlexBeam’s infrastructure. The result: high-quality tone mapping without needing to own a powerful GPU yourself, and your server’s CPU stays free for other tasks.

More from the Blog

4K HDR Transcoding: Why Plex Struggles

Why tone mapping and 10-bit encoding crush CPUs and most GPUs.

Direct Play vs Direct Stream vs Transcode

The three Plex playback modes and what triggers each one.

Plex Audio Passthrough Setup

Configure lossless surround sound passthrough for DTS, Dolby Atmos, and TrueHD.

Ready to offload your transcodes?

Join the pre-beta waitlist and lock in 50% off for life.

Claim My Early-Adopter Spot →