Software development, photography, jokes, ....

Sites by me

tas-logoTransportation Administration System
snoezelkussen-logo-kleinstSnoezelkussens voor verstandelijk gehandicapten
ikzoekeenbegeleider-logoBegeleiders voor gehandicapten
Laat uw hond het jaarlijkse vuurwerk overwinnen
Betuweroute en Kunst
logo 50x50Hey Vos! Je eigen emailadres?
Kunst in huis? Nicole Karrèr maakt echt bijzonder mooie dingen
nettylogo2Kunst in huis? Netty Franssen maakt ook bijzonder mooie dingen
Professionele opvang bij Gastouderbureau
Salarisadministratie en belastingadvies bij
De Zaak Loont
Zutphense Bomenstichting

Hosting Favorites

ANU Internet Services
XelMedia .internet Services


Quality that computes
The Economy of Motion
Wheel 2.0

Website Hosting bij Xel Media

Marc's Place


icon (rond)

 A tool to add or modify EXIF data in images

Download Intel-only Download Universal Binary

SetEXIFData uses the excellent EXIFtool, which you should install first (I have included it in the download for your convenience). The nice toolbar icons come from Kombine.

SetEXIFData writes most wanted EXIF data into an image or movie container (mov, m4v, mp4 - what EXIFtool supports).
The possibilities this application offers, are: renaming photos or videos, get EXIF dates/times from the file name of the photo or video, increment dates/times and sequence numbers, geotag photos and videos and store the found address, add camera info, add or replace keywords, etc..


As of v5.0, SetEXIFData is shareware. You can keep on using it unregistered forever, with a batch processing limit of only 5 photos a time.
If you make a donation, in return you'll get a serial number mailed to your Paypal email address which removes the 5 photos limitation and any 'unregistered' messages.
You can of course also choose to keep on using the Universal Binary version, which is donation-ware, but will only receive bug fixes. When the day comes that it won't run anymore, or my PPC Mac gives up, you'll have to upgrade to version 5 or higher.

If you have donated for SetEXIFData in the past, please e-mail me your Paypal transaction-reference and I will e-mail you your serial number. I am asking you to take action yourself, because email addresses on file are not always actual anymore.

If you have received your serial number, enter your Paypal email address and serial number in the appropriate fields at the bottom of the 'About…'-window. Simply closing this window will save your registration.

sed-00-registration-1'About…'-window when unregisteredsed-00-registration-2'About…'-window when registered



How to use SetEXIFData

The 'Preferences...'-menu

You'll find various preferences settings under the 'Preferences...'-menu


List of files to process and the drawer

You can drag and drop files on the application icon in the Finder or in the Dock, whether it is running or not. The selected files will show up in the list. If the application is already running, the newly dropped files will be added to the current list.



When you click a file path, a new window opens with a preview of the image and all current EXIF, XMP, etc. data.
You can have multiple preview windows of different photos open at the same time.
When you hit the BACKSPACE or DEL (Fn + Backspace) key, the selected file path is removed from the list of photos.

When you double-click on a row in the EXIF-list inside a preview window, the value of the right column is copied to the clipboard.


This modifies the following META-data : Caption-Abstract and Description.

Document name

Type the original name of the document in here. Then you can change the name of the document in the Finder and still see what its original name was.

With the Auto fill check box set, SetEXIFData automatically updates the DocumentName property of all listed photos with their respective actual file names.

This modifies the following META-data : DocumentName.

Renaming photos

With the Rename check box set, SetEXIFData will also actually rename all photos in the list. You can write the EXIF date, time and an image number in the new file name.

