Manatee

A photo that looks dull after converting it on a Mac

When a converted photo looks flatter or more washed out than the original, the pixels are usually fine and the label that says how to read them is not. iPhone photos are tagged Display P3, a wider range of color than the sRGB that most of the web assumes, and Mac screenshots often carry a similar wide profile; if a converter drops that tag, or the site you upload to ignores it, the same numbers get read as sRGB and every strong color loses some punch. RAW files and HDR photos can also look duller after conversion, for different reasons covered below.

Color profiles in plain terms

A JPEG or PNG stores each pixel as three numbers for red, green and blue. The numbers alone do not say how red a value of 234 is. The embedded color profile does: it names the range of colors the numbers refer to.

Two profiles cover most of what you will meet:

  • sRGB is the long-standing standard for the web and for most screens. It is also what apps assume when a file carries no profile at all.
  • Display P3 reaches noticeably further into deep reds, greens and oranges. Recent iPhones capture in it, and most current Mac displays can show it.

The same color gets different numbers under each. A pure sRGB red, converted to Display P3, is stored as roughly 234, 51, 35: still the same red, just described in P3’s terms. Remove the Display P3 label and an app reads 234, 51, 35 as sRGB, which is a duller, brick-like red. Every saturated color in the photo slides the same way, and that is the flat look you are seeing.

The usual causes

  1. The converter dropped the profile. Some converters, online and off, write the pixel values without the embedded profile, especially when told to strip metadata or squeeze the file size.
  2. The destination stripped or ignored it. The JPEG looks right on your Mac, then dull after uploading to a marketplace, a website builder or a form, because the site’s image processing threw the profile away. Some older software ignores profiles altogether.
  3. The original was HDR. Recent iPhones save many photos with extra brightness information for HDR screens. On a Mac with an HDR-capable display and a recent version of macOS, Photos can show those highlights brighter than an ordinary JPEG can show them. A conversion to a standard JPEG gives a correct standard-range picture, which looks dimmer beside the HDR original. Nothing is broken.
  4. The original was RAW. The picture you saw on the camera, and often the thumbnail on the Mac, was the camera’s own processed preview. A raw conversion starts from neutral defaults and usually looks flatter. That is a different issue, explained in Canon CR3 raw files on a Mac, and it applies to other makes too.

Screenshots belong under the first two causes. macOS tags a screenshot with the profile of the display it was taken on, so a screenshot from a MacBook’s built-in screen usually carries a profile named Color LCD rather than sRGB. On a recent Mac that is often a wide-color profile, and losing it flattens the colors in the same way.

Check a file’s profile

None of these change the file.

  1. Preview. Open the image, choose Tools > Show Inspector, and look at the General Info tab. It lists the Color model and the ColorSync profile.
  2. Finder. Select the file, press Command-I, and open More Info. For most images it shows a Color profile line.
  3. Terminal. Type the following, with your own file name:
sips -g profile -g space IMG_4821.jpg

After a line with the file’s path, a tagged iPhone photo answers:

  profile: Display P3
  space: RGB

sips -g all lists everything sips can read, including pixel size, bit depth and whether there is transparency.

One quirk we found while testing: for a JPEG with no embedded profile, sips reports sRGB IEC61966-2.1 anyway, because that is what an untagged JPEG is taken to be. For a PNG with no profile it says <nil>. So “sRGB” from sips can mean “tagged sRGB” or “no tag at all”. Put the original and the converted copy side by side in Preview: if the copy reports sRGB and looks duller, the profile was dropped; if it reports sRGB and looks the same, the colors were converted properly.

Fix it

If you still have the original, convert again with a method that translates the colors into sRGB rather than throwing the label away. sRGB is the safe target for anything going online, because it is what sites assume when they strip profiles.

  • In Photos, select the picture, choose File > Export > Export 1 Photo, set Photo Kind to JPEG and Color Profile to sRGB, then click Export.
  • In Terminal, for a file on disk:
sips -s format jpeg --matchTo "/System/Library/ColorSync/Profiles/sRGB Profile.icc" IMG_4821.HEIC --out IMG_4821.jpg

--matchTo converts the colors themselves into sRGB, so the copy looks right on a Mac and stays right on a site that discards profiles. In our tests a plain sips conversion without it kept the Display P3 profile in the JPEG, which looks fine on a Mac and in current browsers and only goes dull where the profile gets stripped.

If all you have is the dull copy, and you know it came from an iPhone or another Display P3 source, put the label back:

sips --embedProfile "/System/Library/ColorSync/Profiles/Display P3.icc" dull.jpg --out restored.jpg

--embedProfile attaches the profile without changing the pixel values, which is right when the numbers were correct all along. sips does re-save the JPEG, which adds one more round of compression, so do it once rather than repeatedly. If the photo is headed for a website, run the --matchTo command on the restored copy afterward.

If the restored copy looks garish and oversaturated, the photo was sRGB to begin with. Keep the dull copy and look at the HDR and RAW causes instead.

If the original was HDR, the converted JPEG is a fair standard-range version without the extra brightness. Where the recipient uses an iPhone or a recent Mac, sending the original HEIC keeps it. Video has its own version of this problem; see 10-bit, HDR and the video that looks washed out after converting.

Checking a batch before you convert it

Manatee converts HEIC, PNG and camera RAW files to JPEG on the Mac, with nothing uploaded and the originals left untouched. Whichever tool you use, Manatee, Preview, Photos, sips or an online converter, convert one photo first and run the checks above on it: compare it with the original side by side and read its profile before you convert the rest.

Questions

Why does my photo look fine on my Mac but dull on a website? The site most likely stripped the Display P3 profile when it processed the upload, leaving P3 numbers to be read as sRGB. Convert to sRGB before uploading, with Photos’ Color Profile setting or sips --matchTo, and the colors survive the stripping.

Does converting to sRGB lose color? Only the colors that sit outside sRGB: the most intense reds, greens and oranges get pulled in to the nearest color sRGB can show. On most photos you will not notice. On a sunset, a neon sign or a bright jacket you might, so keep the original for anything you plan to print or edit.

Is PNG safer than JPEG for keeping colors? Not on its own. Both formats can carry a profile, and both can lose one. PNG avoids compression loss, but a PNG with its profile stripped looks just as dull as a JPEG would.