ExifTool is a customizable set of Perl modules plus an application script for reading and writing meta information in a wide variety of files, including the maker note information of many digital cameras by various manufacturers such as Canon, Casio, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
Below is a list of file types and meta information formats currently supported by ExifTool (r = read, w = write, c = create):
3FR r | DVB r | M4A/V r | PBM r/w | RWL r/w 3G2 r | DYLIB r | MEF r/w | PDF r/w | RWZ r 3GP r | EIP r | MIE r/w/c | PEF r/w | RM r ACR r | EPS r/w | MIFF r | PFA r | SO r AFM r | ERF r/w | MKA r | PFB r | SR2 r/w AI r/w | EXE r | MKS r | PFM r | SRF r AIFF r | EXIF r/w/c | MKV r | PGF r | SRW r/w APE r | F4A/V r | MNG r/w | PGM r/w | SVG r ARW r/w | FLA r | MOS r/w | PICT r | SWF r ASF r | FLAC r | MOV r | PMP r | THM r/w AVI r | FLV r | MP3 r | PNG r/w | TIFF r/w BMP r | FPX r | MP4 r | PPM r/w | TTC r BTF r | GIF r/w | MPC r | PPT r | TTF r COS r | GZ r | MPG r | PPTX r | VRD r/w/c CR2 r/w | HDP r/w | MPO r/w | PS r/w | VSD r CRW r/w | HTML r | MQV r | PSB r/w | WAV r CS1 r/w | ICC r/w/c | MRW r/w | PSD r/w | WDP r/w DCM r | IIQ r/w | MXF r | PSP r | WEBP r DCP r/w | IND r/w | NEF r/w | QTIF r | WEBM r DCR r | ITC r | NRW r/w | RA r | WMA r DFONT r | JNG r/w | NUMBERS r | RAF r/w | WMV r DIVX r | JP2 r/w | ODP r | RAM r | X3F r/w DJVU r | JPEG r/w | ODS r | RAR r | XCF r DLL r | K25 r | ODT r | RAW r/w | XLS r DNG r/w | KDC r | OGG r | RIFF r | XLSX r DOC r | KEY r | ORF r/w | RSRC r | XMP r/w/c DOCX r | LNK r | OTF r | RTF r | ZIP r DV r | M2TS r | PAGES r | RW2 r/w |
EXIF r/w/c | CIFF r/w | Ricoh RMETA r GPS r/w/c | AFCP r/w | Picture Info r IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r XMP r/w/c | FotoStation r/w | MPF r MakerNotes r/w/c | PhotoMechanic r/w | Stim r Photoshop IRB r/w/c | JPEG 2000 r | APE r ICC Profile r/w/c | DICOM r | Vorbis r MIE r/w/c | Flash r | SPIFF r JFIF r/w/c | FlashPix r | DjVu r Ducky APP12 r/w/c | QuickTime r | M2TS r PDF r/w/c | Matroska r | PE/COFF r PNG r/w/c | GeoTIFF r | AVCHD r Canon VRD r/w/c | PrintIM r | ZIP r Nikon Capture r/w/c | ID3 r | (and more)
See html/index.html for more details about ExifTool features.
ExifTool can be downloaded from
Main server URL: http://owl.phy.queensu.ca/~phil/exiftool/ Alternate URL: http://130.15.24.87/~phil/exiftool/
Note: Please do not make links to the alternate URL above, because this server is not permanent.
RUNNING
The exiftool script can be run right away without the need to install Image::ExifTool. For example, from within the exiftool directory you can extract the information from one of the included test files by typing:
./exiftool t/images/ExifTool.jpg
If you move the exiftool script to a different directory, you must also either move the contents of the lib directory or install the Image::ExifTool package so the script can find the necessary libraries.
Note: If you are using the Windows cmd shell, you may need to rename 'exiftool' to 'exiftool.pl' to run it directly from the command line. Alternatively, you can run exiftool with the command 'perl exiftool'.
IF YOU ARE STILL CONFUSED
The exiftool script is a command line application. You run it by typing commands in a terminal window. The first step is to determine the name of the directory where you downloaded the ExifTool distribution package. Assuming, for example, you downloaded it to a folder called "Desktop" in your home directory, then you would type the following commands in a terminal window to extract and run ExifTool:
cd ~/Desktop
gzip -dc Image-ExifTool-#.#.tar.gz | tar -xf -
cd Image-ExifTool-.##
./exiftool t/images/ExifTool.jpg
Note: You must replace "#.##" in the above commands with the actual version number of ExifTool that you downloaded. These commands extract meta information from one of the test images. To use one of your images instead, enter the full path name of your file in place of "t/images/ExifTool.jpg".
INSTALLATION
You can install the Image::ExifTool package to make it available for use by other Perl scripts by typing the following:
perl Makefile.PL
make
make test
make install
ii) Some Perl installations (like the standard OSX installation) may not contain the necessary files to complete the first step above. But no worries: You can install ExifTool manually by moving 'exiftool' and the 'lib' directory to any directory in your current PATH (ie. /usr/bin).
iii) In Windows, the "nmake" utility may be downloaded from Microsoft at http://support.microsoft.com/default.aspx?scid=kb;en-us;Q132084 -- Type "nmake" instead of "make" in the commands above if using this utility.
DEPENDENCIES
Requires Perl version 5.004 or later. No other special libraries are required, however the following modules are recommended for decoding compressed and/or encrypted information from the indicated file types, and for calculating digest values for some information types:
Archive::Zip (ZIP, DOCX, PPTX, XLSX, ODP, ODS, ODT, EIP and iWork) Compress::Zlib (DNG, PNG, PDF, DCM, MIE and SWF files) Digest::MD5 (PDF files, IPTC information, and Extended XMP in JPEG) Digest::SHA (PDF with AES-256 encryption)
IO::Compress::Bzip2 (RWZ files)
COPYRIGHT AND LICENCE
Copyright 2003-2011, Phil Harvey
This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
ADDITIONAL INFORMATION
Read the following files included with the ExifTool distribution for more information:
html/index.html - Main ExifTool documentation html/history.html - ExifTool revision history html/ExifTool.html - ExifTool API documentation
html/TagNames/index.html - ExifTool tag name documentation lib/Image/ExifTool/README - ExifTool modules documentation
and if you have installed Image::ExifTool, you can also consult perldoc or the man pages:
perldoc exiftool
perldoc Image::ExifTool
perldoc Image::ExifTool::TagNames
man exiftool
man Image::ExifTool
man Image::ExifTool::TagNames
Note: If the man pages don't work, it is probably because your man path is not set to include the installed documentation. See "man man" for information about how to set the man path.