My photo catalog is getting bigger and bigger. It's mainly my fault because in my noob years I used to export all JPGs with a 100% quality, point at which files can reach the 10mb mark or even more. I still do, I don't know why :F

Right now I'm at 600gb and I good chunk of it is because I keep RAW files, but JPGs are quite large and could be reduced.

What software do you use to batch compress files? I'm looking for a maximum quality solution -I know there's no lossless in JPG, but what is the least lossy one, in terms of quality.

So far I found https://imageoptim.com/ which unfortunately it's a Mac only solution. I tried ImageMagik also but I can't manage to get the correct settings, mainly because is command line based.

  • \$\begingroup\$ @Andres - when I want to share files, I have to find them first. It's far easier to find in Lightroom than in bare files on the computer. I can do a quick filter, select my options and export at an appropriate quality level for my intended distribution quickly. Saving them off as large JPEGs isn't needed. Also, if you have a LR catalog, just do another export from LR at whatever quality level you want them at. It sounds like you have more workflow problems than storage problems. \$\endgroup\$
    – AJ Henderson
    Commented Dec 30, 2014 at 21:08
  • 1
    \$\begingroup\$ I actually think you should keep them at 100%. More on this here. If you need a specific image at a lower size to share, create it as needed. \$\endgroup\$
    – mattdm
    Commented Jan 1, 2015 at 18:44

3 Answers 3


JPEGmini. It's $20 for the full version, but you can trial it (as a test of quality) for free. The trial version (or, rather, the unactivated version) has a 20-image-per-day cap — no time bomb, though, so someone with different needs may never have to pay for it. The full version can recompress entire directories at a go.

It'll take most large high-quality JPEGS down to 20-25% of their file size (some more, some less) and you really need to do an image subtraction to see that it's made any change to the actual image at all. ("Large" means up to 28MP; if you've got a D800/D810/α7R or a medium-format camera and have left the JPEGs at your camera's full resolution, you'd have to spring for the "pro" version, and I'm not sure it's still cost-effective at the "pro" price.) It'll also do a batch resize at the same time if you want to do that.

It's slow as the proverbial molasses in January to load (it's a .NET application, and sort of feels like loading a full-featured Eclipse-based IDE), but it runs at an acceptable pace once it has finally loaded. (The "pro" version is considerably faster, but see the price issue mentioned above. Nothing's ever fast enough when you're doing a big job, but once the big job is over, you're left wondering why there's a Veyron in the driveway when all you use it for now is to go to the corner store for milk a couple of times a week.)

But do trial it on a few images before you buy — even cheap is expensive if it doesn't do what you want. The opinions of random weirdos on teh intarwebz ar often worth less than you paid for them. Oh, one more thing: the license fulfillment is done through B&H, so it's not instant. (Someone at B&H, lovingly known through the ages as "Kosher Kamera", has to press a button or something to make sure that you can't get it on Sabbath or a no-work-allowed holiday accidentally. Weird choice for a sole retailer of an electronically-delivered product in my opinion, but it's the choice they made.)

