ExifToolGUI for Windows v6.xx
Content
General info:
Menu:
Panels:
Final words
In the summer of 2023 I decided to revive the ExifToolGui project initally created by Bogdan Hrastnik.
This revival resulted in Version 6
Read his complete documentation
here
This was his intro, I will quote it now, because it still holds for me.
There 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:
- -it shows more metadata tags than any other tool,
- -it allows to edit almost any metadata tag,
- -it is very secure to use, is regulary updated and has the best possible support.
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 regularly.
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:
- -view all metadata that ExifTool recognizes,
- -ability to edit most frequently used metadata tags,
- -batch capability (where appropriate), means: you can select multiple files and modify them at once.
Basic idea behind GUI is, to keep it simple! Thus, only those options are implemented, which I believe,
are essential for majority of users.
- The source code now compiles with Delphi Community Edition. Version used, as of writing, Rad 12.1.
- No (closed source) 3rd party libraries needed.
- All source code provided on GitHub.
- Added styles.
- Image preview is handled by WIC (Windows Imaging Component).
- Google Maps is replaced by Open Street Map.
- 64 Bits executable available.
- Optionally copy the stack trace to the clipboard in case of an exception. Available in the released executables,
If you compile from source code the Project-JEDI/JCL is required.
- Better support for international characters. All internal code now uses Unicode (UTF16), to interface with Exiftool UTF8.
- Enhanced Log Window. The last 10 commands are shown, with their respective output and error.
Option to replay the command in PowerShell/Cmd prompt.
- The external programs Jhead.exe and Jpegtran.exe are no longer needed. Rotation, and cropping, are handled in
Delphi native code. With a modified library called NativeJpg by SimDesign B.V.
(I tried contacting SimDesign to verify the License requirements, but was unable to.)
- Exporting and Importing previews has been revised, and offer greater flexibility.
- GeoCoding has been enhanced. You can now choose from 2 providers
(https://overpass-api.de and https://geocode.maps.co) and
lookup City, Province and Country from GPS coordinates AKA reverse GeoCoding.
- Option added to show folders in the File list panel.
- Option added to show a Breadcrumb (Address bar) in the File list panel.
- Possibility to add Custom options to Exiftool.
- Support for 4K monitors.
- Option added to show hidden files and folders. Admins only
- Enhanced Windows integration. Add to Context menu in Windows explorer, Single instance App and minimize to Tray
- Camera settings, Location info and About photo in File list detail support more File types
- Preparations completed for translating into multiple languages.
Languages completed.
- English
- Nederlands
Languages that need verification. Your help is wanted.
- Deutsch
- Italiano
- Français
- Español
- Português
- Simplified Chinese
- Japanese
- Starting with V6.3.0 an installer is provided.
- Support for Exiftool features geolocate and -api geolocation.
- License changed to GPL V3.
- Added options to export and import various definition files. (ExifTool Direct, User defined fields, Custom view etc)
- Added support for Google Pixel Pro 7 in location info.
- Feature Request: Display the imported gps file track on the map.
- Improvements searching for places, and reverse geocoding.
- Showing sub folders can be enabled in the file list. See: Enabling Subfolders in the File list
- Managing metadata enhancements. E.G. removing and copying metadata.
See: Managing metadata
- Date time shift and equalize enhanced.
- Renaming files based on date time enhanced.
- Reading file list details redesigned. More customizations possible and improved performance.
- Optimized UI for file list, including recording option for ExifTool Direct.
See also: Configure file list columns
- Support for Windows Long Paths. Requires ExifTool V13.03 (Introduced with V13.01, but V13.03 recommended)
See Readme Long filenames.txt and
WindowsLongPath for more info.
- Added support for -diff feature of ExifTool.
- Improved keyboard-based working
- Added autocomplete to editing in Workspace and ExifTool direct. Including CTRL/SHIFT + Arrows to select words.
- Reviewed Saving and Loading settings. Renamed to Export and Import, allowing multiple settings.
- Added Hash functions. Available in the Workspace, the File list,
and a menu function to create Hash files.
- Added support for displaying and editing regions in the preview window.
- Added more Base layers in the OSM map. See Preferences GeoCoding settings tab
Requires registering at https://www.maptiler.com.
See changelog.txt for a complete list of issues.
ExiftoolGUI should run on Windows 7, 8 32-64bit. However, it is highly recommended to use Windows 10 or 11
when you plan to use the OSM map, or GEOcoding.
It will not run on Windows XP or earlier!
If you use the installer to install ExifToolGui that should take care of all required components, and you can skip this section.
The portable version is still available, and will be continued to be released. Read the following requirements.
Starting with V12.88 the ExifTool distribution has changed. Please follow the instructions on
https://exiftool.org/install.html
if you want to install ExifTool manually. The GUI installer V6.3.4. can also perform these steps.
ExifTool (version 12.78 and later) comes standard with a DB used for the
GeoLocation feature. An alternate (larger) DB is also provided.
The installer (V6.3.2) can download and install this larger DB automatically,
See https://exiftool.org/geolocation.html for more info how to do this manually.
Notes:
- Bogdan Hrastnik recommended to copy exiftool into the Windows directory, but I strongly advise not to.
Microsoft makes it harder with every Windows version to modify System directories.
If you want Windows to be able to always find ExifTool, then add the directory where it is saved in your PATH.
- If you prefer an installer, I recommend the installer provided by
Oliver Betz
- You can overrule the location of the ExifTool.exe in Preferences/Other.
- In case you've done something wrong in this regard, you'll see an error message when GUI starts.
- ExifToolGui is being developed with the latest version of ExifTool available at the time.
Using the latest version of ExifTool is highly recommended. Use Help/Check Versions to check for updated versions.
Some features of GUI may only be available when you use a recent version of ExifTool.
You can download GUI from here.
The portable version of ExifToolGui doesn't need to be "installed". Just download the executable for your platform
(ExifToolGui.exe or ExifToolGui_X64.exe) into any directory, create a Desktop shortcut and GUI is ready to use.
Notes:
- 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.
- If a path is added at the commandline GUI will start in that path. (eg ExifToolGui "c:\foto")
- If a file is added at the commandline GUI will open that file and start in the path of the file.
(eg ExifToolGui "c:\foto\imgp001.jpg")
- To open a file when GUI is already running, you can drag and drop a file from Windows Explorer.
- Portable notes:
GUI doesn't write anything into the registry file. It does however create temporary files in the %TEMP% directory.
It will save its settings in %APPDATA%\ExifToolGUI\ExifToolV6.ini, unless you use the commandline parameter /DontSaveIni.
It was decided not to save the INI file in the same directory as the executable, because that location may not be writable.
See Readme Portable.txt for more info on portable use.
If you don't need the OSM map functionality, you can skip this step.
The OSM map is hosted by an internal web browser based on Edge. There are 2 requirements.
The Edge Runtime and the WebView2Loader.dll.
On modern Windows versions the runtime will be available standard. If it is missing on your system, or you want to install the latest version
use this link and install one of Edge Canary, Dev or Beta.
This dll is not standard available and can be downloaded from NuGet. I recommend to save it in the same directory as ExifToolGui.exe,
but any directory that Windows searches will do.
If the dll can not be loaded you will get this dialog.

-
Download only the DLL from Package explorer.
Navigate in the Contents pane to runtimes\win-x86\native or runtimes\win-x64\native, depending on your platform.
Double-click on WebView2Loader.dll to start the download.

-
Download the complete package from NuGet manually.
Select the version (Eg. 1.0.2194-prerelease) and click on Download package. (on the Right)
This will get you a file named like 'microsoft.web.webview2.1.0.2194-prerelease.nupkg'.
Rename the .nupkg file to .zip to open it in Windows Explorer, or open it with an archiver.
(Winrar https://www.win-rar.com/ and 7-Zip https://www.7-zip.org/ are known to work)
Extract the file 'runtimes\win-x86\native\WebView2Loader.dll' or 'runtimes\win-x64\native\WebView2Loader.dll'.
More info for developers from Embarcadero
Of course you do. What you need is a "raw codec", usually available for free from the camera manufacturer.
The best I've found so far is "FastPictureViewer codec" (from here).
It is very fast, covers many raw formats and is free for personal use.
Note: For recent Windows versions the Raw Image Extension obtainable in the Microsoft Store may be enough.
Readme Using Codecs.txt
If you want to use a different language for GUI, you need to download and install the appropriate DLL from
Translation and install it alongside the EXE.
Be sure to download the same version (V6.x.y) and platform (32, 64 bits _X64) as the EXE.
Example:
32 bits version German: ExifToolGUI.DEU
64 bits version French: ExifToolGUI_X64.FRA
That's all you need. And when a new ExifTool or GUI version is available, you only need to repeat process as described above.


General settings tab
Metadata language
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
the Exif:Orientation tag value. Anyway, if this option is checked, then GUI won't change/rotate your JPG files physically:
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 the Preview panel. Thumbnails aren't rotated.
Enabling internet access
By default, this option is unchecked and if you are a bit paranoid, then keep it that way. In that case however,
you won't be able to use GUI's OSM Map feature for geotagging your images manually.
You have to enable this option also if you want to use GeoCoding.
Default Startup & Export folder
I think, these two options don't need some special explanation.
Separator character
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 File list Details state on exit
If checked, then Details: button state and selected File list view (Standard file list, Camera settings,..etc.)
are saved when closing GUI.

Thumbnail settings tab
Generate thumbnails as needed
Depending on the type of files, the codecs installed, and of course the system, generating thumbnails can be a time-consuming process.
You can disable automatic generating here.
Allow Non Microsoft Wic codecs
Enabling this option allows GUI to load Wic Codecs not provided by Microsoft.
Use this if you experience problems with previewing Raw images.
Generate thumbnails now
if you dont have 'Generate thumbnails as needed' checked, this option allows you to manually generate them.
You can also generate them manually from the context-menus on the folder and file list.
Cleanup Thumbnails
The thumbnails that GUI generates are the same as Windows explorer uses. They share the same folder on your hard-drive.
Sometimes the cache gets corrupt, or you just want to cleanup. It can be done with the standard Windows program 'CleanMgr'.
For your convenience you can start that program here.
- First click on Setup Disk cleanup for thumbnails.
If you dont know what 'Clean set' is used for, stay with the value '0000'.
In the next dialog keep only 'Thumbnail' checked, and click on OK.
- Cleanup thumbnails will start the actual cleaning.

GeoCoding settings tab
Here you can setup the GeoCoding parameters.
Getting started: Readme GeoCoding Getting started.txt
For an in-depth explanation see Readme GeoCoding.txt
MapTiler Api Key
If you register at https://www.maptiler.com you will receive an Api Key.
Enter your Api Key here to choose additional Base layers in the OSM map, besides the standard Mapnik and Open Topo Map.


Shell Integration settings tab
-application When minimized move to tray
Put an icon for GUI in the Windows System Tray, also known as the notification area, when GUI is minimized.
You will likely have to make the icon visible in Windows Taskbar Settings.
By clicking on the icon on the taskbar you can easily start GUI. A Right Click on the icon will show a menu with Version info,
and the option to reset the window sizes.

-application Single instance
Allow only one running instance of GUI. If you try to start a second instance of GUI, it will try to make the running instance visible.
Use this option when you have registered GUI in the Contextmenu, or you will get a new instance of GUI everytime you use the context menu.
Register ExifToolGui in Contextmenu (Requires elevation)
The buttons Add and Remove are only enabled when you have started GUI as Admin.
If you have added GUI to the contextmenu you can start it by Right clicking on a folder.

Notes:
- For Windows 11 you can find the context menu item under 'Show more options', or use SHIFT/Right click.
If you search the net you can also find 'registry tweaks' that show the contextmenu directly.
- When you decide to add GUI to the Contextmenu data is written to the registry.
If you have concerns with that, because GUI would not be Portable, dont use it.

Other settings tab
Workspace: Move focus to next tag/line after value is entered
By default, when you hit Enter button to confirm changing tag value in the Workspace, focus of selected tag/line automatically will
move to the next tag/line. If you prefer focus would remain on currently edited tag/line, then uncheck this option.
Workspace: Double Click adds/removes tags
If you check this, double-clicking in the Workspace will remove a tag,
double-clicking on one of the tabs Exif, Xmp, Iptc, Maker, All will add that tag to the Workspace.
Workspace: Enable line editing
Enabling this option will allow direct editing in the Workspace.
See edit metadata in Workspace.
Exiftool.exe location
If you need to override the location of exiftool.exe you can do that here.
Exiftool config
Use custom config. You can specify a complete path, or just the name. Refer to -config for more info.
File list: Show Folders in File list
The default setting is to only show files in the File list panel. If you enable this option, also folders (directories) will be shown,
allowing easier navigation.
File list: Show Hidden Folders and Files in File list (Admin required)
Will also show hidden Folders and Files in the Folder Treeview and the File list panels. You need to be Admin to use this,
and not everything you see may be readable/writeable.
File list: Show Breadcrumb (Address bar) in File list
Enable a BreadCrumb bar on top of the file list. Allows for easier navigating.
Hint pause timeout in Millisecs
Hovering over the metadata panel will display the complete metadata value as a hint.
This was added because long values are often not completely visible.
Setting this value to 0 (zero) will effectively disable the hints.
ExifTool direct auto complete options
Here you setup auto appending, or suggesting, in the edit box of ExifTool direct.
- None: Dont use this feature.
- Auto append: Appends characters as you type
- Auto suggest: Suggests options as you type, by showing a dropdown list
- Auto append+ suggest: Combines appending and suggesting
- Auto correct: When the value entered matches a value from the list, corrects the casing (UPPER/lower case)
Note:To find the matches, the commands in the predefined list are used.
Example showing enabled auto complete:

Here you define what will be shown in the Metadata panel when Workspace is selected.
Besides ExifTool direct option, this is the most powerfull GUI feature.

Buttons
- Add
Use this button to add a new line. The select tag name dialog pops up, where you can select a tag name.

The tag is inserted after the currently selected line.
- Delete
Deletes the currently selected line.
- Defaults
Resets the settings to default. Warning. This removes all your current settings.
With GUI V6.3.8 some autocomplete defaults were added. You may need this button to see them, when upgrading from a previous version.
You can create a backup first using Exporting and importing settings
- Arrow Up/Down
Use these buttons to move the selected line up, or down.
Note: These buttons replace the dragging in previous versions.
Default auto complete options
Here you specify the default auto complete options. These options will be used for all tags that have the auto complete option
set to default.
- None: Dont use this feature.
- Auto append: Appends characters as you type
- Auto suggest: Suggests options as you type, by showing a dropdown list
- Auto append + suggest: Combines appending and suggesting
- Auto correct: When the value entered matches a value from the list, corrects the casing (UPPER/lower case)
Note:To find the matches for the default list, a list is built from all values loaded in the workspace.
This list is not saved, and thus reset every startup of GUI.
Tag name column
Here you define the tag name to be displayed for a particular metadata tag. These tag names don't have any influence on the
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 the content of this tag will be displayed as usual. However, when modifying this tag, you need to enter a 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 in the tag value itself, what you wish to see is, if a particular tag is defined or not.
Notes: You won't be able to edit such a tag in Workspace view.
Use 2 questionmarks ?? to show the value 0 as undefined.
± -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 the (Iptc & Xmp) metadata documentation to findout what tags
support multi-values.
Btw. you can get the ± 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 one 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, and "Special tag names").
Note: It is recommended to prefix the tag names with a family 0, or 1, group name.
(EG: -Exif:ISO, or -ExifIfd:ISO, not just -ISO).This ensures that marking the lines defined in the workspace works best.
Special tag names:
- -GUI-SEP
Separate group of tags.
- -GUI-INV
GUI detected an invalid tag, causing unpredictable results.
- -GUI-HASH-MD5
Compute the MD5 hash of the file. Read only.
- -GUI-HASH-SHA1
Compute the SHA1 hash of the file. Read only.
- -GUI-HASH-SHA2
Compute the SHA2 hash of the file. Read only.
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:

Auto complete options
You can override the auto complete options for a specific tag, by setting a value different from default.
Additionally you can specify a custom dropdown list, only used for this tag. Contrary to the default dropdown list, the
custom dropdown list is saved to disk.
- Default: Use the default setting of the Workspace.
- None: Dont use this feature.
- Auto append: Appends characters as you type
- Auto suggest: Suggests options as you type, by showing a dropdown list
- Auto append + suggest: Combines appending and suggesting
- Auto correct: When the value entered matches a value from the list, corrects the casing (UPPER/lower case)
- Auto populate: Any value typed in manually in the Workspace will be added to this list.
Auto complete example of FNumber:

How it looks in the Workspace by just typing a '1':

I hope you can recognize the power of Workspace manager:
YOU define any metadata tag you wish to change regularly.
The settings you make for the Workspace, ExifTool direct, File list, Custom view and predefined tags
are automatically saved into ExifToolGUIv6.ini file when GUI is closed.
So, next time you start GUI, those settings are preserved.
Using the export and import functions, you can create a backup of your settings, to transfer them to another computer,
or switch the view when switching media types. EG Camera RAW to Video.

Program/Export

Check the settings to include in the ini file.
When you choose OK, 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 ExifToolGUIV6.ini is saved;
however, you can choose any other directory.
And if you've messed with your Workspace inbetween, you can choose to import the settings from ExifToolGUIV6.ini file.
Which simply imports all settings from last GUI session.
When saving, the name of the Workspace definition file can not be ExifToolGUIV6.ini.
You should use any name that reminds you on content, for example: MyWorkspace_XMP.ini.
Program/Import
When you choose Import, again, the default starting directory will be the one, where ExifToolGUIV6.ini
is located. Starting with V6.3.8 all selected settings are exported in one (1) ini file. The Import function imports all settings
found in the ini file.
Upon succesful import a dialog is displayed, showing the settings imported from the file.

Shows a list of available style/skins. To change the appearance of GUI.

The Styles Silver, Green and Blue try to mimic the colors available in V516
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. OSM Map 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 ALL
Composite tags aren't "real" tags (their values are calculated from various existing tags), so they are shown optionally.
Don't show duplicated tags
It 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 at 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.
API WindowsWideFile (requires Exiftool V12.66
-Force the use of wide-character Windows I/O functions when the CharsetFileName option is used Default checked.
API WindowsLongPath (requires Exiftool V13.02)
-Adds support for Windows Long Path names. File names longer than MAX_PATH (260 chars). Default checked.
API LargeFileSupport (requires Exiftool V12.88)
-To process files larger than 2GB. Video's for example. Default checked.
Link to all ExifTool API options
Expand file names
-When checked GUI passes the full path name to ExifTool. Default unchecked.
Custom options
-You can specify additonal options that exiftool should use.
Expert option. Normally used with the Log Window.
Possible use case is adding an API option -API WindowsLongPath=1
Each format has a different purpose: i.e. MIE is for making backup of complete metadata inside image file,
HTML is meant for "studying" metadata structure, etc. So, try and see what suits your needs.
This 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:

Notes:
- A Grayed Plus or Minus means the tag is not selected for processing.
- A Green Plus means the Tag is selected for processing and the tag will be copied
- A Red Minus means the Tag is excluded for processing and the tag will not be copied
Technically: For every Tag selected a - (minus) is prefixed and passed to ExifTool.
A Tag name that begins with a - (minus) will result in -- (2 minus) and function as an exclusion.
The selection in the screenshot would result in:
-Exif:all --Exif:Makernotes --Gps:All -Xmp:all -Iptc:All -ICC_Profile:All -Gps:All
To verify your selection use the Preview button.
Your selection (The tags that you have checked) will be remembered and proposed next time.
See also:
Managing metadata how you can customize the predefined lists and tags.
Tag-operations ExifTool documentation on Tags.
If a 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 the 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,
the 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 useful 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 the 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% of the cases, there will be no reason to check any of above option.
This option is very similar to above. The difference is:
- No matter how many destination files you select (you must select at
least one for menu to be enabled), metadata will always be copied into all
JPG or TIF (but not both) files inside current folder. That is,
this option behaves as if all JPG or TIF files are selected in Scenario 2 above.
- After you choose this menu option, you'll be first asked
"should files in subfolders also be processed?".
If we choose No, then again, this option behaves the same way as if all files are selected in
Scenario 2 above. However, if we choose
Yes, then metadata will be copied into images in all subfolders as well
(only where folder/file names are equal, of course).
Let's see an example, where we wish to update jpg
files with metadata from raw files:

- 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.
- Choose menu Copy metadata into all JPG or TIF files
- Click on Yes button when asked
- The 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).
- A panel will appear, where you confirm/check which "undesired" 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: by clicking 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.
See also: Managing metadata
This 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 usual in GUI, you first must select files you wish to geotag. In most cases, folder contents 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 a 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: Optional: Show on Map. Use this to visually check the log files..
Step 4: Choose Reference DateTime value.
Here you define which photo DateTime values to compare with those in log file.
Step 5: Margin before or beyond Track. Change this if the time of your images is not within 1800 secs (default)
of the track time.
Step 6: Choose if TimeZone offset is needed to be taken into account.
This is a funny one... The thing is, log files contain UTC time, while a camera is usually set to local time
(where the photo is taken). In most cases, we are dealing with two scenarios:
- Case A: Photos are taken in your local (time) area
-in this case there's no need to use TimeZone offset option. Short explanation: if TimeZone offset option doesn't exist,
ExifTool "assumes" that camera time and PC's system time have the same TimeZone offset and ExifTool will handle the logged UTC time
automatically.
- Case B: Photos are taken somewhere outside your local TimeZone area
-in this case you must use TimeZone offset option. Example: if you live in New York and the photo was taken in Vienna,
then you must set TimeZone offset to +01 (depending on winter/summer time?)
In both cases above it's assumed, that camera is set to local time of where photos are taken. It's also assumed,
that when geotagging, your PC/laptop is set to your local (home) TimeZone.
For further reading/questions see here.
Step 7: Check Update Geo Location, if you wish to update Country, Province and City.
Click on Setup Geo to control how these fields are filled.
Note: These fields are also shown in the file list if it's set to 'Location info'.
By 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. The name part however, must be equal.
Examples of valid image-sidecar file pairs are:
MyPhoto.jpg - MyPhoto.xmp or MyPhoto.jpg.xmp
img_01.cr2 - img_01.xmp or img_01.cr2.xmp
etc.
Because image and sidecar files usually reside in the same folder (that is, they are mixed), it is a good idea to use
the 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 like this:
Sort files by file extension (so, for example, JPG and XMP files are grouped -not mixed) or use desired file type filter
(i.e. "CR2 files only"). The only reason for doing this is: you can select (only) image files easier.
Select all image files you wish to modify.
After choosing menu Import GPS data from xmp file(s), you'll be prompted to select folder containing (xmp) sidecar files.
In most cases, that will be the same folder where image files reside.
...and that's it.
As you may know raw image files can also contain a 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).
Because there are many flavours possible I created a generic function.
It shows, for the selected file, what previews are available, and their sizes.
You can check which preview(s) to extract and optionally perform autorate, and or crop.
Use this option to update a preview. Before you choose this option select in the file list which files to update.
In this dialog select which preview to update. Optionally rotate and or crop.
When you click on Execute browse to the folder containing the previews. The previews should have
the same base name as the raw files. Typically they are created by the previous option.
See also the readme.Readme Lossless rotate_Import_Export previews.txt

