Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.


Images can contain **EXIF** metadata that describes information about the
image, such as creation date, the device used to create the image,
exposure data, GPS geotagging, keywords, compression, flash info, and
lots more. In addition to the standard tags defined by camera
manufacturers, you can also add your own tags with information as
key/value pairs.

NOTE: This module requires that the "exiftool" command-line tool is
installed on the system running pyexif. It is freely available at:

If exiftool is not installed, a warning message will be printed to
stdout, and the module will not work.

Common Actions
    Please note that any of the write operations *immediately* affect
    the image file. Please operate on a copy of the original.

Keyword Manipulation
    getKeywords(): returns a list of all keywords.
    setKeywords(list of keywords): accepts a list of strings, and sets
        the keywords for that image to that list. Any existing keywords
        are overwritten.
    addKeyword(word): Appends the passed keyword to the image's
    addKeyword(list of words): Convenience method for adding several
        keywords at once.
    clearKeywords(): Removes all current keywords.

Date Functions
    getOriginalDateTime(): Returns the datetime for the image's creation,
		or None if not set.
    setOriginalDateTime(dttm): Sets the image's original datetime to the
        passed datetime value.
    getModificationDateTime(): Returns the modification datetime for the
		image, or None if not set.
    setModificationDateTime(dttm): Sets the image's modification
        datetime to the passed datetime value.

Image Manipulation
    rotateCW(num=1): Rotates the image clockwise for 'num' 90-degree
    rotateCCW(num=1): Rotates the image counter-clockwise for 'num'
        90-degree steps.
    mirrorVertically(): Flips the image top to bottom.
    mirrorHorizontally: Flips the image left to right.

Tag Manipulation
    getTag(tag): returns the current value of the specified tag, or None
        if the tag does not exist.
    setTag(tag, val): sets the specified tag to the specified value.