ExifTool by Phil Harvey (philharvey66 at gmail.com) ---------------------------------------------------------------------------- ExifTool is a customizable set of Perl modules plus a full-featured command-line application 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, DJI, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, 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): File Types ------------+-------------+-------------+-------------+------------ 360 r/w | DOCX r | ITC r | O r | RSRC r 3FR r | DPX r | J2C r | ODP r | RTF r 3G2 r/w | DR4 r/w/c | JNG r/w | ODS r | RW2 r/w 3GP r/w | DSS r | JP2 r/w | ODT r | RWL r/w 7Z r | DV r | JPEG r/w | OFR r | RWZ r A r | DVB r/w | JSON r | OGG r | RM r AA r | DVR-MS r | JXL r/w | OGV r | SEQ r AAC r | DYLIB r | K25 r | ONP r | SKETCH r AAE r | EIP r | KDC r | OPUS r | SO r AAX r/w | EPS r/w | KEY r | ORF r/w | SR2 r/w ACR r | EPUB r | LA r | ORI r/w | SRF r AFM r | ERF r/w | LFP r | OTF r | SRW r/w AI r/w | EXE r | LIF r | PAC r | SVG r AIFF r | EXIF r/w/c | LNK r | PAGES r | SWF r APE r | EXR r | LRV r/w | PBM r/w | THM r/w ARQ r/w | EXV r/w/c | M2TS r | PCD r | TIFF r/w ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | TORRENT r ASF r | FFF r/w | MACOS r | PDB r | TTC r AVI r | FITS r | MAX r | PDF r/w | TTF r AVIF r/w | FLA r | MEF r/w | PEF r/w | TXT r AZW r | FLAC r | MIE r/w/c | PFA r | VCF r BMP r | FLIF r/w | MIFF r | PFB r | VNT r BPG r | FLV r | MKA r | PFM r | VRD r/w/c BTF r | FPF r | MKS r | PGF r | VSD r C2PA r | FPX r | MKV r | PGM r/w | WAV r CHM r | GIF r/w | MNG r/w | PLIST r | WDP r/w COS r | GLV r/w | MOBI r | PICT r | WEBP r/w CR2 r/w | GPR r/w | MODD r | PMP r | WEBM r CR3 r/w | GZ r | MOI r | PNG r/w | WMA r CRM r/w | HDP r/w | MOS r/w | PPM r/w | WMV r CRW r/w | HDR r | MOV r/w | PPT r | WPG r CS1 r/w | HEIC r/w | MP3 r | PPTX r | WTV r CSV r | HEIF r/w | MP4 r/w | PS r/w | WV r CUR r | HTML r | MPC r | PSB r/w | X3F r/w CZI r | ICC r/w/c | MPG r | PSD r/w | XCF r DCM r | ICO r | MPO r/w | PSP r | XISF r DCP r/w | ICS r | MQV r/w | QTIF r/w | XLS r DCR r | IDML r | MRC r | R3D r | XLSX r DFONT r | IIQ r/w | MRW r/w | RA r | XMP r/w/c DIVX r | IND r/w | MXF r | RAF r/w | ZIP r DJVU r | INSP r/w | NEF r/w | RAM r | DLL r | INSV r | NKSC r/w | RAR r | DNG r/w | INX r | NRW r/w | RAW r/w | DOC r | ISO r | NUMBERS r | RIFF r | Meta Information ----------------------+----------------------+--------------------- 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 | DPX r ICC Profile r/w/c | DICOM r | APE r MIE r/w/c | Flash r | Vorbis r JFIF r/w/c | FlashPix r | SPIFF r Ducky APP12 r/w/c | QuickTime r | DjVu r PDF r/w/c | Matroska r | M2TS r PNG r/w/c | MXF r | PE/COFF r Canon VRD r/w/c | PrintIM r | AVCHD r Nikon Capture r/w/c | FLAC r | ZIP r GeoTIFF r/w/c | ID3 r | (and more) See html/index.html for more details about ExifTool features. ExifTool can be downloaded from https://exiftool.org/ 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-12.79.tar.gz | tar -xf - cd Image-ExifTool-12.79 ./exiftool t/images/ExifTool.jpg Note: 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 Notes: i) You need root access for the last step above. 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, "dmake" or "nmake" may be used if "make" is not available. (Also see html/install.html for more help with installation.) 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 and providing other features listed below: Archive::Zip (ZIP, DOCX, PPTX, XLSX, ODP, ODS, ODT, EIP, iWork) Compress::Zlib (DNG, PNG, PDF, DCM, MIE and SWF files) Digest::MD5 (PDF files, IPTC information, and JPG Extended XMP) Digest::SHA (PDF with AES-256 encryption) IO::Compress::Bzip2 (RWZ files) Time::HiRes (for generating ProcessingTime tag) POSIX::strptime (for inverse date/time conversion) Time::Piece (alternative to POSIX::strptime) Unicode::LineBreak (for column alignment of alternate-language output) Win32::API (for proper handling of Windows file times) Win32::FindFile (for Windows Unicode directory support, app only) Win32API::File (for Windows Unicode file names and file times) Compress::Raw::Lzma (for reading encoded 7z files) IO::Compress::RawDeflate (for writing FLIF images) IO::Uncompress::RawInflate (for reading FLIF images) IO::Compress::Brotli (for writing compressed JXL metadata) IO::Uncompress::Brotli (for reading compressed JXL metadata) COPYRIGHT AND LICENSE Copyright 2003-2024, Phil Harvey This is free software; you can redistribute it and/or modify it under the same terms as Perl itself. DISTRIBUTION FILES Below is a list of the files/directories included in the full ExifTool distribution package: Changes - Revision history MANIFEST - Full list of distribution files META.json - Standard CPAN dependency file (JSON format) META.yml - Standard CPAN dependency file (YAML format) Makefile.PL - Makefile for installation README - This file arg_files/ - Argument files to convert metadata formats: exif2iptc.args - Arguments for converting EXIF to IPTC exif2xmp.args - Arguments for converting EXIF to XMP gps2xmp.args - Arguments for converting GPS to XMP iptc2exif.args - Arguments for converting IPTC to EXIF iptc2xmp.args - Arguments for converting IPTC to XMP iptcCore.args - Complete list of IPTC Core XMP tags pdf2xmp.args - Arguments for converting PDF to XMP xmp2exif.args - Arguments for converting XMP to EXIF xmp2gps.args - Arguments for converting XMP to GPS xmp2iptc.args - Arguments for converting XMP to IPTC xmp2pdf.args - Arguments for converting XMP to PDF config_files/ - Sample ExifTool configuration files: acdsee.config - Definitions for writing ACDSee XMP regions age.config - Calculate Age of person in photo bibble.config - Definitions for writing Bibble XMP tags convert_regions.config - Convert between MWG, MP and IPTC regions cuepointlist.config - Extract cue points and labels as a list depthmap.config - Extract Google DepthMap images example.config - General example showing config features fotoware.config - Definitions for writing Fotoware XMP tags frameCount.config - Extract FrameCount from MP4 videos gps2utm.config - Generate UTM coordinate tags from GPS info guano.config - Decode individual tags from Guano metadata nksc.config - Decode tags in Nikon ViewNX NKSC files photoshop_paths.config - For extracting or copying Photoshop paths picasa_faces.config - Convert from Picasa to MWG/MP face regions pix4d.config - Definitions for writing Pix4D XMP tags rotate_regions.config - Rotate MWG and MP region tags tiff_version.config - Determine the version of a TIFF file time_zone.config - Calculate time zone from EXIF tags exiftool - The exiftool application (Perl script) fmt_files/ - Output formatting example files: gpx.fmt - Format file for creating GPX track gpx_wpt.fmt - Format file for creating GPX waypoints kml.fmt - Format file for creating KML placemarks kml_track.fmt - Format file for creating KML track html/ - HTML documentation html/TagNames/ - HTML tag name documentation lib/ - ExifTool Perl library modules perl-Image-ExifTool.spec - Red Hat Packaging Manager specification file t/ - Verification test code t/images/ - Verification test images ADDITIONAL INFORMATION Read the following files included in the full distribution for more information: html/index.html - Main ExifTool documentation html/install.html - Installation instructions html/history.html - Revision history html/ExifTool.html - API documentation html/TagNames/index.html - Tag name documentation html/geotag.html - Geotag feature html/faq.html - Frequently asked questions html/filename.html - Renaming/moving files html/metafiles.html - Working with metadata sidecar files html/struct.html - Working with structured XMP information lib/Image/ExifTool/README - ExifTool library 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. ----------------------------------------------------------------------------