(No affiliation, just an otherwise satisfied customer who really wonders about the B&H part.)

  • \$\begingroup\$ I am not sore if it is advertisement, but is just another software to compress to jpeg. Above in comment to the question we mention two free alternatives which I am sure can do the same. Free of charge! \$\endgroup\$ Commented Dec 31, 2014 at 14:12
  • \$\begingroup\$ It doesn't convert to JPEG, it optimizes compression of existing JPEGs. I specifically said trial it, and if it works you might want to buy it. (I also pointed out its most annoying problems and limitations, which are not usually part of an advertisement.) And it does optimized/segmented compression that doesn't leave any artifacts behind (the OP stated that quality was an issue), which ImageMagick doesn't do. \$\endgroup\$
    – user35658
    Commented Dec 31, 2014 at 15:49
  • \$\begingroup\$ The only way to "optimize" compression is to recode/convert the file. So from my point this software just convert jpeg to jpeg. And I am sure you know ImageMagic can be tuned to use particular quality/level of compression to reach acceptable level of target image \$\endgroup\$ Commented Dec 31, 2014 at 16:01
  • \$\begingroup\$ Hahaha B&H and sabbath comment made me laugh. Very true indeed. \$\endgroup\$
    – dpollitt
    Commented Dec 31, 2014 at 16:22
  • \$\begingroup\$ @RomeoNinov - no, you can use different levels of compression for different blocks of the image and use different block sizes within the image; the JPEG standard allows for that, and I don't know of an application that can't read the files. If you can tell the difference (visually) between an original Q100 JPEG (12 in Photoshop) and one that been through an optimizer to take it down to 25% of the file size, you have much better eyes than I do. On the other hand, bringing the quality down to 70 does leave visible artifacts (that may or may not be objectionable at a given image size). \$\endgroup\$
    – user35658
    Commented Dec 31, 2014 at 16:45

If you are not afraid of using the command line, ImageMagick is the tool you need. It is the state of the art of image processing and it is widely recognized as THE software for image processing.

In your specific case, you are interested in changing what ImageMagick refers to -quality value. Since a similar question has already been asked here I will just cover the needed adaptations for your specific question.

dir -recurse -include *.jpg | %{convert  $_.FullName -quality 80 "C:\processed\$_"}

Where you need to substitute the quality value (in this example 80) to your preferred compression level and the output directory C:\processed\ to suit your needs.

This method will essentially duplicate all your photos (even though compressed) to the specified path. In the case that you do not have enough disk space for such operation, you can use the mogrify command that will overwrite everything that is present in the output path with the same filename. Be aware that it is a dangerous operation because there is no going back and if you ever need to perform such action it is better to first try it on a dozen backupped photos and once ensured that the output is as desired you can safely run it over your catalog.

So if you mogrify some photos (with the output path specified) and you are not happy with the result you can safely re-run the command with a different quality value and the photos in the output directory will be overwritten.

I'm available to elaborate more on mogrify if needed but basically, you just need to swap the convert.

  • \$\begingroup\$ OP said, I tried ImageMagik also but I can't manage to get the correct settings, mainly because is command line based. So it sounds like OP isn't interested in ImageMagick. However, kudos for details explaining the use of IM, rather than just "try tool X". +1 \$\endgroup\$
    – scottbb
    Commented Sep 18, 2017 at 22:42
  • 1
    \$\begingroup\$ Yeah that's why I thought that providing more in depth example usage could ease the use of the command line for the OP. \$\endgroup\$
    – Maxiride
    Commented Sep 20, 2017 at 6:26

Photoshop will certainly do this, and quite well.

You can easily achieve it by saving an action with the steps you desire and can even save it as a droplet that to be used on demand very easily.

This has more information on Photoshops capabilities in this area: http://helpx.adobe.com/photoshop/using/processing-batch-files.html

  • \$\begingroup\$ Of course, PS can do the job, but if you want to convert 10k of images in different directories this can be no so strait process. IMHO software, offered above can be better choise \$\endgroup\$ Commented Dec 31, 2014 at 5:32
  • \$\begingroup\$ Romeo - The question doesn't say anything about different directories does it? I think I've answered the question. \$\endgroup\$
    – dpollitt
    Commented Dec 31, 2014 at 13:44
  • \$\begingroup\$ @dpollitt Actually yes, those pictures are across different directories. \$\endgroup\$
    – Andres
    Commented Dec 31, 2014 at 14:00
  • \$\begingroup\$ Well PS can certainly still do it across multiple directories but it may become cumbersome depending on the number. It would be great if the question had the info we needed to answer it. The fact that it's 10k images does not matter, PS can do that. If it's 10k directories something else would likely be better. \$\endgroup\$
    – dpollitt
    Commented Dec 31, 2014 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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