Reference

Colour Profiles & ICC

sRGB, Display P3, AdobeRGB — what they mean and how NSS handles them.

What is an ICC profile?

An ICC (International Colour Consortium) profile is metadata embedded in an image file that defines the colour space it was captured in. Without the profile, a viewer has no way to know whether a particular set of RGB values should look vivid or muted — the same numbers mean different colours in different colour spaces.

Common colour spaces

sRGB

The standard colour space for the web. Most monitors, cameras, and tools default to sRGB. If an image has no embedded ICC profile, sRGB is assumed. Use sRGB for maximum compatibility.

Display P3

A wider colour space that covers ~25% more colours than sRGB. iPhones capture photos in Display P3 by default. When you process an iPhone photo in NSS, the P3 profile is detected and preserved. If you open a P3 file in a tool that doesn't support P3, the colours may look oversaturated or washed out.

AdobeRGB

A wide gamut colour space used in professional photography. Larger than sRGB but smaller than ProPhoto RGB. Often used in RAW camera capture for print production.

How NSS handles colour profiles

NSS reads the ICC profile from the raw file bytes before decoding. Images are decoded with colorSpaceConversion: 'none' to prevent the browser from silently converting colour spaces. The original profile is preserved and reattached at export.

If a non-sRGB profile is detected, NSS shows a notice in the editor. No conversion is applied — that decision belongs to you and your workflow.

Converting colour spaces

NSS does not convert colour spaces. To convert a P3 or AdobeRGB image to sRGB: export the PNG from NSS (with the original profile), open in Photoshop, then Edit → Convert to Profile → sRGB. This lets you control the rendering intent.