ExifTool

ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files - queensu.ca

ExifTool supports many different Metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3.

Useage

Using ExifTool, setting copyright and licensing information is simple:

./exiftool -ImageDescription="This is an example image" -Artist="Artist's name" \ -Copyright="This work is licensed under the Creative Commons Attribution 3.0 Unported License. \ To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a \ letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA." \ -XMP-cc:License="http://creativecommons.org/licenses/by/3.0/" ImageToModify.jpg

This will add three tags: Artist, Copyright, and XMP-cc:License (unported cc-by-3.0 license is used as an example).

Another example:

./exiftool -ImageDescription="1988 company picnic" \ -Artist="Camera owner, John Smith; Photographer, Michael Brown; Image creator, Ken James" \ -Copyright="Copyright, John Smith, 19xx. All rights reserved." Picnic1988.jpg

Note that ImageDescription and Artist are in ASCII format. For 2-byte character sets, UserComment can be used instead of ImageDescription.

To view all tags from Exif group with their current values:

./exiftool -a -exif:all ExampleImage.jpg

# shows all the EXIF metadata of image exiftool photo.jpg

Installation

ExifTool is available and easily installed on most platforms - queensu.ca

On OSX it can be installed using brew:

brew install exiftool

The PNG TextualData format allows arbitrary tag names to be used - libpng.org

Further Examples

You can find a number of detailed examples including flexile file and metadat renaming here - sourceforge.net

Some examples are given below:

# shows only selected EXIF metadata # Here is a complete list of metadata TAGS (depending on file format): # http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html exiftool -Model -ImageSize photo.jpg

# process all files of specified file type (case insensitive extension) exiftool -Model -ImageSize -ext jpg /home/ebah/photo/

# recursively process all jpg files under specified directory and # sub-directory exiftool -r -Model -ImageSize -ext jpg /home/ebah/photo/

# Export all metadata of specified file into a csv file (headers are included) exiftool -csv photo.jpg

# Export all metadata of all jpg file into a csv file (headers are included) exiftool -csv -ext jpg /home/ebah/photo/

# Rename using fixed string and same file extension as original exiftool "-FileName<HELLOWORLD.%e" photo.JPG > HELLOWORLD.JPG