The renaming of photos takes place after all files have received the new EXIF data. Which means that if you have specified a new Date/Time with or without an interval, that calculated date will be used for the placeholders. To automatically rename a file or files, do the following:
  • Enter a new name in the 'Document name' field. You can use the following placeholders:
    %d = will be replaced by a date in the form YYYYMMDD.
    %s = will be replaced by a time in the form HHMMSS.
    %t = will be replaced by a time in the form HHMM.
    %x = will be replaced by a number in the form XXXXXX (depends on the preference-setting).
    %n = will be replaced by the current file name.
    Preferences window for 'Rename'-settings sed-07-a-rename-prefs
    Date/time EXIF fields
    The first date/time found in the default search order - 'DateTimeOriginal', 'CreateDate', 'DateTimeDigitized', 'GPSDateTime', 'SubSecDateTimeOriginal', 'ModifyDate' or 'FileModifyDate', will be used for the date and time placeholders. You can change the search order under 'Preferences...'.
    Image Number EXIF fields
    The placeholder %x will be replaced with the first number found in the default search order: 'SequenceNumber', 'ImageNumber', 'ImageCount', 'ShutterCount', 'ShotNumberSincePowerUp', 'SubSecTime', 'SubSecTimeOriginal' or 'SubSecTimeDigitized'.
    The latter three will also be used if 'SubSecDateTimeOriginal' is present in the Date/Time search order list under 'Preferences...', where you can change the search order.
    The number will, by default, be formatted as 3 digits long: for example, the number 1 will be formatted as 001 and 1000 will be left as 1000. You change the length of the number under 'Preferences...': from 3 to 6 digits long.
    Example pattern
    (you can add your own text in front, in between or at the end)
    Minimum # of digits set to 6:
    -> img-065036-burst.jpg
    -> img-065037-burst.jpg
    -> img-065038-burst.jpg
    Minimum # of digits set to 5:
    -> img-65036-burst.jpg
    -> img-65037-burst.jpg
    -> img-65038-burst.jpg
    Minimum # of digits set to 4 or less:
    -> img-65036-burst.jpg
    -> img-65037-burst.jpg
    -> img-65038-burst.jpg
    (only lower numbers will be prepended with zeros)
    Tip: if you only want to rename files without adding any EXIF data first, leave everything empty, add your list of photos and use a 'DocumentName' like %d_%s.%x-%n.
  • Tick the checkbox 'Rename'. The checkbox 'Auto fill' is automatically checked, too. 'Auto fill' stores the current file name in the EXIF 'DocumentName' property.
    If you uncheck 'Auto fill' with 'Rename' checked, the 'DocumentName' property will not be modified.
  • If a date or time placeholder is used and no date is found in the EXIF data, the file will not be renamed.
  • If a new file name is already in use in that folder, a space and a sequence number is added to the file name, which will be incremented with each duplicate file name. Say a file is renamed to '20150401_151112.jpg' and the next photo would get the same name based on the EXIF data, then the name will become: '20150401_151112 1.jpg' and the next '20150401_151112 2.jpg', etc.
  • If renaming a file is bounced by MacOS X, you will get a notification via Growl and via a dialog window with the reason why.


Type the name of the artist ;-)
This modifies the following META-data : artist, creator and by-line.


Type your copyright text. Symbols are replaced :
  • © : Copyright (c)
  • ™ : Trademark (tm)
  • ® : Registered Trademark (r)
This modifies the following META-data : copyright, copyrightnotice and rights.

Camera Make, Model and Extra Info

Make and Model speak for themselves. In Extra camera info, you can write this like '10 megapixel, 3x optical zoom'.

This modifies the following META-data : Make, Model and ExifCameraInfo.

Overwrite original in place

Check this setting when you want the modifications done on the original file. If you uncheck this setting, each file is first copied to [filename.ext]_original before the modifications are made.

Date/Time Original

The date and time when the artwork was made. You have to fill it out completely - parts of a date are not possible. When you leave out fields, they will be set to zero. No other dates that may be present in the EXIF data will be modified.

This modifies the following META-data : datetimeoriginal.

Fixed time to add to or subtract from each photo

You can add or subtract a fixed amount of time to or from a batch of photo's. This is especially handy when you forgot to set daylight savings time or went from one time zone to another. If you subtract, make sure the minus sign only occurs once, at the leftmost entry.