Typical usage of this function is when you've forgotten to update the time of your camera when daylight savings has changed,
or when you've moved to a different timezone. And all you photo's are 'off' by the same amount of time.
Notes:
- The date and times shown are from the first selected file, and are only displayed to help you calculate the Shift amount
- All selected files will be shifted using the Shift amount
- Modifying DateTime result will calculate the Shift amount for you.
- By checking the checkboxes change File the date time shown in Windows explorer will also be updated.

This will fill Exif:LensInfo of selected file(s) with relevant values from
Makernotes data (where possible).
You can use this function if the Camera settings doesn't show LensModel, but the data is available in the Makernotes.

Notes:
- A Grayed Plus or Minus means the tag is not selected for processing.
- A Green Plus means the Tag is selected for processing and the tag will be deleted
- A Red Minus means the Tag is excluded for processing and the tag will not be deleted
Technically: For every Tag selected a - (minus) is prefixed and a = (equal) suffixed and passed to ExifTool.
A Tag name that begins with a - (minus) will result in -- (2 minus) and function as an exclusion.
The selection in the screenshot would result in:
-Exif:all= --Exif:Makernotes= -Xmp:all= -Iptc:All= -PhotoShop:All= -Jfif:All= -ICCprofile=
To verify your selection use the Preview button.
Your selection (The tags that you have checked) will be remembered and proposed next time.
In some cases (depending on the image file format), it's not possible/safe to remove the metadata you've selected to remove.
In such cases, ExifTool will simply refuse to remove such metadata (also see
Ignore minor errors in metadata menu above).
See also:
Managing metadata how you can customize the predefined lists and tags.
Tag-operations ExifTool documentation on Tags.
This option can update the location info (Country, Province and City) for the selected files.
The selected files should already be geotagged, that is contain lat and lon values.
For every selected file a lookup is done using the selected provider. To reduce the nbr of calls a cache is used.
In the dialog you can customize how the fields are filled.

