# Is there a free piece of software that will export metadata for a folder full of images to a table?

I have hundreds of thousands of images in a set of about 50 folders, each of the folders has a varying number of subfolders. I'd like to extract certain pieces of metadata (latitude/longitude, data/time, camera model and serial number, maybe a few others) from all the images in those folders and their subfolders and export it in a table (CSV would be easiest), so that I can import the metadata into a database. I need to preserve at least 6 decimal places in the lat/long fields, the location data is important.

So I am looking for a piece of Windows software I can point at a folder and have it walk through that folder and all its subfolders, read the metadata, and export the metadata for each image on a line in a CSV file, like so:

Filepath,Filename,Lat,Long,CameraSerial
C:\Images1\Folder1\,Image0001.jpg,42.00000002,-75.00000001,A0193498
C:\Images1\Folder2\,Image0001.jpg,42.00000112,-75.00000067,A0193498
C:\Images1\FolderZ\,Image0001.jpg,42.00000492,-75.00000099,A0193498


I've found Camera Bits Photo Mechanic, which does what I need, but I was hoping there was a free/open source solution. Most of the tools I've found that do batch EXIF metadata exporting do so by exporting a separate text file for each input JPG, which is not what I'm after, I need one table per folder (and its subfolders).

You can do this fairly easily with the cross-platform free software ExifTool. It's even in in the FAQ:

The -csv (comma separated values) option solves this dilemma by pre-extracting information from all input files, then producing a sorted list of available tag names as the first row of the output, and organizing the information into columns for each tag. As well, a first column labelled "SourceFile" is generated. These features make it practical to use the -csv option for extracting all information from multiple images. For example, this command:

   exiftool -csv -r t/images > out.csv


gives an output like this:

   SourceFile,AEBBracketValue,AELock,AFAreaHeight,AFAreaMode,AFAreas,[...]
t/images/Canon.jpg,0,,151,,,[...] t/images/Casio.jpg,,,,,,[...]
t/images/Nikon.jpg,,,,Single Area,,[...]
t/images/OlympusE1.jpg,,Off,,,"Center (121,121)-(133,133)",[...]


This will include a very long list, so if you want to just include a few specific things you can do that:

exiftool -csv -Model -CreateDate  -GPS:all -time:all *.jpg


(in this example, all of the files in the current directory).

The documentation warns that the -csv flag, unlike most exiftool options, builds the entire output in memory and so memory usage can be quite large when used on many files — probably best to script up something that goes folder-by-folder. (Easily done in even a simple batch language.)

The tool that comes to mind is an open source piece of software that works with a good variety of file formats:

http://meta-extractor.sourceforge.net/

It is a bit technical, but has a lot of customization that should meet your needs. This solution is for Windows and Linux only.

Also, if you have a copy of Adobe Photoshop, then you'll have Adobe Bridge which contains a metadata extractor.

• This is by far the best response I've seen to this issue. I tried exift, but I didn't even know about the other two solutions. Thanks a lot for your direction and guidance. – Monica Sep 30 '18 at 15:04