JPEG File Size Variation


Today’s Question: I’m puzzled by the extreme variation in file sizes after I resize in Photoshop then compress in JPEG format. My regular work involves processing a group of images starting with a RAW capture, and then processing in Lightroom, then exporting to Photoshop as a 16-bit TIFF. I convert to 8-bit, do routine adjustments, save, and then resize to specific pixel dimensions of 1024 x 681. Then I save as a JPEG at a Quality level of 8, which is where the question arises. The size of the final JPEG images ranges from around 200KB to sometimes 4MB. Is there a good explanation for this?

Tim’s Quick Answer: There can actually be a tremendous degree of variation in file size for JPEG images, based on the contents of the photo. In addition, additional variation can be caused by the amount of metadata embedded in the image as well as whether an ICC profile is embedded as part of the image.

More Detail: It is very common to see file size variations for JPEG images that represent about a factor of six or more. In other words, after processing a group of photos to create JPEG images with the same overall settings, if the smallest file size is around 100KB I would not be surprised if one or more images had a file size of around 600KB.

If you have an embedded profile for some images but not others, this would generally create a file size difference of around 200KB. That can obviously create a larger spread. Metadata will, of course, generally not cause a tremendous variation in file size, though that obviously depends on how much additional metadata (such as keywords) you’re adding to the images.

If some of the images are HDR captures, there is certainly a greater potential for variation in file sizes. That is because HDR images often contain more detail that non-HDR images, and greater detail results in a larger file size with a JPEG image.

I would say that a 4MB file size for a JPEG image that has pixel dimensions of 1024×681 pixels is highly unlikely. I would check to see which ICC profile you are embedding (if any), and the size of that profile. If you are consistently converting the images to the sRGB color space then you shouldn’t see this variation. But if a different profile with a larger file size is being used in some cases, that could certainly explain the larger file sizes in some cases.