I would like to perform color correction on my photos before printing so that my workflow will create reproducible prints. (i.e. the lab corrects my photos and I print them again later, they may be different.)

It would be nice if I could adopt a workflow where I can add color correction information to my images with "lossless" modification. For comparison, Xee on Mac (and, I'm sure, others) allows you to rotate and crop photos and the pixels left on the screen maintain the original encoding from the original JPG file. In other words, you can throw out the original.

Is this possible? Is it sufficient to color correct my photos for printing? Do people actually do this? And, is there software that supports this?


There is one piece of software that I know of that can handle it: BetterJPEG.

I have downloaded the latest trial, and, as it says on its web page can do lossless full-image color and brightness correction. The tools are crude compared to what is available in Photoshop, just a couple color sliders (red/cyan and blue/yellow) and a brightness slider. And while they provide a Photoshop Plugin, it does not appear to include this feature.

  • This is a correct answer. I did test it. I think I may have been downvoted for mentioning that there is other software out there that I can't remember.
    – trlkly
    Aug 18 '16 at 1:46
  • Hi trlkly, this is not because a software used, but by an intrinsec characteristic of any 8 bit per channel image with no layers or profiles invlolved. Each pixel has a value, when you change this value the original data is lost. It can be the case that a normal user or human do not see the diference, but the data is actually changed and lost.
    – Rafael
    Aug 18 '16 at 15:02
  • 2
    This is Interesting. The standalone version is buggy but I replaced the corrupted dll. What the program does is that does not edit the RGB channels, but the internal YCbCr channels. 1) I made a quick test moving the two color sliders all the way to have an insane magenta color. 2) Save it 3) Open again and moved them again to the oposite side all the way again and saved it again. 4) When comparing the original version vs this modified and re modified one there is absolutely no diference.
    – Rafael
    Aug 19 '16 at 12:47
  • 1
    I am editing your answer just to be able to cancel my downvote. The program does make some inside fully reversable color operations, which gives a positive answer. P.S. A comment is never to assume someone is stupid. It is a comment.
    – Rafael
    Aug 19 '16 at 12:49
  • 1
    What BetterJPEG does is not JPEG color correction. It edits the color profile instructions sent to the software controlling monitors and printers. A subtle distinction, perhaps. But a distinction nonetheless.
    – Michael C
    Sep 13 '17 at 21:37

It is possible in theory, but no software I know is designed to do it.

First, you can't do it in the way your lossless crop/rotate works. Lossless JPEG manipulation is possible, because only one stage of the whole JPEG compression process is lossy. As long as the pixel values in 8x8 (or 16x16) blocks are not changed, the blocks themselves can be rearranged, flipped and rotated (90/180/270) and we can still save the result as JPEG without recompressing, that is without losing any data.

Color correction changes pixel values, so we would have to recompress everything while writing the resulting image as JPEG.


It is also possible to adjust the effective image colors by assigning the ICC profile - without recompressing the JPEG. Your image editing software would need the option to generate individual profiles for images, based on your color correction adjustments, this way your color-corrected photos would retain 100% of the original information, without the usual JPEG generation loss, and yet they would appear color-corrected and could be printed accordingly.



The reason you can't is because all of the color information in a JPEG is already displayed when you first view it. You can remove some of that information, you can even amplify what is left, but you can't add any information that isn't already there.

This is in contrast to a RAW file. When you view a RAW file you are only viewing part of the information contained in the file. You can change the settings to remove some of that information, and you can also change the settings to reveal some of the information that was not previously included. Regardless of how you choose to view portions of the information of a RAW file, all of the information is still contained in the file.

When you export it to JPEG, however, the new JPEG file contains only the information from the RAW file you chose to view. But when you then edit the color information of a JPEG file and export it, you have discarded some of the information in the original JPEG file.

If you want your prints of the same JPEG file to match those printed by a lab, then you need to profile your hardware and software environment to match that of the lab, not edit the color information in each file to compensate for the differences between your printing environment and that of the lab's.

  • So this is not a matter of f(JPG data, color profile) = printed? Mar 7 '15 at 0:19
  • 1
    That isn't JPEG color correction per se, but rather color management to insure the print produced contains as close as is possible the same, undistorted information as the JPEG file does. As such, it isn't something you do within the actual JPEG raster data set, but rather something you do in your display and printing software and hardware environment.
    – Michael C
    Mar 7 '15 at 0:31
  • Please see the edit to the answer.
    – Michael C
    Mar 7 '15 at 0:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.