Is there a way, possibly using exiftool, to quickly search an entire directory or disk of images for a certain exif/XMP/IPTC tag and maybe even give a summary of what the collection contains (percentage of empty tags, some example values, that sort of info)?

The reason I am asking is because I am working on moving very large collections of images between systems and I have to transform the metadata. So I want to be able to analyse stuff quickly to discuss it with the client. Lightroom, Aperture and co. are nice, but not installed on the systems we are working with and importing would be much too slow anyway.


3 Answers 3


If you are on Linux or willing to boot a Linux LiveDVD, you can use simple commands for that, something in the line of:

find -iname "*.jpg" -print0 | xargs -0 exiftool -a | grep "Image Width"
  • find is used for searching for files,
  • iname is used for case insensitive filename matching,
  • print0 basically uses \0 character terminated filenames as outputs, so if you have spaces in the filename, that does not create a problem,
  • xargs is your magic tool, basically receiving those filenames (-0 means that filenames end with \0 characters), it uses exiftool for each file
  • grep searches for the line with the text in quotes.

You can try these actually as well, just to see what is going on:

find -iname "*.jpg"

find -iname "*.jpg" -print0 | xargs -0 exiftool

You can get more info with

  • man find
  • man xargs
  • man exiftool
  • man grep

Now, instead of "grep", you can save data to .csv for each image, and do a few lines of post-processing. Alternatively, if you create a simple postprocess.sh script, you can use:

find -iname "*.jpg" -print0 | xargs -0 postprocess.sh

and in postprocess.sh use exiftool $1 to extract the data and potentially create an inventory of tags.

  • \$\begingroup\$ Actually we are on windows, so I was looking for a solution there. However, using cygwin your solution is possible on Windows, too, so since I have that installed we should be fine. \$\endgroup\$
    – titusn
    Feb 10, 2014 at 16:30

Geosetter is a very capable editor for photo metadata that is built on on top of Exiftool and can do this with a GUI. You can display your photos folder by folder (default) but you can also go to the root and search through all subfolder. I haven't used the search much but it seems to work well. Here's a screenshot of the search dialog:

search dialog

(Geosetter is not only focused on geotagging, supports EXIF, IPTC and XMP and is generally awesom for batch manipulation of photo metadata. Here are some screenshots: https://geosetter.de/en/screenshots-en/ )


Recent versions of Windows (Vista, 7, or 8) can search some EXIF/XMP/IPTC tags as standard. Just use the usual search tool.

ie open a folder, then type something in the search box in the top corner. It will show any image that matches that text in the title or keywords etc. By default it will also search any subfolders. Note you can do more advanced searches, with AND, NOT, OR etc.

You can also use filters within a a folder. ie open a folder, and set it to 'Details' view. Then you can add columns for what EXIF data or tags you are interested in. If you lcik on one of these column headings, it gives a drop down list. So you can select a tag to filter on that.

  • \$\begingroup\$ Windows10 allows you to search in the regular file explorer with e.g. tags:summer. Works nicely for JPEG. Sadly, no support for .xmp accompaigning raw files. \$\endgroup\$
    – Frank N
    Dec 7, 2018 at 20:40

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.