Which tools drop the color profile? Pillow, ffmpeg and sips across JPG, PNG and WebP
If a photo looks washed out after you compress or convert it, the encoder is usually not the culprit. More often the tool dropped the color profile on save, and the viewer is now reading the same pixel values with a different color standard. I ran one Display P3 image through Pillow, ffmpeg and macOS sips, saved it as JPG, PNG and WebP, and wrote down which combinations kept the profile. The…
When a photo appears washed out after compression or conversion, the color profile is often the cause. The issue stems from the tool dropping the color profile during the save process, causing software to interpret pixel values with a different color standard. To test which tools retain the color profile, the author ran an ICC Display P3 image through Pillow, ffmpeg, and macOS sips, saving it as JPG, PNG, and WebP.
The results varied by tool and output format, with WebP being the worst performer. The color profile, an ICC color profile, is embedded data that informs software of the RGB numbers' color standard. Without it, software defaults to sRGB, which can cause images to appear faded rather than blocky or blurry. The source image used was a CC0 photo from Wikimedia Commons, resized to 2048×1536, and converted to Display P3 using macOS system profiles.
Pillow's default settings dropped the profile for both JPG and WebP, while ffmpeg retained it for JPG but not for WebP. Raising quality did not help in preserving the profile. To verify if a compression step has preserved the color profile, the author recommends running the tool on a P3 image and checking the output with a profile-checking utility.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.