Color management in Blender can be a confusing topic. In this article, we look at some common misconceptions I've encountered while running Blendergrid. I'll also share my recommendations for an efficient color workflow for rendering and post processing.

Screencast where I demonstrate some of the points made below

Blender includes color management settings under the Render tab in the Properties panel. The most important one is the "View Transform" dropdown, which defaults to "Filmic" in Blender 4.0.

Blender Color Management Settings
Blender Color Management Settings

Let's look at some useful insights about managing your color in Blender.

Misconception: The View Transform (Filmic) Affects the Rendering

Many users think the Filmic setting changes how Blender renders the image. But as the Blender documentation explains: It only handles the conversion going from linear to display space when viewing the render, or when exporting to web images.

The blue dots show where in the pipeline the view transform happens
The blue dots show where in the pipeline the view transform happens

To see this, you can render with Filmic enabled, then change the View Transform to Standard. You'll see the rendered image update without having to re-render.  It's not affected by the color management settings.

Which File Formats Have the View Transform Baked In?

I exported the sample render to a bunch of different image formats.  I compared the final image when saving with different View Transforms. Typical web formats like BMP, JPEG, PNG, and TIFF showed changes. This means the color management is baked in.

But, EXR, HDR, and DPX ignored the View Transform, they looked the same across Filmic, Standard, and AgX. This means they store raw color data without applying any color transforms into the file.

Here's a full table of the render saved in all file formats, with file size, and whether it was saved in original rendered linear colorspace:

Image Format Bit Depth File Size Linear Space
BMP (.bmp) 8-bit 5.0MB No
Cineon (.cin) 10-bit 6.7MB Yes
DPX (.dpx) 8-bit 5.0MB Yes
DPX (.dpx) 10-bit 6.7MB Yes
DPX (.dpx) 12-bit 7.5MB Yes
DPX (.dpx) 16-bit 10MB Yes
HDR (.hdr) 32-bit 6.0MB Yes
Jpeg (.jpg) 8-bit 537KB No
OpenEXR (.exr) 16-bit 7.3MB Yes
OpenEXR (.exr) 32-bit 19MB Yes
PNG (.png) 8-bit 3.3MB No
PNG (.png) 16-bit 9.1MB No
Targa (.tga) 8-bit 5.0MB No
Tiff (.tiff) 8-bit 3.4MB No
Tiff (.tiff) 16-bit 9.1MB No
WebP (.webp) 8-bit 510KB No

Recommendation: Use EXR for Flexibility

OpenEXR is the most common linear image format. Saving renders as EXR keeps them in linear space. This is useful for post processing in compositing or other software. It also allows re-applying color management later by importing back into Blender.

Comparing EXR Codecs and File Sizes

The only clear downside of EXR is the file size. But, Blender supports various EXR compression codecs. These offer different compression levels and file sizes.

In the previous table where we compare file types, I used the default EXR compression codec in Blender: ZIP. This is a high quality lossless compression codec and can lead to large files.

So to compare, I exported the sample render using all combinations of codecs and bit depths. For reference, the same image saved in 8-bit PNG is 3.3MB, and in 16-bit PNG is 9.1MB!

EXR Codec Bit Depth File Size
B44 16-bit 4.4MB
B44A 16-bit 4.4MB
DWAA 16-bit 3.1MB
DWAA 32-bit 3.1MB
DWAB 16-bit 3.0MB
DWAB 32-bit 3.0MB
None 16-bit 10MB
None 32-bit 20MB
PIZ 16-bit 7.0MB
PIZ 32-bit 18MB
Pxr24 16-bit 7.7MB
Pxr24 32-bit 11MB
RLE 16-bit 9.7MB
RLE 32-bit 20MB
ZIP 16-bit 7.3MB
ZIP 32-bit 19MB
ZIPS 16-bit 7.8MB
ZIPS 32-bit 20MB

The DWAA/DWAB codecs produced EXR files smaller than 8-bit PNG while preserving highlight details! This makes them a great low-filesize option.

But even the lossless ZIP compression isn't too bad if you use 16-bit EXR files. With this scene, the 16-bit EXR files were smaller than 16-bit PNG files!

With that in mind, this makes the 16-bit PNG format seem like a poor choice for render export. (unless the final delivery format has to be 16 bit PNG, AND you want to take the render straight to the final delivery without any post processing)

Practical Benefits of EXR

I imported some of the exported images back into Blender to look at some of the differences.

The main benefits of the linear formats is that they don't clip the highlights. But also the fact that they are "raw renders" means you can apply any color transform later. Whether it has to be Filmic, AgX, or something else your team or client asks for.

Here's an example of our render saved as PNG (left) and then removing 2 stops of exposure with the compositor, vs. doing the same on an EXR saved render (right):

Reducing exposure of a PNG
Reducing exposure of a PNG
Reducing exposure of an EXR
Reducing exposure of an EXR

When you import a PNG that was saved with Filmic, the result looks bad an Filmic might get applied twice. So this is clearly a format not meant for compositing.

If you need to save disk space, and you're concerned about the "lossy" EXR codecs that are listed in the settings, check this out: Check the difference between the "lossless" PNG and the original render (left) versus the "lossy" EXR codec and the original render:

Lost color of a 3.3MB PNG
Lost color of a 3.3MB PNG
Lost color of a 3.0MB EXR
Lost color of a 3.0MB EXR

When we compare the "loss" we get between the lossy EXR codec and "lossless" PNG, we see that the PNG actually loses way more color information! Interesting :)

The main reason for this is that the PNG clips off the brightness when it goes above pure white, and then saves it "lossless", but you will lose a lot if you have some bright areas in your render. EXR keeps the bright areas, then saves this in a "lossy" way if you choose one of those lossy EXR codecs, but the total loss is way less than with the PNG.

Summary

The key things to understand about Blender's color management are:

  • View Transforms like Filmic only affect display and output, not the render itself.
  • Saving renders as OpenEXR allows you to apply any custom color transform in post, and do color correction/compositing.
  • EXR offers great compression options, if you choose PNG because of file size, check out EXR's compression settings.

Following these recommendations will help with an efficient and flexible color workflow between Blender and other software. or other departments you need to collaborate with.

Also for anyone rendering on Blendergrid who is not delivering the final render straight to the client. If you need the flexibility to do some scolor correction or change the color transform: I recommend saving as OpenEXR.