ExifToolGUI for Windows v5.xx
IntroductionThere are many tools for viewing/editing metadata inside image files. In my opinion, ExifTool by Phil Harvey, is the best I've found so far. Here's why:
The only downside for many potential users is the fact, that ExifTool is a "command-line" utility. That means, there's no Graphic User Interface (GUI), so all work must be done by typing commands inside "Command Prompt" window. Such approach gives ExifTool great flexibility, but is somehow difficult to use -especially for those, who don't use ExifTool regulary.
So, I've decided to make some simple ExifTool GUI for my private use. There are already some GUI's that make use of ExifTool, but some of them are not flexible enough (for my needs) and/or have somehow limited use. When making ExifToolGUI, the main goal was:
Basic idea behind GUI is, to keep it simple! Thus, only those options are implemented, which I believe, are essential for majority of users.
Important change in ExifToolGUI v5.xx
For ALL metadata, UTF-8 character set encoding/decoding is used. Meaning:
What's all about?
It's about displaying "foreign", country specific characters:
For Xmp metadata, UTF-8 charset is used as default charset since beginning, so nothing changes here. For Iptc metadata, UTF-8 charset has also become officially recommended. Right now, the only exception is Exif, which oficially doesn't support UTF-8 yet. However, Metadata Working Group (MWG) organisation recommends using UTF-8 in Exif as well.
It can/will happen, that GUI will show some "weird" characters where country specific characters should appear -if at all, this can/will happen for existing Exif metadata content (i.e: Exif:Artist). If you notice this, then this means, metadata content isn't UTF-8 encoded. Now, what you can do is, you can either:
-quit using GUI v5, or
-change/overwrite such tag content (which becomes UTF-8 encoded).
But be aware, that UTF-8 encoded Exif content might not be properly recognized by some other software... it's your choice. Anyway, all this concerns only "foreign" characters: if you allready used "standard" alphabet (ASCII) characters only, then you won't notice any difference.
If really needed, then you can still enter "old" ANSI (non-UTF-8) encoded data by using -L option in ExifTool direct mode, i.e:
-and show such data in Log window, i.e.:
Obviously, such data won't be displayed correctly in GUI Metadata panel, because here, UTF-8 encoded data is expected.
Requirements and preparationsExiftoolGUI should run on WinXP up to Win7-64bit. However, because GUI is developed in Win7 environment, I can't guarantee backward compatibility.
1. ExifToolYou only need to download "Windows Executable" zip file from here. After unzipping, you will see:
Case A: exiftool(-k) or Case B: exiftool(-k).exe
How come there can be Case A or B? Because it depends on your Windows settings. What you need to do (depending on the case above), is:
Note: In case you've done something wrong in this regard, you'll see an error message when GUI starts.
2. ExifToolGUIYou can download GUI from here. GUI doesn't need to be "installed". Just unzip ExifToolGUI.zip file into any directory, create Desktop shortcut and GUI is ready to use.
Note: It is not recommended to put ExifToolGUI.exe into directories owned by operating system (Windows and Program files), unless you know what you're doing.
So, if you didn't already, just create new directory on C drive (i.e. C:\MyTools), put ExifToolGUI.exe there and create Desktop shortcut.
GUI doesn't write anything into registry file or elsewhere. After first usage, all settings are written into "ExifToolGUI.ini" file, which is automatically created in the same folder where "ExifToolGUI.exe" has been started from.
3. jhead.exe & jpegtran.exeBoth files are included in GUI zip package. These two files are needed only:
Note: To check if everything is ready, use menu Program>About.. first.
4. Wish to see thumbnails of raw image files?Of course you do. What you need is a "raw codec", usually available for free from camera manufacturer. The best I've found so far is "FastPictureViewer codec" (from here). It is very fast, covers many raw formats and has small package -but not free ($15 as I'm writing this).
That's all you need. And when new ExifTool or GUI version is available, you only need to repeat process as described above.
About-displays ExifTool and GUI versions.
General settings tab
Here you can choose the language for displaying metadata tag names and values in Metadata panel. Selected language is also used when working in ExifTool direct mode (output to Log window), or when exporting metadata to external TXT files.
Let GUI rotate JPG preview image
In most cases, you will need to check this option, because Windows doesn't automatically rotate JPG images according to Exif:Orientation tag value. Anyway, if this option is checked, then GUI won't change/rotate your JPG files phisically: rotation (if needed) is applied in GUI's memory after the image has been loaded for displaying. If checked, GUI will only rotate image in Preview panel -thumbnails aren't rotated.
If you're using some recent version of "FastPictureViewer" codec, then you should not check this option (because that codec is capable to deliver properly rotated JPG images).
Enabling internet access
By default, this option is unchecked and if you are a bit paranoid, then keep it that way. In this case however, you won't be able to use GUI's GoogleMap feature for geotagging your images manually. After changing this option, you'll need to close and reopen GUI, to make this feature available.
Default Startup & Export folder
I think, these two options don't need some special explanation.
Some metadata tags (i.e. keywords, etc.) can hold multiple values and to be able to separate these values when showing, some "special" character is needed. Keep in mind, that this character isn't stored into metadata! -it is just used to separate values when displaying multi-value tags on your PC.
Save Filelist Details state on exit
If checked, then Details: button state and selected Filelist view (Standard filelist, Camera settings,..etc.) are saved when closing GUI. Selected Thumbnails size is always saved.
Other settings tab (not shown in above screenshot)
Workspace: Move focus to next tag/line after value is entered
By default, when you hit Enter button to confirm changing tag value in Workspace, focus of selected tag/line automatically moves to next tag/line. If you prefer focus would remain on currently edited tag/line, then uncheck this option.
Tag name column
Here you define tag name you prefer to be displayed for particular metadata tag. These tag names don't have any influence on actual tag names and you can write anything here, i.e. instead of "ISO", you can have "Noise maker" here.
Tag names written here, can have different "behaviour" in case special character is used for their ending. For now, GUI uses following ending characters:
# -if tag name ends with this character (see Flash# and Orientation# above), then content of this tag will be displayed as usual. However, when modifying this tag, you need to enter numerical value.
* -if tag name ends with this character (see Artist* above), then that means, that value defined in Hint text will be used as default value for this tag. In this case, if you right-click on Metadata panel (when in Workspace view mode), pop-up menu appears and there's option Fill in default values -you get the idea, I hope.
? -if tag name ends with this character (see Geotagged? above), then that means, that you're not interested on tag value itself -what you wish to see is, if particular tag is defined or not. Note: You won't be able to edit such tag in Workspace view.
± -if tag name ends with this character (see Type± in main screenshot above), then you'll be allowed to enter multiple values for single tag at once (i.e. keywords and similar). Of course, you can't use this feature for any tag, so read (Iptc & Xmp) metadata documentation to findout what tags support multi-values. Btw. you can get ± character with Alt+0177 (typing 0177 on numerical keyboard, while pressing Alt key).
Note: I might use further special ending characters in future, so try to avoid their usage at the end (or start) of tag names.
Tag definition column
Here you define tags as recognized by ExifTool. And if needed, you can also add # character at the end of tag name -this will force displaying numerical tag value (try with -exif:Orientation# to see the difference). Of course, only single tag can be defined per line.
To separate group of tags in Workspace view, special "fake" tag is used: -GUI-SEP (see "About photo" on above screenshot).
Hint text column
Text entered here is your short "private" help, which will be displayed in GUI's status bar when you start modifying tag value:
I hope you can recognize the power of Workspace manager: YOU define any metadata tag you wish to change regulary. Btw. you can move defined tags up/down by clicking & moving tag name in first (Tag name) column.
Workspace definition file: Load/SaveAll tags defined for Workspace are automatically saved into ExifToolGUIv5.ini file. So, when you start GUI, Workspace content is the same as it was when you used GUI the last time. For whatever reason, you might wish to save your current Workspace content -to create a backup of your Workspace, so to speak. And when needed, you just load previously saved Workspace definition file again.
When you choose Save, you'll be asked where to save the file and you'll need to set the filename. By default, save directory will allways be the directory where ExifToolGUI.exe is saved; however, you can choose any other directory.
When you choose Load, again, default starting directory will be the one, where ExifToolGUI.exe is. And if you've messed with your Workspace inbetween, you can choose to load Workspace from ExifToolGUIv5.ini file -which simply reloads Workspace from last GUI session.
However, when saving, name of Workspace definition file can not be ExifToolGUIv5.ini -you should use any names that reminds you on content, for example: MyWorkspace_XMP.ini.
GUI colorMy humble attempt to keep GUI up to date... to some degree :)
Don't make backup files-if checked (default), then ExifTool won't make "filename.ext_original" backup files. However, if you're not sure what you're doing, then you better uncheck this option.
Preserve Date modified of files-no matter what I think about this, some prefer having this option checked.
Ignore minor errors in metadata-by default, this option is unchecked. This results, in case metadata is not "as it should be", ExifTool will output warnings/errors messages when trying to modify such metadata. That is, ExifTool will refuse to write into file in case metadata is not in "perfect" condition, or if there's a danger that you might lose some metadata by modifying it.
If this option is checked and metadata only contain "minor" errors (or only "minor" damage can occur), then ExifTool will do his job anyway.
Show Exif:GPS in decimal notation-checked by default (because i.e. GoogleMap uses this notation as well).
Show sorted tags (not in Workspace)-if this option is unchecked (default), then metadata tags are shown sorted as defined internally in metadata. Many times however, it's quite hard to find particular tag in listing, so I can imagine, that this option will be checked most of the time.
Obviously, this setting has no influence on Workspace view output (see Workspace manager above).
Show Composite tags in view ALLComposite tags aren't "real" tags (their values are calculated from various existing tags), so they are shown optionally.
Don't show duplicated tagsIt can happen that the same tag is defined more than once inside image file and by default, GUI will show all of them. If you don't like this behaviour, then check this option, but warning: some other tags might also not be shown! -try with Exif GPS data, for example.
All above options will be saved when exiting GUI and thus be applied in next GUI start. Remaining options settings however, are only temporary (as long GUI is running) and are not checked by default:
Show tag values as numbers
Prefix tag names with ID number
Group tag names by instance (-g4) -this can help you to identify duplicated tags when viewing in Metadata panel.
Export metadata into : TXT, MIE, XMP, EXIF, HTML filesEvery of these formats has different purpose: i.e. MIE is for making backup of complete metadata inside image file, HTML is ment for "studying" metadata structure, etc. So, try and see what suits your needs.
Copy metadata from single fileThis will copy metadata from single source file (can be MIE file too) into currently selected files. That is, all selected files will be populated with the same metadata. After you choose the source file, you'll have a chance to reduce the amount of metadata to be copied:
Copy metadata into JPG or TIF filesIf single (JPG or TIFF) file is selected (=destination), then metadata can be copied from any other file containing metadata (incl. MIE file).
If multiple files are selected, then metatada will be imported only where source and target files have equal names.
More details on how it works:
As always in GUI, before you choose menu, you select one or multiple JPG (or TIFF) files -this are destination files. Now you select the menu and, no matter how many destination files you've selected previously, you'll be asked to choose only one source file (see 2nd scenario). Now, there can be two scenarios:
Scenario 1: If you selected only one JPG or TIF destination file:
All metadata from source file will be copied into destination file. And while destination file can only be JPG or TIF, source can be any kind of imagefile (raw, etc.). To put it simple: it's just copying all metadata from any kind of file into JPG (or TIF) file.
Scenario 2: If you selected multiple JPG or TIF destination files:
Now, you do remember by picking only one source file... in this case, you actualy didn't choose particular source file, but extension(!) of source files and folder where source files are. After executing, Exiftool only compares source/destination filenames -and where filenames match, metadata is copied. To put it simple: it's just copying all metadata between files which have equal filename (but can have different extension).
Scenario 2 is very usefull in case you have converted many raw files to JPG/TIFF and you know, that your raw converter doesn't copy all metadata from raw into resulting JPG/TIF files.
Note: Because it's assumed, that destination file has been modified inbetween (resized, etc.), not all metadata is desired to be copied. Because of this, you'll be asked, if you also wish to copy following tags:
-in 99% cases, there will be no reason to check any of above option.
Copy metadata into all JPG or TIF filesThis option is very similar to above. The difference is:
Let's see an example, where we wish to update jpg files with metadata from raw files:
1. Select any destination file inside MyJpg\Dir1 folder. If you select any JPG file, then only JPG files will be processed; if you select TIF instead, then only TIF files will be processed.
2. Choose menu Copy metadata into all JPG or TIF files
3. Click on Yes button when asked
4. File browser will appear, where you select any (source) file inside MyRaw\Dir1 folder. Note: You only need to select one file (to specify file extension).
5. A panel will appear, where you confirm/check which of "not desired" metadata you wish to be copied:
Note: Even if none of above is checked, the rest of metadata in source files (Exif, Xmp, etc.) will be copied into destination files.
That's it: after click on Execute, metadata will be copied into all files inside MyJpg\Dir1 folder (incl. Dir2 folder) from files inside MyRaw\Dir1 folder (incl. Dir2 folder).
If we would choose No in step 3 above, then only files inside MyJpg\Dir1 would be processed.
Import GPS data from : Log filesThis option allows geotagging your files in batch by using log file of your GPS device (see here for supported GPS files).
Step 1: Select log file of your GPS device.
As usually in GUI, you must select files you wish to geotag, first. In most cases, folder content will contain series of "session" photos, so you will select all of them.
Step 2: Check use all log files in directory if more than one log file for set of files exist.
Let's say you've made three day trip to Venice. In such case all photos will reside in single folder, but three (or more) log files will exist for that set of photos.
Note: In this case, it doesn't matter which (of multiple) log file you choose -important is, all log files must have the same extension.
Step 3: Choose Reference DateTime value.
Here you define which photo DateTime values to compare with those in log file.
Step 4: Choose if TimeZone offset is needed to be taken into account.
This is funny one... The thing is, log files contain UTC time, while camera is usually set to local time (of where photo is taken). In most cases, we are dealing with two scenarios:
For further reading/questions see here.
Import GPS data from : Xmp filesBy using this menu, you can copy GPS data from xmp sidecar files into Exif GPS section of selected image files.
Note: It is expected that image and sidecar files only differ in extension -name part however, must be equal. Example of valid image-sidecar file pair is:
MyPhoto.jpg - MyPhoto.xmp
img_01.cr2 - img_01.xmp
Because image and sidecar files usually reside in the same folder (that is, they are mixed), it is a good idea to use file type filter (which is set to "Show ALL files" by default). That is, if you wish to write GPS data into JPG files, you should set filter to "JPG files only". However, this setting is not required!
Workflow is as follows:
Extract preview image from selected: raw filesAs known, every raw image file also contains JPG image, which serves for previewing raw image file content. In most cases, this JPG image is "as if photo would be taken in JPG mode" -while this is true for exposure and colors, resolution (pixel size) may differ (depends on camera).
Embed preview image into selected: raw filesThis does the opposite as previous option does. Because I didn't noticed much interest from users, JPG images can be embedded (back) into CR2 raw files only. That is, I made this for my needs in first place.
Exif: DateTime shift
Exif: DateTime equalize
Exif: LensInfo from MakernotesThis will fill Exif:LensInfo of selected file(s) with relevant values from Makernotes data (where possible).
Note, that in some cases (depends on image file format), it's not possible/safe to remove metadata you've choosed for removing. In such cases, ExifTool will simply refuse to remove such metadata (also see Ignore minor errors in metadata menu above).
File: Date modified as in Exif-use it, if you feel the need.
JPG: Lossless autorotate-this will phisically rotate selected JPG images according to Exif:Orientation value inside files.
-will update folder (directory) content in filelist panel. This might be usefull in cases you're interested on file characteristics changes (size, etc.) after applied operations.
File filter drop-down box
-is set to Show ALL files by default on every GUI startup and this behaviour can't be changed. This drop-down box allready contain few predefined file filters and by clicking on Edit button, you can add additional filters which you need most often.
-is "pressed" by default, which means, files are listed with detals about files. If this button is "de-pressed" then thumbnails are shown instead of file details.
Note: Only thumbnails for "registered" image files will be shown as images. Meaning, for raw image files, you'll need to install appropriate raw "codec", to be able to see thumbnails and previews.
Details drop-down box
-is set to Standard filelist by default. This drop-down box also contain few predefined details views: Camera settings, Location info and About photo -where each of these views shows few metadata values inside files; i.e.:
No matter how disappointed you might be, you can't define/change tags shown in these predefined views. The main and only reason why's that is: that's the only way I could get reasonable speed to show this data.
But to give you at least something, the last entry in this drop-down box is User defined. If you select that, then Edit button on the right side becomes enabled, and by clicking on it, you'll get:
-here you can define your own columns and metadata values to be shown.
Note: Displaying User defined details view is noticeable slower than fixed predefined views. So, use this view on relative small amount of files in folder. In short: tryout.
Note: Don't need to write "exiftool" here -GUI will take care of calling ExifTool for executing commands you have entered.
Note: Even you're in "direct mode", Options menu settings for:
If you're a bit familiar with ExifTool usage, then here, you can execute commands not covered by GUI. Usage is very simple:
Some examples for exercise:
etc... You can find more info here, on homepage of ExifTool.
As mentioned, selected files are automatically added to the end of command, so you don't need to type them. However, there are cases, when you should not select source file, i.e.:
-here, source file "MyPhoto.jpg" can't be placed at the end of command, so selecting it in filelist isn't what you want. If you select it anyway, then (in this case) xmp file will be created first (as expected), and after that, xmp file content will be added back to selected file -that's what you don't want.
If you wish to modify all files inside currently selected folder, including files in subfolders, then you should use -r option. Some examples:
-deletes all Xmp metadata from all files inside currently selected folder and subfolders.
-set Exif:Artist tag value to My Name for all jpg files inside currently selected folder and subfolders.
-set Xmp:City tag value to Paris for all all jpg and tif files inside selected folder and subfolders. Note: If more than one extension is specified, then (processed) files counter only counts number of files defined by first file extension. Meaning: if more than one extension is specified, files counter might not reflect actual number of files.
Note: You can't "redirect" output in ExifTool direct. If you need to do that (i.e. extract thumbnail image), then you should use ExifTool directly (that is, outside GUI).
Using predefined ExifTool commandsThere's one predefined ExifTool command in GUI, so you can see what's all about. To access it, you click on combo-box (blank on above image) and choose it:
Once command is chosen, you can execute it by pressing Enter key (while you're in edit field). If needed, you can modify displayed command and execute it, without actually changing predefined command.
Modifying predefined commandsBy clicking on Edit predefined button, panel increases with additional options:
^Delete -deletes currently selected predefined command permanently.
^Replace -replaces currently selected predefined command (i.e. after changes have been made).
^Add new -adds new command to the end of the list.
^Default -makes currently selected predefined command selected by default each time GUI starts.
Deselect -sets predefined commands combobox to "none selected" state.
Note: Don't use = character in Command name field! -because in INI file, this character is used as separator between command name and actual command.
Using args filesargs file is a text file, usually containing several ExifTool commands, which are all executed by simple call of single args file. Here's a example of args file, containing two commands, written by Notepad:
-Exif:Artist="My Name" -Exif:Copyright="C2012 by My Name"Let's save this text as "MyData.args". Note: File must be saved in the same folder where exiftool.exe is saved (or inside Windows folder).
To execute above commands in GUI (after desired image files are selected), we need to write the following Command into ExifTool direct panel:
-@ MyData.args-and press Enter key.
ExifTool full source version (can be downloaded on top of ExifTool main page) contains several predefined args files, which are ment for transferring "similar" metadata between sections. One of them is (for example) "xmp2iptc.args" file, which copies all "compatible" metadata from Xmp to Iptc section. And as said, there are more of them.
Show Log Window buttonWhen using ExifTool direct mode, any results are automatically written into Log window. Keep in mind, that content reflects only last executed command.
If, for example, we select two files and execute following ExifTool direct command:
-e -gps:all-we will get something like this:
Note: In case of errors, Log window with relevant messages automatically appears after ExifTool ends processing files.
By clicking on any button on top row, relevant metadata will be shown -that is, top row is for displaying metadata only.
In second row, there's only one button: Workspace. This button is "pressed" by default on every GUI startup and this can't be changed by user. And where are "good old" [ ^ ] edit buttons, known from previous GUI versions? They're gone.. they aren't needed anymore.
As explained above (see Workspace manager menu), Workspace is fully customizable: user can define which tags he wish to be listed here. And value of any tag listed in Workspace can be edited at will.
Edit metadata in Workspace
Here's how to edit metadata in Workspace:
If you've changed your mind and don't wish to change particular tag, then select that tag, right-click (to show pop-up menu) and choose Undo selected editing -this is usefull in cases when many tags are allready edited and not saved.
If you've changed your mind completely (don't wish to apply any changes), then just click on Workspace button and changes will dissapear.
Note: Changes are lost in most cases when you click elsewhere outside Metadata view area.
Some tag values may require a bit longer text to be entered (just a bit longer, please). To do that more comfortable, click on Large button and you'll get some more space:
Editing tags which names ends with ± character
This sign means tag can have multiple values defined (where keywords are most known). Posibilities for entering values for such tags:
bird -all existing keywords will be deleted and keyword "bird" will be saved.
+flight -keyword "fligt" will be added to existing list of keywords.
-bird -keyword "bird" will be deleted from existing list of keywords (if it exist).
You can also add multiple keywords at once, for example by entering: +nature+daylight+sky
or you can delete multiple keywords at once, for example: -water-tree
Note: As you know by now, you can't enter keywords which contain + or - sign (which is a bad keywording habbit anyway).
Advice: Don't write stories into keywords -by it's definition, keyword is ment to be a (single) word.
Note: Not all options are available all the time.
Note: Tag names will appear colored (as in image above right) only if Metadata language in Preferences is set to ExifTool standard (short).
Fill in default values -in Workspace only
By choosing this option, all tags which names are ending with * character, will be populated with default values (as defined in Workspace manager).
Undo selected editing -in Workspace only
As long edited tag value isn't saved (tag name has yellow background), you can "undo" changes for selected tag.
Add tag to Workspace -in Exif, Xmp and Iptc view only
By using this option, you can easy add any Exif, Xmp or Iptc tag into Workspace. Selected tag will be added at the end of existing Workspace list of tags. Once tag is added, you can make further customisation by using Workspace manager.
Remove tag from Workspace -in Workspace only
Do you really need to edit so many tags? Ok, it's your life :)
Add tag to Custom view -NOT in Workspace
Adds selected tag to be shown in Custom view.
Remove tag from Custom view -in Custom view only.
It is a good practice, to keep only those tags in Custom view, on which you are temporary interested. Once number of tags listed here becomes too long, the meaning/purpose of Custom view is lost.
Add tag to Filelist Details -in Exif, Xmp and Iptc view only
This command adds selected tag into Filelist Details: User defined columns.
Mark/Unmark tag -NOT in Workspace
As name implies, this option serves to mark/unmark tags of interest. Marked tag name is shown in red color in any view (except in Workspace), so you can locate it easier later.
Note: This selection is only available if Exiftool standard (short) language is selected in Preferences.
Note: GoogleMap panel will be available only if chosen in Preferences.
Show on map button
If selected image is geo-tagged (contains GPS data), then, after clicking on this button, you can see that geo-position on the map.
Get location button
Coordinates of current map cursor position on the map are shown in Find field (for copy/pasting, etc.).
GoogleMap allready contains zoom tool. The difference is, that by using Zoom trackbar, you're zooming on position where map cursor is. That is, when zooming, position of map cursor remains in the center of the map.
-for finding places easier...
-moves the map cursor to your predefined position.
Current map cursor position becomes Home position.
Geotag files button
By clicking on this button, all selected files will be geotagged with current map cursor position.
Well.. that's it.
P.S.: Don't blame me for my English grammar -it's not my native language.
Modified on May, 2012
And if interested: first ExifToolGUI v1.00 was "published" on May 27th, 2007.