by damned truths

submit your photo

Hall of Fame
View past winners from this year

Please participate in Meta
and help us grow.

Take the 2-minute tour ×

I am looking for a software that allows me to find in my collection pictures that have a particular characteristic. For example pictures taken with the same lenses and similar focal length. or find pictures taken in a particular time frame.

Is there something like this for free (or very low price)? I would like it to run under Linux (via wine if necessary).

share|improve this question
Take a look at… and…. Neither of those questions really got great answers (although maybe you'll find something helpful there); maybe this whole concept would do better on –  mattdm Dec 26 '11 at 0:03

3 Answers 3

up vote 1 down vote accepted

If you want free, and cross platform, you could try MaPiVi or XnView. MaPiVi only seems to work with JPG files, so if you shoot RAW it won't work for you. But you can search EXIF data like ISO, camera, shutter speed, and date/time.

Most catalogueing software will allow you to search or filter by EXIF data to some degree. You'd have to trial specific ones to see if they do all that you need.

share|improve this answer
xnview seems to have what I need right now. thanks for the recommendation –  santiagozky Dec 29 '11 at 13:53

Take a look at our Daminion or Lightroom. Both photo managers allow to extract and display Camera lens along with some other technical information (focal length, camera model, date taken, ISO, shutter speed, etc...).

Daminion is free, Lightroom costs $299.

share|improve this answer
looks good, but unfortunately it doesnt work under wine (at least not out of the box) –  santiagozky Dec 26 '11 at 12:05
We doesn't tested it under Wine yet. Probably it will be possible in the future. –  Murat from Daminion Software Dec 26 '11 at 14:37
@santiagozky But you can use it with VirtualBox. :) –  TheIndependentAquarius Dec 27 '11 at 1:05

I don't know of any packages that do what you want, but there are several utilities to read EXIF data, so you could build your own without too much trouble. Two that I've used are exiv2 and exif; once you figure out their syntax you can put them into your own script in whatever language you prefer (shell, python, perl, ...) (if you need help with that, you really do need to head to one of the other StackExchange sites, as mattdm already commented).

Anyway, to get you started, here's a short script,, I wrote (sorry, it's a bit rough) to print out the 35mm-equivalent focal length of a set of photos; the comments at the start of the script show two example ways to use it graph (using gnuplot) the number of pictures taken at each focal length:


# example usage:
# $ ~/Desktop/ * | awk '{print $1}' | sort -n | uniq -c | gnuplot -e "set term gif; set output \"test.gif\"; plot '-'"
# $ find . -type f -print0 | xargs -0 ~/Desktop/ | awk '{print $1}' | sort -n | uniq -c | gnuplot -e "set term gif; set output \"test.gif\"; plot '-'"

for arg
    x=$(exif -m -t 0x0110 "$arg" 2>/dev/null)
    y=$(exif -m -t 0x920a "$arg" 2>/dev/null | sed s/"\.".*//)
#REVISIT: previous line drops decimals! Up to 6*.99 or ~6 mm!
#  done

if [ "$x" == "" ]

canon30d="Canon EOS 30D"
canonsx10is="Canon PowerShot SX10 IS"
canonsd870is="Canon PowerShot SD870 IS"

if [ "$x" == "$canon30d" ]
elif [ "$x" == "$canonsx10is" ]
elif [ "$x" == "$canonsd870is" ]
elif [ "$x" == "$kodakcx7430" ]

let "d = $y * $multiplier / $divisor"
echo $d " - " $arg " (" $x ")"

share|improve this answer
looks interesting, but I need something a bit more robust right now. –  santiagozky Dec 29 '11 at 13:53

Your Answer


