Colour science/S2/Web, desktop and default RGB

Web, desktop and default RGB

sRGB

A complete sRGB guide: why HP and Microsoft proposed a default RGB space for computers and the Internet, how IEC 61966-2-1 formalised it, why its primaries match Rec.709, how the exact piecewise transfer function works, and how ICC profiles, browser colour management and mixed-media Resolve workflows fit together.

IEC 61966-2-1D65ICCPiecewise TRCWeb defaultDisplay-referred
In plain language

sRGB is not simply 'normal colours for the web'. It is a defined display-referred RGB space: Rec.709 primaries, a D65 white point, its own transfer curve and reference viewing assumptions. It became the lingua franca of computer graphics because a file could carry a standard interpretation instead of a complete description of one specific monitor.

11 sections3 primary references

Quick reference

Definitions and numbers worth keeping in view

Red primary
x 0.640 · y 0.330

The same primary as Rec.709.

Green primary
x 0.300 · y 0.600

The same primary as Rec.709.

Blue primary
x 0.150 · y 0.060

The same primary as Rec.709.

White point
D65 · x≈0.3127 · y≈0.3290
Decode breakpoint
C = 0.04045

Below: linear = C/12.92.

Power section
Exponent 2.4

It is part of a piecewise TRC, not a simple 2.4 gamma across the whole range.

Reference white
80 cd/m²

A reference encoding/viewing condition, not a requirement for every laptop's brightness.

Image state
Display-referred

A key distinction from scene-referred camera working spaces.

sRGB geometry

Same primaries as Rec.709

RGBD65R .640/.330 · G .300/.600 · B .150/.060

Linear sRGB and linear Rec.709 share this gamut geometry. Their complete system definitions still differ because transfer and viewing assumptions are separate layers.

Transfer function

Piecewise, not simple Gamma 2.2

0.04045((C+0.055)/1.055)^2.4C / 12.92
Decode toe
C ≤ 0.04045
linear = C / 12.92
Power section
((C+0.055)/1.055)^2.4
History

A standard interpretation instead of one specific monitor

1996
HP + Microsoft
Proposal for a standard default Internet RGB space
1999
IEC 61966-2-1
sRGB becomes an international standard
CSS
Web default
hex / rgb() / named colours resolve in sRGB
ICC / browser

Numbers need a source profile and a destination

RGB values
#RRGGBB / image pixels
ICC / sRGB definition
source meaning
Display profile
device rendering
Untagged ≠ universal

Many web paths assume untagged imagery is sRGB, but professional mixed-media workflows should not rely on that assumption when the real source state is known.

01

Why the Internet needed a default RGB space

In the 1990s desktop publishing was rapidly moving away from the world where one image lived on one known device. Images travelled through Windows, browsers, scanners, printers, CRT displays and networks, while full device profiles were not always available or supported. In 1996 Hewlett-Packard and Microsoft proposed sRGB as a simple device-independent baseline for operating systems and the Internet: if nothing more specific is known about an image, both ends can at least agree on one standard RGB interpretation. In 1999 that approach was formalised as IEC 61966-2-1.

02

What sRGB actually defines

The space has four essential layers. Primaries: R x=0.640 y=0.330, G x=0.300 y=0.600, B x=0.150 y=0.060. The white point is D65. The transfer characteristic is a separate piecewise function with a linear section near black. And there are reference-display/viewing assumptions, because identical RGB numbers do not complete a colour definition unless we know what light the display is supposed to produce. Modern web specifications also explicitly treat sRGB as display-referred.

03

Why sRGB and Rec.709 have the same gamut

sRGB deliberately inherited the same CIE xy primaries and D65 white point as Rec.709. Their linear-light RGB↔XYZ matrix and chromaticity triangle are therefore the same. But matching geometry does not make the standards complete synonyms: sRGB defines a computer/display encoding with its own transfer curve and viewing assumptions, whereas Rec.709 began as a television production system with a BT.709 OETF and a separate reference-display story through BT.1886. 'Same gamut' is correct; 'sRGB equals Rec.709 in every respect' is not.

04

The exact sRGB transfer function: where 12.92 and 2.4 come from