Notes:
- If you use Gecode provider 'Exiftool geolocation' no internet connection is required.
- The other providers use an external webservice, and thus there are some 'point of failures'.
- You need a reliable internet connection.
- The external webservice could be (temporarily) out of service for various reasons.
- The external webservice might change it's API.
- etc...
- If you open the log window you can see the rest requests and their responses.
See also Readme GeoCoding.txt
Starting with V6.3.5 the functions
Modify/Remove metadata and
Export/Import Copy metadata
are capable of:
- Saving and restoring (remembering) the selected tag names.
- Previewing which tags will be processed.
- Customizing the tags to process, by creating your own predefined lists.

A button Preview has been added. It will give you a preview of the selected tag names, with their values.
Notes:
- When removing metatadata the displayed tags are the tags to delete, when copying metadata the tags to copy.
- To display the preview GUI uses the Log Window.
- The data (Tag names and values) shown are from the first selected/source file.

- You can customize the tags, by clicking on the button Predefined.
This will open the form Predefined Tags.
- The buttons on top allow you to Add/Delete/Add/Duplicate a predefined list.
This predefined list can be chosen when removing, or copying metadata, and will be remembered.
The button Defaults can be used to reset the predefined lists to their defaults.

- The buttons in the middle Delete/Edit will remove/modify the selected tag.
- Add will open a new form where you can select a tag.

