Convert Limited to Full Range 16-235 to 0-255 FFmpeg

This guide explains how to convert a video’s color range from limited (16-235) to full (0-255) using the FFmpeg command-line tool. You will learn the exact video filters and metadata flags required to expand the color levels correctly, preventing washed-out blacks or clipped whites in your final output.

When converting from limited range (often used in broadcast TV) to full range (used in PC graphics and web video), you must both scale the pixel values and correctly flag the output file’s metadata so media players decode the colors properly.

The Standard FFmpeg Command

To convert the color range, use the scale video filter to expand the range and set the -color_range flag to pc (which stands for PC range, 0-255).

Here is the recommended command:

ffmpeg -i input.mp4 -vf "scale=in_range=limited:out_range=full" -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range pc -c:v libx264 -crf 18 -c:a copy output.mp4

Command Breakdown

Quick Verification

After conversion, you can verify that the file is correctly flagged as full range by running:

ffprobe -show_streams input.mp4 2>&1 | grep color_range

The output should display color_range=pc.