Might be a silly question, but I really don't know much about images formats. I have some family photos in my external hard drive but noticed they are really big and it's taking up space, is there any way I can shrink the file size while maintain "unnoticeable" loss of quality maintaining the same dimension

Using linux, if there's a way to batch it up (recursively) (well, I'm guessing imagemagick?) that'd be great


JPEG is the defacto standard for images. It has lossy but variable compression which can go from horrible to absolutely unnoticeable compared to the original.

My recommendation if to use nconvert and call it in a loop (foreach for tsch). The nconvert tool is very powerfull and has a simple syntax. To simply convert and out the results:

nconvert -q -out jpeg -o

Replace with a number. 100 gives high the highest and so the least compression. I find 90 is still excellent quality. 85 is where I find it reasonable. Try a few settings on a single file to see which quality is good enough for you.

You can make your files smaller also by dropping non-image data. Add the -rmeta flag for example before the input file name. The -rexifthumb flag removes the EXIF thumbnail. If you do not want to remove all meta data then the -clean flag can be used. You have to pass it a number to tell it what to clean. Use nconvert -help for the details.

  • Well when I saw I big file 7.5mb to go to 796kb without removing meta or removing thumb or clean, will try later it made me go "wow..." thanks!
    – allenskd
    Mar 28 '11 at 18:40

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.