- You can choose 3 modes:
- From sample. Select a Tag that exists in the sample file, along with the values.
- All writeable tags. Select a Tag from the list that ExifTool supports for writing.
- Free choice. You can type in anything you like in the Edit box Selected Tag name.
For the first 2 modes you first have to select a Family.
Then you can choose a Group from that family.
And lastly a Tag from that group.
Notes:
- The Comboboxes Group and Tag support full text search. That is typing a text filters the dropdown list.
- The built Tag name will always be in the form Group:Tag. Except when you choose Free choice.
If Exclude Tag is checked the tag will be prefixed by a - (minus), to serve as an exclusion.
See here for more info how tag names are build up.

Ok will add the newly created tag after the selected tag.
Note:
When you're done modifying the predefined tags, you can export and import them using:
Predefined tags definition file Load/Save.
Use it, if you feel the need.
This is a remark originally made by Bogdan. I would like to add my comment why it's not a good idea.
If you have a backup tool that relies on the Date Modified, it will not notice that a file is modified. Example: Robocopy

This function enables you to rename files, using any of the metadata dates in Exif, or XMP.
Exif is mostly used for JPG, Tiff or Raw files, XMP for Sidecar files.
To help you choose:
- DateTimeOriginal
- CreateDate
- ModifyDate
first select a file in the file list, and a preview will be shown using the date found.
You have multiple options to control how the new file name(s) should be. Gui tries to show a preview of the final result,
but the actual renaming is performed by ExifTool.
If you dont keep "Change Filename" "keep as is", renaming could result in duplicate filenames.
The default is to add a "-1, -2", (%-c option of Exiftool) to the filename, but starting from ExifTool 12.97, you can also specify a custom sequence.
This will physically rotate selected JPG images according to Exif:Orientation value inside files.
It uses a library NativeJpg by SimDesign B.V. to do the actual rotating. No external program is needed.
In addition you have more control over how the function is performed.

