sRGB is for the web
Introduction
I regularly see discussions on the internet over what to upload to the internet regarding color profiles. In this article I try to shed a light to why almost always you should upload sRGB at 8bit per color to the web. In short it has to do with what 99% of the internet will support and legacy file formats. Also until HDR TVs will become mainstream most people won’t have a display that is capable to show more then the sRGB color space.
Definitions
The following definitions will be used throughout this article.
- Chromacity diagram: A diagram showing all visible colors, the famous one is the horse shoe xy diagram
- Color Space: A defined space within all visible colors
- Gamut: Colors the color space covers
- Input Color Space: Color space of input devices (cameras or scanners)
- Output Color Space: Color space of output devices (displays or printers)
- Working Color Space: Color space used to work in to retain as much information during production (AdobeRGB, ProphotoRGB, etc)
- Calibration: Changing monitor and/or graphics settings to attain a certain response from the screens
- Profiling: Creation of and Input or Output color space often done concurrently with calibration
A short history of sRGB
The history of color is long and quite complex so here a short version of how sRGB became the standard somewhere in the 90s (at least so far as I understand). At the time for professional work workflows to get accurate colors did exist but mostly for desktop publishing and pre-print work, as computers became more and more common it became apparent that also color reproduction on random peoples screens was desired. Since these random persons wouldn’t or couldn’t calibrate or profile it was decided to create a generic colorspace that matched most of the then existing (CRT) monitors, this is the colorspace that became known as sRGB. Even today most types of screens try to get a descent reproduction of this space even tough that is not always possible (especially on cheap LCD screens).
So why publish in sRGB (on the web)
The short reason is, is that that what most people can see on their screens. Although some modern web browsers do have support to remap colors from one color space to another this does require some extra information in the image file, a lot of web services actually strip this information from the files making these files display wrong (since the assumed default is sRGB), even when this extra information is available due to the fact that most people don’t have a display that is capable of more then sRGB this extra color information is effectively wasted. Over time this will probably change with the introduction of so called HDR TVs but even then it will be a long time before commonly used software will be adapted.
On top of that the most used image format for photos (JPEG) doesn’t support more then 8bit per color. For displaying sRGB images this is enough but any wider color spaces will begin to display banding if used with such a low bit count. Currently only PNG is commonly supported file type that supports higher bit values but due to large file size for photographic work this format isn’t suitable for those kinds of work.
Working spaces are useful
So if the above is the case why is a working color space that is larger then the display color space of your monitor? This has mostly to do with the fact that most input color spaces can be fairly large and not wanting to discard information until the final edit, since during editing colors that where previously outside of the display gamut can be brought inside (and vice versa). Add to that, that printers can have a different non-overlaping gamut which might also be a target and preserving as much color information during editing becomes paramount. It is for the above reasons that during editing often 16bit (or more!) per color files are used and even for editing in sRGB this is to be recommended.
Examples
A couple of examples, first picture shows adobeRGB (left) vs sRGB (right) when the program correctly manages colors, the second shows the same pictures without managed colored (in this case forced by assigning the right image an sRGB color space instead of converting it).
As can be seen in the managed view the images are indistinguishable while in the un-managed view the adobeRGB image has become yellowish, which is probably not intended by the artist.
Conclusion
The conclusion can be drawn that for web publishing the image should be in the sRGB color space at least for the foreseeable future. Of course when working on an image that originally contained a much wider gamut of colors it becomes necessary to work in a larger color space but when exporting such picture for web use it should always be converted to sRGB.