This feature is enabled when you leave the Date/Time Original empty.

Here's an example where we shall subtract one hour and thirty minutes from each photo:


Interval to add to or subtract from each photo

The interval feature is enabled when you enter a Date/Time Original.
The text 'Fixed time to add or subtract' changes to 'Interval to add or subtract'.

The interval is a number of days, hours, minutes and/or seconds you want to add to the 'Date/Time Original' for each next image. The first image gets the entered Date/Time Original and the next image gets the Interval added or subtracted - and so forth.

To use the interval, you need a starting point. SetEXIFData is meant for batch processing and thus does not read data from a photo to modify. Instead you, as a user, provide the data as you want it to be and that is what SetEXIFData then writes to the photo(s).
So you need to enter a date/time for the first picture, then you can add or subtract days or hours for the second picture and so on. If you subtract, make sure the minus sign only occurs once, at the leftmost entry.

Here's an example where we shall subtract one hour:


Here, the first image is set to the date + time:


The next image gets 1 hour subtracted from the date in SetEXIFData:


The next image would have 18:05 and so forth.

You can also add a sequence number to a photo, or add burst-seconds. Whatever you like it to be!
To do this, first enter a starting number in the last entry field of 'Date/Time original', usually 1. This is what the '.xxx' represent in the format-example on the right.
Next, enter a number to add, usually 1.

If you only want to add a sequence number, you do not need to enter dates and/or times.

This modifies the following META-data : SequenceNumber, ImageCount, ImageNumber, SubSecTime, SubSecTimeOriginal. When 'Set Creation Date/Time ...' is checked, also 'SubSecTimeDigitized' will be set.

Set Creation Date/Time to Date/Time Original above

Check this setting when you want the Creation Date to have the same date as the Date/Time Original you entered above. This is handy for photos you scanned off a 35mm film or from the print. Only you know when it was taken, so the original date is the same as the creation date. This setting does not modify the file's creation date in the Finder - which is not an EXIF date.

This modifies the following META-data : createdate.


Preserve File Date/Time of original file

Check this setting when you want to retain the dates in the Finder - which are not EXIF dates. The new file will have the same Finder dates as the original file. If you uncheck this setting, the modified file will get today's date as creation and modification date in the Finder.


Original data of a scanned image before processing:
After processing with Preserve File Date/Time of original file unchecked:
After processing with Preserve File Date/Time of original file checked:
Result in Finder:

Note: 'Preserve File Date/Time of original file' and 'Set the File Modify Date/Time to the Date/Time Original' are mutually exclusive.

Set the File Create Date/Time to the Date/Time Original and
Set the File Modify Date/Time to the Date/Time Original

These settings use the DateTimeOriginal EXIF date to modify the Finder's attributes.



Note: 'Preserve File Date/Time of original file' and 'Set the File Modify Date/Time to the Date/Time Original' are mutually exclusive.

Retrieve Date/Time from file name

To use the date/time from a file name, for example from files named 'IMG_000045 15-01-1966.jpg' or '20160428_175402.jpg' do this:

Check the box 'Retrieve Date/Time from file name' on the 'Dates and Times'-tab.

Enter a pattern in the 'File name pattern' field. You can use the following patterns to look for a date and time in the file name:
  • xx = the number of characters of the file name to skip before starting to look for a date and time. This is optional, but needed when you have numbers in the file name before the date and time.
  • %y = will look for a 2 to 4 digit year. If a 2 or 3 digit year is found, 2000 is added.
  • %m = will look for a month.
  • %d = will look for a day.
  • %h = optional; will look for an hour. Defaults to 0 if not present.
  • %i = optional; will look for a minute. Defaults to 0 if not present.
  • %s = optional; will look for a second. Defaults to 0 if not present.
  • %x = optional; will look for a subsecond or sequence number. Defaults to 0 if not present.
The pattern is processed from left to right.