See also Readme Lossless rotate_Import_Export previews.txt
For all selected files Hashes will be computed and saved in a separate file with the extension of the selected Hash method.
Gui supports these methods:
This option allows you to specify the file, or directory to use on the left side of the compare window.
Accessing the Show diff metadata form
- Select 1 file or directory, and click on Show diff metadata, from the various menu, or the context menu of the file list.
The selected file/directory is used on the left side. You will be prompted for a right side.
- Select 2 files or directories. Clicking on Show diff metadata opens the Show diff metadata form directly.
- Select 3 or more files. Clicking on show diff metadata prompts for the right directory


- You can control what is shown on the left side, by clicking Select left diff first.
The Show diff metadata form opens.

The Show diff metadata form has these options:
- Include/Exclude the tags to compare, and save them as default.
The list of tags is shared with the lists used for removing and copying metadata,
and can be saved and loaded using Program/Predefined tags definition file.
See Managing pre defined lists how to customize these lists.
- Formatting options. (-v, -n, -g, specify the family group name)
- When comparing 2 directories specify how to match the filenames.
It also offers to merge the changes between 2 files.
- Click on the buckets to delete selected groups/tags from the left, or right side.
(For every selected tag a -tagname= is executed either on the left, or right file.)
- Click on the Arrows to copy the selected groups/tags from the left to the right,
or right to the left file.
(A -tagsfromfile is executed using the selected tags.)
Online Documentation
-Opens this document
Check versions
-Check for updated versions of GUI and ExifTool
About
-Displays ExifTool and GUI versions and links.
The preview tab
The preview tab shows a preview of the selected file. The preview is generated by W(indows) I(maging) C(omponent).
WIC needs a codec to be able to generate the preview. For most commonly used file types Windows (11) provides codecs.
The regions tab
Clicking on the regions tab allows you to display and edit the regions, provided that a preview can be shown.

Viewing:
- Select a region from the list.
- The selected region will be displayed with solid lines, not selected regions will be displayed dotted.
- Only checked items will be shown on the image.
- Info on the selected region will be displayed at the bottom, and can be edited.
- Use the Maximize button (The rightmost button, right from the Save button) to show the image maximized within the GUI window.
Adding/Editing:
- If a region is available and selected, you can edit that right away.
- To add a new region, and start editing that, click on the + to define a new region. A number #1, #2 etc. appears.
- You can define a region by selecting a rectangle with the mouse while holding the left button.
- Alternatively you can enter values for the X/Y W/H fields. Either by typing a value, using cursor up/down, or mouse wheel.
- You can assign a Name, Description and Type.
Name and Description are optional, and may not be provided, or recognized, by other software.
Type is mandatory. Valid values are Face, Pet, Focus and BarCode.
Notes:
The X and Y values define the top left corner of the region.
The W and H values define the width and height of the region.
- As a percentage divided by 100, of the Width and Height of the image in pixels.
- All values should be in the range 0 to 1.
- The decimal separator used on-screen conforms to your Windows regional settings.
- The decimal separator read from, and written to, the file conforms to XML standards. (always a period .)
- Before rotation is performed.
Deleting:
- Simply click on the bucket.
Saving your changes:
- When done press the Floppy icon to save your changes.
- Selecting another, or the same, file discards the changes, without a warning!
Keyboard shortcuts
- CTRL/R Switches between the Preview and the Region tab.
- CTRL/S Saves changes to the file.
- CTRL/I Adds a new region to the file.
- CTRL/Up Down Selects the Previous/Next file.
- ALT/Up Down Maximizes/Restores the size of the image.
- ESC Restores the size of the image.
Changed with Version 6.3.6.
The (dropdown) buttons on top of the file list replace the previous combo boxes. For the most part this should be self explanatory.

