Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I know there are several Windows programs to do this, and Photoshop has a "Save for Web" option which does this, but I want a command line or batch processing option for this. Any thoughts?

share|improve this question
Have you tried Automator, maybe with third party actions (e.g. Pixelmator?)? –  Daniel Beck Sep 14 '11 at 14:15

4 Answers 4

up vote 12 down vote accepted

Have a look at Imagemagick. Its -strip option clear an image of any profiles and comments.

convert orig.jpg -strip result.jpg


mogrify -strip orig.jpg

Here's more info on photo handling with Imagemagick.

share|improve this answer
I did not want to spend a lot of time and although was interested to work with Imagemagick, spend 10+ minutes configuring it. I tried SmallImage and got what I wanted in 2 min. –  user200507 Feb 19 '13 at 13:35
@user200507 To quote the OP, "I want a command line option, or a batch processing option for this." I stand by Imagemagick as being the best at this. –  Ellesa Feb 26 '13 at 6:26

actually nconvert strips far more from the jpgs

nconvert.exe -rmeta -rexifthumb -o small.jpg big.jpg
share|improve this answer

Since you mention Photoshop: Photoshop is scriptable using vbscript, javascript, or applescript. Here is a decent quick-start guide which includes a code snippet that utilizes the save for web feature.

share|improve this answer

I use Mac OS X—currently 10.9 (Mavericks)—and I like to use ExifTool for batch metadata operations like this. Have used it from Mac OS X 10.6 onwards and even on different flavors of Linux such as Ubuntu and it works great.

As far as bulk scripting goes, I use this very simply Bash script that uses find to wipe all metadata from images; in this case JPEG (.jpg) images:

find 'Path/To/The/Images' -type f -name '*.jpg' |\
  while read FILENAME
    exiftool -all= -overwrite_original_in_place "${FILENAME}"

To use the script just change the 'Path/To/The/Images' to match your actual image file directory path; it can be a full path or relative and in this case it is relative. And you can change '*.jpg' to match whatever file extension you wish to act on or even set it to '*' to blindly process all files. I usually deal with JPEGs thus the .jpg extension in this small example script.

And the core magic to that script is the actual exiftool command which can be further simplified to this:

exiftool -all= -overwrite_original_in_place image_filename.jpg

The -all= is what wipes the metadata by setting all metadata fields to the value that equals nothing. The -overwrite_original_in_place will overwrite the actual image. It does not reprocess the image past reading the file, acting on the metadata and writing it back to the system. Without that flag exiftool will copy the original file with an extension that has _original appended to it; so in this case it would be image_filename.jpg_original. And the final parameter is simply the filename you want to act on.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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