Color Management in Mozilla Firefox
The standard rule of thumb has long been that web browsers don't support color management. With the notable exception of Apple's Safari browser and the ill fated Mac version of Internet Explorer, this has largely held true. But Mozilla Firefox has quietly been changing all that, and this is good news for photographers who care what their images look like online.
Firefox 3 was released on June 17, 2008. The new browser was so popular that Mozilla Corporation actually set a Guinness world record for the most software downloads in a single 24-hour period. Little noticed among its new features was preliminary support for color management. Disabled by default, adventurous users found that color management could be enabled by changing one of the myriad of hidden settings accessible via about:config. Most users have never even ventured into these settings so don't feel bad if you've never heard of about:config. The list of settings buried here is long and I've only ever fiddled with a few myself.
To access these settings, type "about:config" in the address bar of your Firefox browser. If you've never been here before, you will be greeted by an alarming warning that you might void your warranty, and that changing these "advanced settings can be harmful to the stability, security and performance" of Firefox. Who knew that a free program like Firefox even had warranty? That probably makes the second thing in this article at least some readers never heard of before about Firefox. The warning dialog goes on to inform that "you should only continue if you are sure of what you are doing." Together, we'll do our best to stay safe, so go ahead and click on the "I'll be careful, I promise!" button. I'm not kidding; that's what Mozilla labeled it. If you're afraid of venturing into about:config, there is a Firefox add-on that will allow you to change what you need to via a GUI, but it really isn't necessary. Go ahead, click on the "I'll be careful" button.
When you do, you'll be presented with a long page filled with preferences and values. Rather than rely on the scroll bar to look for what we're after, you can get there much more quickly using the Filter option. Type "color_management" in the box and the list will automatically filter the list to only show those containing that string. In Firefox 3, there are two of them: gfx.color_management.display_profile and gfx.color_management.enabled. It's this last one that is of interest.
about:config color management settings for Firefox 3
By default, gfx.color_management.enabled is set to "false." Double-clicking on it will change it to "true." The Status column will also show a change from "default" to "user set." If you now exit out of Firefox and restart it, all colors will be color managed. Images tagged with a profile will be converted to your monitor profile so they render correctly. Untagged images will be assumed to be sRGB as will HTML colors in the source of web pages. Yes, even page background colors get color managed when you turn this on. For the most part, this is a good thing, but Mozilla did default this to "false" for a reason. The code to handle color management isn't fully optimized in Firefox 3 and you may experience up to a 10-15% performance hit with this turned on. If you have the processor for it, it's great to have this capability though.
By the way, you can leave gfx.color_management.display_profile blank. Doing so instructs Firefox to consult your operating system to determine the correct color profile for your monitor display. If you'd rather hard code it, you can enter the full path to a profile yourself, but there hardly seems a reason to do so.
When Mozilla released Firefox 3.5 this past June, browser color management went more main stream. No longer do you need to venture into about:config to turn on color management since it's now enabled by default. That definitely makes things easier, now doesn't it?
about:config color management settings for Firefox 3.5
If you do check out about:config though you'll find that there are now three color_management settings available. gfx.color_management.display_profile is still there and can still be ignored by most users. Letting your operating system keep Firefox informed on which profile to use keeps things simple and guarantees you will always get the expected profile even if you change profile names when you recalibrate your monitor.
Notably, the gfx.color_management.enabled preference is gone in version 3.5 having been replaced by gfx.color_management.mode which supports three different values. Setting this to "0" turns off color management in Firefox. A value of "1" enabled color management for all images and colors as was the case in Firefox 3. The default value of "2" tells Firefox to only color manage images that have embedded profiles and leave untagged images and web colors unmanaged. In other words, if the creator of an image cared enough to tag that image with a profile, Firefox will honor it, but will leave all other colors alone. This seems like a sensible default to me and together with better code optimization means the Firefox 3.5 has almost no performance hit from displaying managed colors correctly.
The new third setting is gfx.color_management.rendering_intent which defaults to Perceptual. This seems appropriate since this is for converting to your monitor profile, but if you want to pick a different value, you now can.
| about:config Preference Setting
(Version 3 only)
|false||Disable color management (Default)|
|true||Color management for all rendered graphics|
(Version 3.5 only)
|0||Disable color management.|
|1||Enable color management for rendered graphics.|
|2||Enable color management for tagged graphics only. (Default)|
|gfx.color_management.display_profile||(blank)||Use display profile from operating system|
|(nonblank)||Full path to specific profile to be used|
(Version 3.5 only)
|-1||Honor the rendering intent specified in the image file.|
If you want to test whether your browser supports color management, the International Color Consortium (the "ICC" behind ICC color profiles) has great page at www.color.org/version4html.xalter that makes it easy to see the difference. The page tests for support not only of traditional (ICC version 2) profiles, but also for whether you can correctly render images tagged with the new version 4 ICC profile specification. Firefox doesn't support version 4 profiles yet, but neither does any version of Windows (although Mac OS X does as current versions of Adobe Creative Suite products). Version 4 clarifies several ambiguities in the previous spec and is gaining support in the industry, but version 2 is more than sufficient for most purposes. Personally, if I had to chose, I'd prefer that everything seamlessly supported version 2 before they muck things up too much by rolling out a new version.
Update 08/31/2009 - Firefox 3 actually does support ICC version 4 profiles, but this was lost in the switch to a different rendering library to make Firefox 3.5 profile support more efficient. Firefox 3.5 supports only version 2 ICC profiles.