Why one color gives three different grays
There is no single formula for turning a color into gray. Which weights you use, and which space you compute in, moves the result enough to see. So this page runs the three common methods at once and lines them up. Nothing is quietly picked for you: every row prints its weights and the space it was computed in, so you know exactly which value you are copying.
The three methods
Rec.601 luma uses weights of 0.299, 0.587 and 0.114, the traditional video figures that many image editors still apply. Rec.709 luma uses 0.2126, 0.7152 and 0.0722, matching sRGB and HDTV, and both of those weight the gamma-encoded values directly. Linear-light luminance first linearizes with the sRGB transfer function defined by the W3C (threshold 0.04045), applies the Rec.709 weights, then re-encodes. Working from actual light output makes it the most perceptually defensible, and it usually lands on the lightest gray of the three. Specification references are current as of October 2026.
Limits
No method is declared correct. If you need to match existing work, follow whichever one your editor applies, and if you are choosing fresh, the linear-light figure is the one to lean on. Converting a whole image file is not supported, only a single color value is computed.
Frequently Asked Questions
If you have existing work to match, follow whichever method your editor applies. With nothing to match, linear-light luminance comes closest to perceived brightness because it works from actual light output. This page does not declare one of them correct.
That cannot be claimed. The filter is defined with Rec.709 style weights, but which space the math happens in can vary by implementation and setting. When you need an exact value, take it from the table.
Multiplying weights straight into gamma-encoded values understates the mid range compared with real light output. Linearizing first, summing the light, then re-encoding removes that understatement, which usually lands on a lighter gray.