TL;DR

A PNG that looks washed out in Chrome but normal in Safari and desktop viewers was traced to an embedded ICC color profile. Chrome performs full color management and honors the profile; many desktop apps and Safari may ignore or approximate it, producing different display results.

What happened

A user noticed a painting in PNG format appeared foggy in Chromium-based browsers (reported on Google Chrome 143.0.7499.170) while opening the same file in desktop image viewers or Safari showed the expected colors. The author attempted several fixes: stripping metadata and toggling alpha, applying gamma adjustments, flattening the image, and using pngcrush to remove gAMA and other chunks — none changed the appearance in Chrome. Running pngcheck revealed an embedded iCCP chunk (an ICC profile) roughly 5KB in size. The conclusion: the PNG pixels were encoded for a wide-gamut profile (likely Display‑P3), and Chrome was interpreting that embedded profile correctly. Many desktop viewers instead ignore or approximate the profile, so they displayed different results. The practical fix used was to convert the image pixels to sRGB and embed an sRGB profile using ImageMagick's profile conversion, which produced matching appearance across Chrome and desktop viewers.

Why it matters

  • Different software can produce visibly different images when embedded color profiles are present, affecting web publishing and image sharing.
  • Browsers that perform full color management (Chrome) will show colors according to embedded profiles; viewers that ignore profiles may display inaccurate colors.
  • Simply stripping metadata or removing profile chunks can make color mismatch worse; proper color-space conversion is the correct approach.
  • Tools that report gamma or other values (e.g., ImageMagick identify) may reflect assumptions rather than actual file metadata, which can mislead debugging.

Key facts

  • The PNG in question contained an iCCP chunk (embedded ICC profile) about 5,147 bytes long.
  • No gAMA chunk was present in the file despite initial suspicion about gamma.
  • Attempts described that did not resolve the issue included: mogrify -strip -alpha off -alpha on -colorspace sRGB, -gamma adjustments, and flattening with alpha removal.
  • Using pngcrush to remove gAMA, cHRM, iCCP and sRGB chunks did not change Chrome's rendering until the pixel colors were converted.
  • Chrome honored the embedded ICC profile and rendered the image according to that profile; some desktop apps and Safari showed different (less accurate) colors because they ignored or approximated the profile.
  • The working resolution was to convert the pixels from the embedded profile to sRGB and embed an sRGB profile, for example with ImageMagick: magick mogrify -profile /System/Library/ColorSync/Profiles/sRGB Profile.icc *.png.
  • ImageMagick’s identify output can show an assumed gamma (e.g., 0.454545) that may not correspond to an actual gAMA chunk in the PNG.

What to watch next

  • Whether other major browsers change how they apply or report color management (not confirmed in the source).
  • If image-editing and publishing tools begin defaulting to sRGB conversions to avoid cross-browser mismatches (not confirmed in the source).
  • Whether Safari or common desktop viewers update behavior to honor embedded ICC profiles more consistently (not confirmed in the source).

Quick glossary

  • ICC profile: A file or data block that describes how colors in an image should be interpreted for a particular device or color space.
  • sRGB: A standard RGB color space widely used for images on the web and many consumer devices.
  • Display‑P3: A wider-gamut RGB color space used by many modern displays and some mobile devices.
  • iCCP chunk: A PNG file chunk that stores an embedded ICC profile used for color management.
  • gAMA chunk: A PNG metadata chunk that can specify the intended gamma value for pixel data.

Reader FAQ

Why does the PNG look foggy in Chrome but normal elsewhere?
Chrome applied the embedded ICC profile and rendered colors according to that profile, while some other viewers ignored or approximated the profile, producing different appearance.

Will stripping metadata fix the appearance?
No — attempts to strip metadata and toggle alpha did not resolve the issue in this case; removing the profile without converting pixels can worsen color mismatch.

How can I make the image look the same across browsers and viewers?
Convert the pixel data from the embedded color profile to sRGB and embed an sRGB profile; the source used ImageMagick’s profile conversion command.

Is the problem caused by a gAMA chunk or ImageMagick's reported gamma?
The file did not contain a gAMA chunk; ImageMagick’s identify can report an assumed gamma value that may not reflect file metadata.

December 27, 2025 Opening this PNG in Chrome shows a different image than in Safari or any desktop app Check this beautiful painting, Pleading, an artwork by Sir Lawrence Alma-Tadema:…

Sources

Related posts

By

Leave a Reply

Your email address will not be published. Required fields are marked *