The numbers do not mean anything on their own
A pixel stored as (255, 0, 0) is 'as much red as this format can express'. It is not any particular red. How red it actually looks depends entirely on the display, and displays vary enormously in how saturated a red they can physically produce.
A colour space is the missing definition: it maps those numbers onto actual, measurable colours. Give the same file two different colour space definitions and it will display as two different images, without a single pixel value changing.
This is the whole problem in one sentence. Colour management exists to make sure that the definition travels with the file, so that everything downstream interprets the numbers the same way.
The three colour spaces you will meet
sRGB is the oldest and by far the most important. It dates to 1996, describes a relatively modest range of colours, and is the assumed default across the entire web. Anything that does not specify a colour space is treated as sRGB by essentially every browser and viewer.
Display P3 is Apple's adopted wide-gamut space, and it is now what most recent phones, tablets and laptops actually display. It covers roughly 25% more colours than sRGB, with noticeably more saturated reds and greens. Photos taken on a modern iPhone are captured in P3.
Adobe RGB is older and aimed at print, with a wider range of cyans and greens than sRGB but less reach in the reds than P3. It remains common in professional print workflows and is rarely the right choice for anything web-facing.
There is also ProPhoto RGB, which is enormous and used as an editing space in raw workflows. It should never leave your editor — exporting ProPhoto to the web produces the most dramatic version of the washed-out problem described below.
Why images look washed out
This is the most common symptom and it has one dominant cause: an image in a wide-gamut space displayed by something that assumes sRGB.
Say a photo is in Display P3 and its most saturated red is stored as (255, 0, 0). Viewed correctly, that is P3's red, which is very saturated. Viewed by software that assumes sRGB, the same numbers are interpreted as sRGB's red, which is less saturated. Every colour in the image is mapped to something duller than intended, and the whole photo looks flat and lifeless.
The reverse produces the opposite: an sRGB image interpreted as P3 renders every colour more saturated than intended. Skin tones go orange and reds glow.
Both are interpretation errors, not damage. The pixel values are fine; the wrong definition was applied.
Embedded profiles, and what strips them
The mechanism that prevents all this is the ICC profile — a block of metadata embedded in the file that states which colour space the numbers belong to. Software that reads it can convert correctly for whatever display is attached.
The problem is that profiles get lost. Some export settings omit them to save a few kilobytes. Some aggressive optimisation tools strip all metadata, profiles included. Some platforms discard them during their own recompression. Screenshots may or may not carry the profile of the content they captured.
And once the profile is gone, a wide-gamut image is indistinguishable from an sRGB image with unusual pixel values. Nothing downstream can recover the intent, which is why an image can look correct on your machine and wrong everywhere else — your editor remembered the colour space out of band, and the file did not carry it.
This is also the one case where blanket metadata stripping has a real cost. Removing EXIF and GPS from a shared image is good practice; removing the ICC profile along with it can visibly change how the image looks.
What to actually do
The rules are short:
- Export to sRGB for anything going on the web, into a document, or to someone whose setup you do not know. It is the universal default and cannot be misinterpreted.
- Always embed the profile. It is a couple of kilobytes and it removes the entire class of problem.
- Convert, do not assign. Converting remaps the pixel values so the colours stay visually the same in the new space; assigning changes the label and leaves the values alone, which changes the appearance. Almost always you want convert.
- Edit in a wide space if you like, but export narrow. Keeping P3 or ProPhoto in your editor preserves headroom; sending it out invites misinterpretation.
- Use Display P3 deliberately, not accidentally — for a photo gallery where the extra saturation matters and you can serve sRGB as a fallback.
- If an image looks flat everywhere but your editor, suspect a missing or wrong profile before you suspect the image.
Print is a different problem
Screens emit light and mix colours additively; ink absorbs light and mixes subtractively. The two have genuinely different achievable ranges, and some colours simply cannot be printed.
The saturated blues and greens that a screen produces easily are the usual casualties — they come out noticeably duller on paper, and no amount of profile correctness changes that. What colour management can do is choose intelligently how out-of-range colours are mapped into what the printer can reach, which is the job of the rendering intent setting.
For photographs, perceptual rendering compresses the whole range smoothly, preserving the relationships between colours at the cost of shifting all of them slightly. For logos and brand colours, relative colorimetric keeps in-range colours exact and clips the rest, which matters when a specific colour must be right. If you are sending work to print, ask the printer for their profile and soft-proof against it rather than guessing.