The pattern '%y%m%d%h%i%s%x' will start looking for the date/time and a sequence number from position 1.
The pattern '7%y%m%d%h%i%s' will start looking for the date/time from position 7.
The pattern '%y-%m-%d at %h:%i:%s.%x' will start looking for the date/time from position 1 and will give the same result as the first example, because anything between the patterns is ignored.

** Important note ** : the patterns simply take the numbers they encounter and interpret them as what the pattern expects. To accurately retrieve dates and times from a file's name, the given pattern must match the date/time pattern in the selected file names, qua number order. %y%m%d will only interpret dates in file names like YYYYMMDD or YYYY/MM/DD or YYYY-MM-DD, but not like MM/DD/YYYY or DD-MM-YYYY, etc..


Type each keyword on a new line or separate them by a comma. It does not matter how you type them; the program will 'Title case' them, i.e. GReEn tREeS will be converted to Green Trees. Keywords will be sorted in alphabetical order before processing takes place. You can sort the keywords interactively by control-clicking (or click with a right mouse button) inside the keywords field. You have to watch closely, because it happens in a flash.

With the TitleCase checkbox set, all keywords are automatically title-cased when you leave the Keyword-field. To preserve pre-v3 behavior, where this was done by default, the checkbox is on by default.

With the or remove all keywords checkbox set, all entered keywords are removed from the Keyword-field, both the Replace and Append-buttons are unchecked and when you process the list, all keywords are removed from all listed photos.

This modifies the following META-data : keywords and subject.


Here you can add free text.

This modifies the following META-data : UserComment.


Click the button to call a window which loads Google Maps:
Set as startup
Click this button if you want the coordinates you picked to be the startup coordinates when the Google Maps window loads.
You can see, or manually change, these coordinates under 'Preferences...' sed-10-b-geotag-prefs
Get coordinates
Click this button to pass the coordinates you chose, back to the Latitude and Longitude fields.
This modifies the following META-data : GPSLatitude and GPSLongitude.

Put found address data in Comment

Check this setting when you want the address data found by Google Maps in the Comment field. Note that this setting overwrites the contents of the Comment field. Therefore, if you have comments, add them after you geotagged correctly.


You can create Sets from the Artist/Copyright fields and from the Keywords field. You create a set by entering data and clicking the popup menu, on the left of the Artist or Keywords field. Choose the 'Save XXX as set...' menu item - you will get a dialog to give the set a name and when you click OK, the current data is saved as a set. The popup menus can look like these:

Artist sets
Keyword sets
Geotag sets


sed-90-toolbar-1The Process button processes all the files in the list.
sed-90-toolbar-2The Start over button clears all fields, except the Artist and Copyright fields.

A note about RAW files

EXIFtool only supports a limited number of file types for writing EXIF data.
If you get an error-message like this:
then you can head over to and check the 'Supported File Types' table if your file type can be written to: a W should be present in column 4, 5, 6 or 7.
If that would be the case, then you can update to the latest version of EXIFtool yourself, from Phil Harvey's site.

A note about file and folder naming

It has been requested that I support a forward slash in file or folder names. Since I find this bad practice, I am not going to support this. Why? This is why:
  • Apple does not support a colon (:) because it is part of HFS's path separating routine.
  • MacOS X's underlying motor is UNIX, which uses the forward slash (/) as a separator in paths.
  • Windows does not allow even more of these kind of characters.
And since many people send photo's to friends and might not know on what OS their friends will be copying the photo to, it is best to restrict the characters for naming folders and photos to a-z, A-Z, -, _, #, $, and the dot.

A note about the Universal Binary (UB) version

Since september 2016 there is a UB version available, for PowerPC and Intel Macs. The UB version is not the same as the current Intel version. I use my old Powerbook G4 to keep the UB version bug-free and when it dies, the UB version developments will also stop.

Download Intel-only Download Universal Binary

© 1997- Marc Vos (and others) Contact Me