Notes:
The text 'Standard file list', and 'Show All Files' will change if you select an other option.
The Breadcrumb bar is shown only when enabled in Preferences/Other.
Refresh button
Will update folder (directory) content in file list panel. This might be
useful in cases you're interested on file characteristics changes
(size, etc.) after applied operations.
- Standard File List / (96pix) button

As said the text and the icon of this button changes to reflect what is chosen. Also a small black circle marks the current
selection. Your selection will be saved and restored.
This button has 3 functions:
- Select Thumbnail mode, in 5 sizes. (256pix and 512pix added)
- Select the detail mode. (Standard, Camera settings, Location info, About photo and User Defined)
Note You can now add as many User defined lists as you like.
- Configure This opens a new form where you can customize the field list of the details.
More on this later. see: Configure file list columns
Show all files button

Note: The screenshot shows the new V6.3.6 default file filters.
They can be added with the button Defaults in the Configure form.
The working principle is the same as the File list details button. You can choose a filter that has been defined.
Selecting a filter will filter the File list. Like V6.3.5. and earlier.
Configure opens the Configure file filters form:
2 new functions have been added:
- Select/'Select all'/'Select none' to quickly select all files. The shortcut CTRL-A works also in the file list.
- Export/Csv/Json Create an export file with all data in the file list.


This is the form that previously opened when you clicked Edit. Changed with V6.3.6:
- Layout has been changed.
- You can update an entry.
- You can restore the defaults.
- You can check which entry should be used at startup. Previous versions always started with Show All Files
Note: The Configure file filters form also allows enabling sub folders in the file list, by adding ;/s.
See: Enabling Subfolders in the File list
Prerequisite
- Enable Show folders in Preferences
Sub folders will only be shown when this option is enabled.
Enabling
- Open the Configure file filters form
- Add an entry with /s

A File filter consists of entries separated by a semicolon
Each entry specifies a mask, or the modifier '/s'.
A mask can contain literal characters, or special characters like *, [-] or ?.
Sample file filters:
| Typical usage | *.jpg;*.mp4 | Show Jpg and mp4 in current folder |
| *.jpg;*.mp4;/s | Show Jpg and mp4 in sub folders |
| All Files | *.*;/s | Time consuming! |
| Advanced | [A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9].jpg;/s |
IMGP0001.jpg (first 4 chars need to be A-Z, last 4 chars need to be 0-9) |
For more info on the file filter see the Embarcadero documentation on the Delphi function:
MatchesMask
Usage
- Select a file filter that has the '/s' modifier and sub folders are scanned.
Obviously this can take longer, so you will see a progress form, with a button Close.
Close will stop the scannning.

- Folder names are only shown the next level relative to the selected folder.
- File names are shown until no more files are found matching the pattern.
- Most functions are available on the (sub)files shown, with these 2 exceptions:
- A context menu (right click) can not be shown when multiple files from different subdirectories are selected.
dir1\sub\a1.jpg and dir1\sub\a2.jpg can be combined, but not with dir1\a.jpg
- Export/Import Copy metadata into all JPG or TIF files... is disabled.
This function can work on subdirectories, so that would be confusing.
All other functions, including ExifTool Direct, Metadata panel, OSM panel work as expected.
- Column sorting (Activated by clicking on the column header)
-
In thumbnail mode the sort order is always Folders first, followed by files. The relative name is used for sorting.
This can not be changed.
Relative name = The name relative to the currently selected path. (E.G. subdir1\subdir2\file1.jpg)
-
In detail mode you can use column sorting.
But beware of the performance considerations combined with subfolders containing many files.
- Standard file list.
This works relatively fast on all columns.
- Camera details, Location info, About photo. (Read mode=internal)
When sorting is active on Filename this is also relatively fast.
Sorting on other columns force GUI to get the details of all files selected, this will be much slower.
- User defined (Read mode=ExifTool)
Sorting on Filename is also relatively fast, any other column will be an excercise in patience.
GUI has to execute ExifTool for all files found to get the details.
It does that in Stay_open mode, multi-threaded, but nevertheless it's time-consuming.
Sample detail mode:

Developer note: Bogdan Hrastnik used JAM Shellbrowser for the file list, and folder list. I wanted to have sourcecode that did not rely on 3rd party libraries. The additional functionality needed for
ExifToolGui required extending the standard Embarcadero TShellTreeView and TShellListView. It proved to be more difficult than I anticipated. By now it works satisfactory.
A few small modifications to the Embarcadero source are needed. You can find the ReadMe and source code in GitHub.
ReadMe ShellControls.txt
This is a totally new form and replaces the old 'Edit' button form.
The form shown in previous versions:

The form shown in V6.3.6 and later:

The new form gives you more options.
- The columns for Camera settings/Location info and About info can be customized.
- You can define multiple user defined lists. Duplicate, Delete, Reorder them.
- With the Read mode you can select how the data are read. Internal means more performance, Exiftool means more compatibility.
- It helps selecting Tag Names, by providing dropdowns, and showing Sample values.
Before I explain this form, I first need to explain how Gui reads the metadata for the file list. It uses 3 possible methods.
Column Read Mode
System: This read mode is used for the Standard file list. Basically this reads the standard explorer-like
fields like Name, Size, item-type etc. (Actual names are translated by Windows)
This read mode defines fieldnames 0..6 (Column Command)
You can not customize the standard file list, but you can use the system field names in Internal and User (column Type)
Internal: This read mode uses internal Delphi/Pascal code to read the metadata directly.
(The original Developer Bogdan Hrastnik created this, and I have extended it)
The advantage of this read mode is that it is much faster compared to ExifTool.
This is because Delphi code is compiled to native assembler, where-as ExifTool uses Perl, and Perl is an interpreter language.
Plus the fact that a constant communication between Gui and ExifTool is needed, makes it slower.
The disadvantages are that not all file types can be read, and it can only read a subset of the ExifTool fields.
Generally speaking use this read mode for images like Jpg, Tiff, camera raw files like Cr2, Cr3, NEF, PEF and DNG.
And you only need basic Exif, Ifd0, and XMP data.
In Gui 6.3.5 and earlier this mode was used for 'Camera details, Location Info and About photo'.
ExifTool: This read mode uses ExifTool. You can use all fields and file types that ExifTool supports.
Performance has improved, by allowing multi-threading in 2 scenarios.
When you select all files (CTRL/A), or when you sort on a column other than name.
A special mode Internal+ExifTool can be used to first try the internal mode, and if the file is not supported,
use ExifTool as a backup. This replaces the Gui V6.3.5 option in preferences
'Use ExifTool for unsupported file types (slower)'
Column Type
System: There is 1 file list of this type. You can not delete/change it.
The name is translated to the Windows language in use.
Internal: For these 3 file list you can change the read mode, and you can add/delete/edit the fields.
User: The user file lists replace the 'User Defined' from V6.3.5 and earlier.
Additionally you can change the read mode, reorder the lists, and you can define as many lists as you like.
But only the first 6 have a unique icon.
Defining the Fields
- Caption. The name that will be used in the heading.
- Command. This is the command that will be send to ExifTool to get the metadata.
I advise to use this format '-' + GroupName + ':' + TagName. (-ExifIfd:Make)
Gui will help you with these names. If the Read mode is defined as 'ExifTool' this dialog (that is also used in Remove Metadata) pops up.

