
ExifTool looks intimidating at first because it has no buttons or menus. In practice, almost everything you need comes from a handful of short commands that follow the same simple pattern. This guide teaches that pattern and walks through the tasks people perform most often, from reading a single photo to processing an entire folder. If you have not installed ExifTool yet, follow the installation steps on the homepage first.
Understanding the command structure
Every ExifTool command has the same three parts: the program name, optional options, and one or more files or folders.
$ exiftool [options] file-or-folderOptions start with a hyphen. Some options control output, such as -s for short tag names, while others name a tag you want to read or write, such as -Artist. Tag names are not case-sensitive, so -artist works too. On Windows with the Perl distribution, put perl in front of the program name, as in perl exiftool image.jpg.
Reading metadata
The simplest command prints every tag ExifTool finds:
$ exiftool photo.jpgThe output can be long. To make it easier to scan, combine a few display options:
$ exiftool -s -G1 photo.jpg-s shows the internal tag names you use in commands, and -G1 prefixes each line with the specific group, such as [ExifIFD] or [XMP-dc]. To read just a few tags, name them:
$ exiftool -Model -DateTimeOriginal -ISO -ExposureTime photo.jpgAdd -a to show duplicate tags from different groups. This matters when, for example, a date exists in both EXIF and XMP with different values.
Reading only one metadata group
Use a group name followed by :all to limit output. exiftool -exif:all photo.jpg shows EXIF tags only, while -xmp:all, -iptc:all and -gps:all do the same for other groups.
Writing and editing tags
To write a tag, add an equals sign and the new value. Wrap values containing spaces in quotation marks.
$ exiftool -Artist="Jane Doe" -Copyright="© 2026 Jane Doe" photo.jpgExifTool reports how many files were updated and creates a backup named photo.jpg_original. Keywords and other list-type tags accept multiple values. Use += to add an item without replacing the existing ones:
$ exiftool -Keywords+="travel" -Keywords+="mountains" photo.jpgShifting dates and times
If your camera clock was wrong, shift all main date tags at once. This example adds one hour:
$ exiftool "-AllDates+=1:00" photo.jpgCopying metadata between files
The -TagsFromFile option copies metadata from one file to another, which is useful after editing a photo in software that discarded the original information:
$ exiftool -TagsFromFile original.jpg -all:all edited.jpgRemoving metadata
Assigning an empty value deletes a tag. To remove everything writable, use -all=:
$ exiftool -all= photo.jpgTo remove a single group, target it directly, for example exiftool -gps:all= photo.jpg for location data. Our dedicated guide to removing GPS metadata with ExifTool covers that topic in depth.
Some metadata, such as colour profiles, affects how an image is displayed. If colours look different after -all=, keep the ICC profile with exiftool -all= -tagsfromfile @ -icc_profile photo.jpg.
Working with many files
Pass a folder instead of a file to process every supported file inside it. Add -r to include subfolders and -ext to choose file types:
$ exiftool -r -ext jpg -ext cr3 -Artist="Jane Doe" ./photosYou can also use conditions. The following command lists only files taken with ISO above 1600:
$ exiftool -if "$ISO > 1600" -FileName -ISO ./photosExifTool can rename files based on metadata, too. This renames each photo to its capture date and time while keeping the original extension:
$ exiftool "-FileName<DateTimeOriginal" -d "%Y-%m-%d_%H%M%S%%-c.%%e" ./photosExporting metadata
ExifTool writes structured output that other programs can read. Use JSON for scripts and web tools, or CSV for spreadsheets:
$ exiftool -json photo.jpg > photo.json
$ exiftool -csv -r ./photos > metadata.csvUseful options to remember
-overwrite_originalwrites changes without creating backups. Use it only once you trust your command.-nshows raw numeric values, for example decimal GPS coordinates instead of degrees and minutes.-verprints the installed ExifTool version.-hprints output as HTML, while-Xproduces RDF/XML.-progressshows progress while processing large folders.
Practise each command on copies of your files and you will quickly feel at home. When you are ready for more, explore the essential commands on the homepage or see how ExifTool handles video metadata.