For an encoded component C in the 0–1 range, conversion to linear light Cl is piecewise. At C≤0.04045: Cl=C/12.92. Above that: Cl=((C+0.055)/1.055)^2.4. In the reverse linear→encoded direction the breakpoint is about 0.0031308: first 12.92·Cl, then 1.055·Cl^(1/2.4)−0.055. sRGB is therefore neither a simple 2.2 power gamma nor a pure 2.4 power curve. The linear toe near black avoids the infinite-slope behaviour of a simple power law and gives the standard an exact reproducible encoding.

05

Reference display: why sRGB is more than chromaticities

The web/CSS reference model for sRGB specifies D65, a white luminance of 80 cd/m², a black luminance of 0.20 cd/m² and a display-referred image state. Those numbers do not mean every laptop must physically run at exactly 80 nits. They describe a reference encoding/viewing condition from which colour-managed interpretation is built. A real consumer display may run at 120, 300 or 1000 nits, while colour management attempts to preserve the intended relative appearance within the device's capabilities.

06

ICC profiles: what the file tells an application

An ICC profile does not 'improve colours' by itself. It tells the colour-management system how to interpret RGB numbers in a defined image space and how to relate them to a profile connection space. With an embedded sRGB profile the application has an explicit source definition. An untagged image leaves interpretation to the application's default policy: many web contexts assume sRGB, but a professional pipeline should not rely on guessing when the source profile is known.

07

Why sRGB is still the default in CSS and browsers

Legacy CSS colours — hex, rgb(), hsl() and named colours — historically resolve in sRGB. That is one reason the space remains so durable: billions of web assets already assume it. CSS Color 4 adds explicit spaces such as color(display-p3 …), color(rec2020 …), Lab/OKLab and others, but an ordinary #ff0000 still means sRGB red, not 'the reddest colour the current monitor can produce'.

08

Wide-gamut web does not replace sRGB

A modern browser can accept Display P3 imagery/CSS colours and show more saturated chromaticities on a P3-capable display. On an sRGB-only device the content must be gamut-mapped or an author-provided fallback must be used. Wide-gamut web is therefore not a migration from an 'old bad sRGB' to a 'new good P3'; it is the arrival of multiple explicit colour spaces and the need to understand the capabilities of the target display.

09

Why a Figma PNG and Rec.709 video can disagree in Resolve

Still graphics from Photoshop or Figma often arrive as sRGB/ICC display-referred assets, while a video timeline may be Rec.709 Gamma 2.4, DWG/Intermediate or ACES. Even with identical primaries they should not automatically be treated as the same signal state. If Resolve or the OS interprets the still as sRGB while the video viewer uses another output transfer, midtones and black perception can diverge. A correct mixed-media workflow begins by explicitly tagging/interpreting each type of source asset.

10

sRGB → Rec.709: when no matrix is needed but a transform still may be

Because the primaries and D65 are identical, no chromatic adaptation or gamut matrix is required between linear sRGB and linear Rec.709. But a display-referred sRGB asset and a television Rec.709 master can use different transfer/rendering assumptions. An exact conversion can therefore consist only of linearisation plus re-encoding/output rendering, with no change to chromaticity coordinates. This is a clean example of why a colour space cannot be reduced to a gamut triangle alone.

11

Practical workflow: web graphic → Resolve → video master

1) Check the embedded ICC/source tag. 2) Identify the timeline working space and output. 3) Do not treat RGB values as universally meaningful numbers. 4) If graphics must preserve display appearance, use the correct input interpretation/transform. 5) Validate the final Rec.709 master on a reference video path, while validating web stills in a colour-managed browser. The same design may need two different delivery encodings while preserving a visually similar appearance.

What this changes in post

If a PNG/JPEG from web design enters Resolve, first ask 'is this an sRGB asset or merely untagged RGB?'. Only then decide how it enters the video pipeline. Matching Rec.709 primaries do not erase the difference in transfer/display intent.

Common mistakes
Treating sRGB as a simple Gamma 2.2 curve.
Treating sRGB and Rec.709 as completely identical.
Ignoring the embedded ICC profile.
Assuming untagged RGB is interpreted as correct sRGB in every application.
Dropping sRGB graphics into a scene-referred timeline without explicit interpretation.
Validating wide-gamut web content on only one display.