For other read modes, a panel on the right pops up, showing all the available internal fields.

Notes:
- It helps a great deal if you have a sample file containing Metadata you know.
Select that file first, before you start configuring.
- You can have GUI compute a Hash value and display it in the file list. These special values are recognised in the Command column.
The Columns Option and Align Right are used to specify formatting. See 'Camera Details' for examples.
Backup If you choose the value 'Backup' then this value will not be displayed in the file list,
but the value will be used if the previous command had no value.
See 'Location info' for an example. (If ExifIfd:DateTimeOriginal has no value, the value from QuickTime:CreateDate will be shown)
SampleValue The value found in the sample file.
Various remarks
- All settings are saved in the ini file: %AppData%\ExifToolGui\ExifToolGuiV6.ini
- The settings can be exported/imported via Program/File lists definition file/Load.../Save...
- I did my best to make the ini file compatible with previous versions, to allow side by side usage with older versions.
But look out if your settings matter to you. Especially the user defined fields can be tricky. Make a backup of the ini file before you start.
- The internal read mode has been updated to support more file types (.CRW) and more fields (Lensmodel, all XMP fields) and
performance improved by buffering.
- It is still possible to add a field to a user defined list, by right clicking in the metadata panel.
Before you use that, make sure that a 'User' list is selected.

By clicking on ExifTool direct button, you get an input field where ExifTool commands
can be entered and executed:

StayOpen/Classic Starting with version 6.2.0 you can choose how the commands are executed.
StayOpen. Send the commands to the ExifTool.exe program using stay open mode. This is the default, and doesn't start a new instance of ExifTool.exe.
Classic. Starts a new instance of ExifTool.exe, sends the commands, and waits for ExifTool.exe to complete. This was the default in previous versions. Retained for compatibility reasons.
Notes:
- Don't need to type "exiftool" here -GUI will take care of calling ExifTool for executing commands you have entered.
- Don't type the file names, GUI passes all selected file names to ExifTool after the command and
before all -execute commands found.
If -r is found in the command, the current directory is passed.
For commands that don't need file names (EG -ver) use Select None first.
- Even if you're in direct mode, the Options menu settings for:
- Don't backup files when modifying
- Preserve Date modified of files
- Ignore existing minor errors
- Api GeoDir
- Api WindowsWideFile
- Api WindowsLongPath
- Api LargeFileSupport
are automatically applied by GUI -meaning: these settings are still valid.
If you're a bit familiar with ExifTool usage, then here, you can execute commands not covered by GUI. Usage is very simple:
select one or more files
enter desired command and press Enter key
Btw. you can close ExifTool direct mode by clicking on ExifTool direct button again, or Esc key while you're in edit line.
Some examples for exercise:
-Exif:Copyright<Exif:Artist -copy value of Exif:Artist into Exif:Copyright
-Exif:DocumentName<$filename -save filename into Exif:DocumentName tag
-Xmp-aux:All= -delete complete Xmp-aux section
-Exif:Artist="My Name" -it's obvious, isn't it?
etc... You can find more info here, on the Home page 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.:
-tagsfromfile MyPhoto.jpg Result.xmp
-here, source file "MyPhoto.jpg" can't be placed at the end of command,
so selecting it in file list 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.
Tip Use Select None to make sure no files are selected.
If you wish to modify all files inside currently selected folder, including files in subfolders,
then you should use the -r option. Some examples:
-r -Xmp:all=
-deletes all Xmp metadata from all files inside currently selected folder and subfolders.
-r -Exif:Artist="My Name" -ext jpg
-set Exif:Artist tag value to My Name for all jpg files inside currently selected folder and subfolders.
-r -Xmp:City=Paris -ext jpg -ext tif
-set Xmp:City tag value to Paris for 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).
You can however use the REC button to save the output from ExifTool to a file.
- Click on the REC button
- Choose the filename using the Save Dialog. The filetype depends on the ExifTool command you will use.
- Execute on or more ExifTool direct commands
- When done click on REC again
- The file is now ready for use
Using predefined ExifTool commands
There'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 commands
By 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 the = character in the
Command name field! Because in INI files, this character is used as a separator between
the command name and the actual command.
Using args files
args 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=C2024 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 specify the full path to the args file).
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
-@ "c:\path to MyData\MyData.args"
-and press Enter key.
(Enclose in "(double quotes) if path/filename contain spaces)
ExifTool full source version (can be downloaded on top of ExifTool main
page) contains several predefined args files, which are meant 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 button
When using ExifTool direct mode, any results are written into the Log window when it is opened.
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, the Log window with relevant messages automatically appears after ExifTool ends processing files.
Starting with version 6.2.0 the Log window will show the last 10 commands. In the top panel you can select the command issued,
on the left you will see what was sent to ExifTool, on the right you see the output it generated and in the bottom panel the errors, if applicable.
To help identifying the commands an execnum is send to ExifTool, you can see this in the command window 'execute14 and -echo4 {ready14}',
Exiftool will return this in the Output and Error.
GUI uses execnums from 10-99, and when 100 is reached it is reset to 10.
In the top you will see a checkbox 'Show all commands'. By default only the commands issued from Direct mode, or that return an error, are displayed.
If you check this also the commands that GUI uses internally are displayed.
With the buttons Cmd prompt and PowerShell you can generate a .cmd or .ps1 script to replay the commmands.


By clicking on any button on top row, relevant metadata will be shown. That is, the top row is for displaying metadata only.
In the second row, there's only one button: Workspace.
As explained above (see Workspace manager menu), Workspace is fully customizable: user can define which tags he wishes to be listed here.
And the value of any tag listed in Workspace can be edited at will.
Note: The last selected button (Tab) will be remembered and restored at next startup. If selected in preferences.

In the Find edit box you can enter a text, press Enter and the first line containing that text in 'Tag name' or 'Value' is highlighted.
Pressing Enter again searches for the next occurence.
Edit metadata in Workspace

Here's how to edit metadata in Workspace:
- Click on tag line you wish to modify
- Press Enter key or click into Value edit field (which becomes yellow)
- Write tag value and press Enter key when you're done (or press Esc key to cancel editing)
- Tag name you've previously selected becomes yellow and contains the value you've just entered.
- If needed, pick another tag and repeat the process.
Notes:
- Data isn't saved yet!
- If you have enabled line editing in Preferences/Other, you can (over)type the values directly in the grid.
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 useful in cases when many tags are already 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 disappear.
Note: Changes are lost in most cases when you click elsewhere outside Metadata view area.
When you're finished with editing metadata values, click on Save button.
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:

Keyboard shortcuts
These keyboard shortcuts are recognized in the Workspace.
- Enter, Starts editing the field, confirms editing the value.
- Esc, Abandons editing the value.
- CTRL + C, Copies the value of the current row to the Clipboard.
- CTRL + S, Saves the pending changes. (Same as clicking Save)
- CTRL + Home, CTRL + End, Moves to first, last line of the metadata.
- CTRL + Up, CTRL + Down, Loads the previous, next file. The changed data is not saved.
Not all lines in the workspace can be edited. E.G. -GUI-SEP lines, or tag names ending with a ?
Editing tags which names end with ± character
This sign means the tag can have multiple values defined (where keywords is most well-known).
Posibilities for entering values for such tags:
- bird -all existing keywords will be deleted and keyword "bird" will be saved.
- +flight -keyword "flight" will be added to existing list of keywords.
- -bird -keyword "bird" will be deleted from existing list of keywords (if it exists).
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 a + or - sign.
Advice: Don't write stories into keywords, by it's definition, a keyword is meant to be a (single) word.
As mentioned, if you right-click on any tag shown in Metadata panel, a pop-up menu will appear:

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 as an edited tag value isn't saved (tag name has a yellow background), you can "undo" the changes for the selected tag.
Add tag to Workspace -in Exif, Xmp and Iptc view only
By using this option, you can easily add any Exif, Xmp or Iptc tag into the Workspace. Selected tag will be added at the end of existing Workspace list of tags.
Once tag is added, you can make further customisations by using the Workspace manager.
Remove tag from Workspace -in Workspace only
Do you really need to edit so many tags? Ok, it's your life :)
Note: If you checked Double Click adds/removes tags in Preferences/Other you can also use Double click to Add/Remove Tags from the Workspace.
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 File list Details -in Exif, Xmp, Iptc and All view only
This command adds selected tag into File list 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.
Copy Value to Clipboard
Copy the value of the selected line to the Clipboard.
Copy Tag name to Clipboard
Copy the Tag name of the selected line to the Clipboard.
Insert Tag name in to ExifTool Direct - Only when ExifTool direct is active.
Copy the Tag name of the selected line to the ExifTool direct command.

Notes:
- OpenStreet Map panel will only be available if internet access is allowed in Preferences.
- GeoCoding Finding places from coordinates and vice versa, will only be available if chosen in Preferences.
Show on map button
If selected images are geo-tagged (contain GPS data), clicking this button will display their geo-position on the map.
Starting with version V6.3.1 you can also show track logs on the map, if the selected files(s) contain(s) track logs.
Notes:
- You can select a different Base layer, by clicking on the plus sign at the right.
Default Base layers are Mapnik and Open Topo Map. By registering at
https://www.maptiler.com you will receive an Api Key.
Enter that Api Key in Preferences GeoCoding settings tab to add addional base layers.

- You can increase/decrease the font size used in the map by holding the CTRL key and using the mouse wheel.
- If you setup both Province and City to None in the Setup Geo parameters only the filenames will be shown.

<< Back and Forward >> buttons
Selected images are shown as a hyperlink. You can use these buttons to go back to the map.
Hyperlinks work only for filetypes supported in your browser.
Jpg usually works, raw formats likely not.
Get location button
Tries to get the location (City, Province and Country) from the currently selected center of the map.
Notes:
- Ctrl Left-click will also retrieve the location.
It defines the point on which you click as the new current position
(which therefore becomes the new center of the map), and also retrieves the location.
- You can customize how City and Province are shown by using the Setup Geo button in the Geotag files function.
- The coordinates of the map, and the bounds, are updated automatically when you zoom or move the map.
Find field
For finding places easier...
Notes:
- If valid lat-lon coordinates are entered (eg. 40.524832, -3.771568) the map is repositioned accordingly.
- If no valid lat-lon coordinates were found, GUI assumes you're searching for a City.
- Enter the name of a City, optionally followed by a comma and the Country. (eg: Amsterdam or Amsterdam, NL) Enter a least 5 characters.
- The Search place dialog appears, where you can adjust your query.

- You can disable this dialog in Preferences.
- Click on OK to start the search.
- The Places found dialog appears.

- Click on OK, or Double-click to reposition the map to the selected place.
- Retry will return to the Search place dialog.
Home button
Moves the map cursor to your predefined position.
Clears any tracks shown on the map.
Set^ button
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.
Notes:
- The coordinates displayed in the Find: edit box are used. They could be different from the center of the map!
Examples that have happened to me:
- You type the name of a City, but dont press Enter to search.
- You paste coordinates in the edit box.
- The Geotag files dialog appears.
- You can disable this dialog in Preferences.

- You can also manually update these fields.
- Location is an exception, it will never be automatically filled. You can only update it manually.
- Choose which fields to update:
- Coordinates (Lat, Lon)
- Location (Country, Province, City)
- Coordinates and Location
- Click on OK, to GeoTag the files.
- Setting up Geo tagging
- Use the Setup Geo button to customize how City, Province and Country are filled.

Readme GeoCoding.txt
All credits go to Phil and Bogdan. A quote from Bogdan that still applies:
Well.. that's it.
P.S.: Don't blame me for my English grammar -it's not my native language.
Frank
Modified on January, 2026
You may find additional info in the ReadMe files: