Marc's Place


 
Stacks Image 16


SetEXIFData

A GUI for Exiftool to modify EXIF data

What SetEXIFData offers is: 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, modify the Finder's Date created or Date modified, etc..


SetEXIFData uses the excellent ExifTool, which you should install first (I have included it in the download for your convenience). SetEXIFData uses ExifTool to write most wanted EXIF data into an image or movie container (mov, m4v, mp4) - what ExifTool supports.
SetEXIFData also uses the command-line tool dcraw (it is included in the download too, for your convenience) to read and display the thumbnail from RAW images which are not supported by your current version of the Camera Raw-extension in macOS X.
And the nice toolbar icons come from Drew Wilson.

System Requirements


The Universal version of SetEXIFData runs on macOS 10.10 or higher, on Intel and M1 (ARM) Macs.
The 64bit versions of SetEXIFData runs on macOS 10.7 or higher (SetEXIFData 64bit runs in Rosetta 2 without problems)
The 32bit versions of SetEXIFData runs on macOS 10.7 up to 10.14 Mojave.

On macOS 10.7, the thumbnail-preview of RAW images will only be rendered if macOS 10.7 supports that type of RAW image, because dcraw only works on macOS 10.8 or higher.

Running SetEXIFData the first time


The .dmg that you download contains all the instructions to install SetEXIFData:
Stacks Image 26
After installing everything, you should dismount the virtual disk:
Stacks Image 33
When you start SetEXIFData the first time, macOS might warn you about the application being from an unidentified developer.
To allow SetEXIFData to run on your system, start the application the first time by a right-click on its icon and choosing 'Open':
Stacks Image 37
And then confirm that you want to open it. You only have to do this once.

When you run standard macOS 10.14 Mojave or higher, you will be asked to allow 'System Events' :
Stacks Image 41
If you do not allow this, Growl- cq. Apple-notifications might not work, and you might not be able to modify images inside system-controlled folders.
If you want to allow this later, you have to go into System Preferences > Security & Privacy and add SetEXIFData where needed.

Registration


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 PPC version, which is donation-ware, but will only receive bug fixes as long as my PPC Mac lives on.

Problems donating


If you want to donate, and Paypal will not let you from your country, you can use this button:
Donate via Paypal (minimum 10 EUR and please mention 'SetEXIFData' so I know where it is for).

If you have donated for SetEXIFData in the past, please e-mail me your Paypal transaction-reference and the email address you used, and I will email 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.
Stacks Image 54

'About…'-window when unregistered

Stacks Image 56

'About…'-window when registered

Screenshots

Stacks Image 64
Stacks Image 72
Stacks Image 70
Stacks Image 68
Stacks Image 66

How to use SetEXIFData

(click on a title below to open its contents)
Accessing the macOS Address Book
You can use your Mac Contacts to geotag your photos. To allow SetEXIFData to read your contacts, you'll have to allow it first:
Stacks Image 704
If you do not allow this, the 'Select contact…' pop-up menu wil be disabled.

Your choice is seen in SetEXIFData, because the popup menu either has data or not. This yes/no value is recorded and set as a preference in 'Preferences…':
Stacks Image 708
If this setting is unchecked, SetEXIFData will not try to access your contacts. If you later decide to allow access to your contacts, you might get the following message:
Stacks Image 714
If SetEXIFData keeps asking to allow to access your contacts each time you start the app, despite you clicking 'Ok' every time, you can change the setting manually in System Preferences -> Security & Privacy -> Privacy -> Contacts -> SetEXIFData.
Stacks Image 716
Note: when you allow this, only addresses with a street address and a first- or last-name will be listed.
Note on privacy: SetEXIFData does nothing with your contacts, but creating a pop-up menu for easy geotagging.
The Toolbar
Stacks Image 752
The Process button processes all the files in the list.
Drag a bunch of images onto the SetEXIFData window, fill all relevant EXIF data into the screen fields and then click on Process to 'process' the image files: this will add/overwrite EXIF data, set file dates, etc.. The list window will be cleared when processing is done.
Stacks Image 743
The Start over button clears all fields, except the Artist and Copyright fields.
The 'Preferences...'-menu
You'll find various preferences settings under the 'Preferences...'-menu
Stacks Image 760
Stacks Image 762
Stacks Image 764
Stacks Image 766
How to add images and movies
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.
Stacks Image 772
Stacks Image 774
When you hit the BACKSPACE or DEL (Fn + Backspace) key, the selected file path is removed from the list of photos.

Note : as of v7.3, the limit on the number of media files that can be processed at once has been removed. The limit now depends on what your Mac can handle.

Note : as of v7.8, LargeFileSupport is automatically used when using movie-files, regardless of their actual size.
The Preview window
When you click once on a file path, a new window opens with a preview of the image and all current EXIF, XMP, etc. data is listed.
You can have multiple preview windows of different photos open at the same time.
Stacks Image 776
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.
Caption/Description and Auto fill
Type something to describe the photo.

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

This modifies the following META-data : Caption-Abstract, Description, ImageDescription, ObjectName, Title, XPSubject and XPTitle.
Document name, Auto fill and Rename
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, without their file extension.

This modifies the following META-data : DocumentName.

Rename photos afterwards


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.
Stacks Image 792
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.
    %-d = will be replaced by a date in the form YYYY-MM-DD.
    %.d = will be replaced by a date in the form YYYY.MM.DD.
     
    %s = will be replaced by a time in the form HHMMSS.
    %-s = will be replaced by a time in the form HH-MM-SS (because a ':' cannot be used in a file name).
    %.s = will be replaced by a time in the form HH.MM.SS.
     
    %t = will be replaced by a time in the form HHMM.
    %-t = will be replaced by a time in the form HH-MM (because a ':' cannot be used in a file name).
    %.t = will be replaced by a time in the form HH.MM.
     
    %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, without its file extension.
     
  • Check the Rename Preferences
    Preferences window for 'Rename'-settings
  • Stacks Image 798
    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.
    Rename-example:
    Example pattern
    img-%x-burst
    (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.

    Tip: Some users are using SetEXIFData to batch-rename their audio files or set the correct Finder-dates of audio-files using EXIF-data from, for example, WAV-files. If you have other audio file types, simply try if it will work.
  • Artist
    Type the name of the artist ;-)

    This modifies the following META-data : Artist, Creator, Author, By-Line and OwnerName.
    Copyright
    Type your copyright text. Symbols are replaced :
    • © : Copyright (c)
    • ™ : Trademark (tm)
    • ® : Registered Trademark (r)
    This modifies the following META-data : copyright, copyrightnotice and rights.
    Comment
    Here you can add free text.

    This modifies the following META-data : UserComment, XPComment.
    Keywords
    Type each keyword on a new line or separate them by a comma.
    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 behaviour, 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.
    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 to use
    Stacks Image 816
    Choose which Date/Time you want to use for the Date/Time original tag. The first option is the default setting and uses the Date/Time original entry fields, described next. The last option requires the entry field File name pattern to be used, which defines what to retrieve from the file's name. See further below for a detailed explanation.

    With either option 2 or 3 selected, all other date/time entry fields and checkboxes will be disabled, except the relevant ones.

    See the sections below for detailed descriptions.
    Date/Time Original
    The date and time when the artwork was made.
    If you want to use this, you should fill it out completely - parts of a date are not possible and will be set to 0 (zero).

    This modifies the following META-data : datetimeoriginal. No other dates that may be present in the EXIF data will be modified, depending on which checkboxes you ticked (see below).
    Fixed time to add to or subtract
    You can add or subtract a fixed amount of time to or from a batch of photo's or movies. 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 image or movie:
    Stacks Image 824
    Interval to add to or subtract
    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 or movie. The first one gets the entered Date/Time Original and the next one 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 files.
    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:
    Stacks Image 830
    Here, the first image is set to the date + time:
    Stacks Image 834
    The next image gets 1 hour subtracted from the date in SetEXIFData:
    Stacks Image 838
    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.
    Stacks Image 842
    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.
    EXIF date field to use
    Stacks Image 852
    When you choose 'Retrieve Date/Time from EXIF date' from the popup-menu, you can use an existing date/time property which exists within an image or movie.
    SetEXIFData will use the date/time from this property and copy it into the other date/time properties, as with the other options.

    If the property is not present in a file, that file is left alone and skipped.

    This modifies the following META-data : datetimeoriginal. No other dates that may be present in the EXIF data will be modified, depending on which checkboxes you ticked (see below).
    Set Creation D/T to D/T 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, timecreated, datecreated, modifydate and additionally in case of a movie-file trackcreatedate, trackmodifydate, mediacreatedate, mediamodifydate.
    Stacks Image 856
    Preserve File Date/Time
    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.
    Stacks Image 862
    Original data of a scanned image before processing:
    Stacks Image 866
    After processing with Preserve File Date/Time of original file unchecked:
    Stacks Image 870
    After processing with Preserve File Date/Time of original file checked:
    Stacks Image 874
    Result in Finder:
    Stacks Image 878
    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/Modify Dates/Times
    These settings use the DateTimeOriginal EXIF date to modify the Finder's attributes.
    Stacks Image 886
    Stacks Image 888
    Note: 'Preserve File Date/Time of original file' and 'Set the File Modify Date/Time to the Date/Time Original' are mutually exclusive.

    Note : The Finder's Date Created and Date Modified, when checked, will not be touched when images or EXIF have dates from 1969 or before.
    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:

    Select the option 'Retrieve Date/Time from file name' from the pop-up menu 'Date to use on the 'Dates and Times'-tab.

    A default pattern is inserted for you in the 'File name pattern' field. You can modify it as needed and use the following placeholders 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 max. 4 digits and use it as a year.
    • %y = will look for max. 2 digits and use it as a year.
    • %m = will look for 2 digits and use it as a month.
    • %d = will look for 2 digits and use it as a day of the month.
    • %h = optional; will look for 2 digits and use it as hours. Defaults to 0 if not present.
    • %i = optional; will look for 2 digits and use it as miniutes. Defaults to 0 if not present.
    • %s = optional; will look for 2 digits and use it as seconds. Defaults to 0 if not present.
    • %x = optional; will look for max. 3 digits and use it as subsecond or sequence number. Defaults to 0 if not present.
    The pattern is processed from left to right.
    SetEXIFData does not know what a year or month or... is; it just reads digits up to the maximum for the current attribute or the first non-digit.

    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.

    You can use the day and time fields from the 'Date/Time original' and from the 'Add interval' entry-fields, to add a default time and/or sequence number to the found date, if no time or sequence number is present for the placeholder in the file name.
    For example, the minimum placeholder that is accepted is %Y%m. This will extract the first 6 digits it encounters and will use the day, hour, minute, second and sequence number from the 'Date/Time original' for the missing placeholders. When no data is entered in those fields, the default day will be 1 and the default hour will be 12.
    Stacks Image 900
    In the above example, a missing day (%d) will be substituted with 2, a missing hour (%h) with 13, a missing minute (%m) with 45, a missing second (%s) and a missing sequence number (%x) will be set to 0.

    As long as photos with the same date in the name are being processed one after another, the specified interval will be added. If no interval is specified, all photos will get the same time and sequence number.
    When a new date is read from a file name, the process starts over, beginning with the time and/or sequence number in the Date/Time original entry fields.

    ** Important note ** : the placeholders simply take the numbers they encounter and interpret them as what the placeholder requires. The spacing of the pattern is irrelevant, except for %Y. 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 order of digits. %y%m%d will only interpret dates in file names like YYMMDD or YY/MM/DD or YY-MM-DD. %Y will look for a 4-digit year, or less if it encounters a non-digit: YYYYMM or YY-MM. For formats like MM/DD/YY or DD-MM-YYYY, etc., you would use the %m%d%y or %d%m%Y patterns respectively.

    When a 2-digit year is read and its value is less than 40, 2000 is added, or when greater or equal to 40 and less than 100, 1900 is added, to make it a 4-digit date for use with EXIF and Finder dates.

    Examples:
    '2017-09-01 13u22m10s 001.jpg' => %Y%m%d%h%m%s%x => 20170901132210.001
    '2017-09-01 13u22m10s 001.jpg' => %m%d%Y%h%m%s%x => 09012017132210.001 (wrong due to a pattern mismatch)
    '2017090_1132210 nr. 001.jpg' => %Y%m%d%h%m%s%x => 21070901132210.001
    'Cool photo taken on 01-09-2017.jpg' => %y%m%d%h%m%s%x => 2001092017000000 (wrong due to a pattern mismatch)
    'Cool photo taken on 01-09-2017.jpg' => %d%m%Y => 20170901000000
    'Cool photo taken on 01-09-2017.jpg' => %m%d%y => 20170109000000

    %Y and %y behavior:
    %Y%m%d: 80-09-12 -> %Y will read 80 and add 1900 = 1980
    %y%m%d: 80-09-12 -> %y will read 80 and add 1900 = 1980

    %Y%m%d: 1980-09-12 -> %Y will read 1980
    %y%m%d: 1980-09-12 -> %y will read 19 and add 2000 = 2019 and because the next two digits are treated as the month, 80, a completely wrong date will be generated.

    %Y%m%d: 800912 -> %Y will read 8009 and because the month will be 12 and the day therefore 0, it will generate a completely wrong date.
    %y%m%d: 800912 -> %y will read 80 and add 1900 = 1980

    %Y%m%d: 19800912 -> %Y will read 1980
    %y%m%d: 19800912 -> %y will read 19 and add 2000 = 2019 and because the next two digits are treated as the month, 80, a completely wrong date will be generated.

    Note : The Finder's Date Created and Date Modified, when checked, will not be touched when images or EXIF have dates from 1969 or before.
    Retrieve Date/Time from folder name
    To use the date/time from a folder name, for example from a folder name somewhere inside a path like /Users/yourname/Pictures/Family/1960-02-23.Picknick/On the grass.jpg, do this:

    Select the option 'Retrieve Date/Time from folder name' from the pop-up menu 'Date to use on the 'Dates and Times'-tab.

    A default pattern is inserted for you in the 'File name pattern' field. You can modify it as needed and use the following placeholders to look for a date and time in a folder 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 or %y = will look for 4 digits and use it as a year.
    • %m = will look for 2 digits and use it as a month.
    • %d = will look for 2 digits and use it as a day of the month.
    • %h = optional; will look for 2 digits and use it as hours. Defaults to 0 if not present.
    • %i = optional; will look for 2 digits and use it as miniutes. Defaults to 0 if not present.
    • %s = optional; will look for 2 digits and use it as seconds. Defaults to 0 if not present.
    • %x = optional; will look for max. 3 digits and use it as subsecond or sequence number. Defaults to 0 if not present.
    The pattern is processed from left to right.

    SetEXIFData does not know what a year or month or... is; it just reads digits up to the maximum for the current attribute or the first non-digit.
    However, to not put a silly date inside the image's EXIF dates, some checks are done on year, month, day, hour, minute and second. If the check does not pass, the EXIF dates of the image will not be set.

    • A valid year : between 1800 and 3000.
    • A valid month: between 01 and 12
    • A valid day: between 00 and 31 (no month-test is done; if 0, enter a day number in 'Date/Time original' section)
    • A valid hour: between 00 and 23 (if 0, you can enter an hour in 'Date/Time original' section, otherwise hour remains 00)
    • A valid minute: between 00 and 59 (if 0, you can enter an minute in 'Date/Time original' section, otherwise minute remains 00)
    • A valid second: between 00 and 59 (if 0, you can enter an second in 'Date/Time original' section, otherwise second remains 00)

    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.

    If no day, time or sequence number is present for the placeholder in the folder name, you can use the day and time fields from the 'Date/Time original' and from the 'Add interval' entry-fields, to add a default time and/or sequence number to the found date.
    For example, the minimum placeholder that is accepted is %Y%m. This will extract the first 6 digits it encounters and will use the day, hour, minute, second and sequence number from the 'Date/Time original' for the missing placeholders.
    Stacks Image 912
    In the above example, a missing hour (%h) will be replaced with 12, a missing minute (%m) with 0, a missing second (%s) with 0 and %x will be initially set to 1.

    As long as images or movies with the same folder are being processed one after another, the specified interval will be added. If no interval is specified, all files will get the same time and sequence number.
    When a new date is read from another folder name, the process starts over, beginning with the time and/or sequence number in the 'Date/Time original' entry fields.

    ** Important note ** : the placeholders simply take the numbers they encounter and interpret them as what the placeholder requires. The spacing of the pattern is irrelevant. To accurately retrieve dates and times from a folder's name, the given pattern must match the date/time pattern, qua order of digits. %y%m%d will only interpret dates in folder names like YYYYMMDD or YYYY/MM/DD or YYYY-MM-DD. For formats like MM/DD/YYYY or DD-MM-YYYY, etc., you would use the %m%d%y or %d%m%Y pattern.

    Result from the above settings:
    Stacks Image 916
    Note : The Finder's Date Created and Date Modified, when checked, will not be touched when folders or EXIF have dates from 1969 or before.
    Geotag and lookup GPS coordinates
    Click the Geotag button to call a window which loads Google Maps:
    Stacks Image 922
    If you allowed SetEXIFData to read you contacts, you can first select an address via the 'Select contacts…' pop-up menu. When you then click 'Geotag', the map wil try to load the selected address, otherwise it will try to position at the entered Latitude and Longitude, and as default, it will try to position the map at the stored 'Set as startup' coordinates.

    'Set as startup' button
    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...'
    Stacks Image 926
    'Get coordinates' button
    Click this button to pass the coordinates you chose, back to the Latitude, Longitude and Altitude fields. Whether you selected an address via the 'Select contacts…' pop-up menu or not, it is reset to 'Select contacts…'.

    This modifies the following META-data : GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, GPSAltitude and GPSAltiitudeRef.
    Put found address data in Comment
    Check this setting when you want the address data – found by Google Maps while using the Geotagging-feature – stored in the Comment field.
    Note that this setting overwrites the contents of the Comment field.

    This parameter is checked automatically when you select an address from the 'Select contacts…' pop-up menu.
    Camera and Lens data
    Make and Model speak for themselves.
    In Extra camera info, you can write things like '10 megapixel, 3x optical zoom'.

    This modifies the following META-data : Make, Model, ExifCameraInfo and CameraLabel.
    CameraLabel is filled with 'Make, Model'

    LensMake and LensModel speak for themselves.
    Min. focal (f) length and Max. focal (f) length expect a (decimal) number like 7.5, 14, 28, 35, 50, etc.. Do not add the text 'mm'.
    Max. aperture at min. f and Max. aperture at max. f expect a (decimal) number, like 2.8, 4.5, 5.6, 8, etc.. Do not prefix with 'f' or 'f/'.

    This modifies the following META-data : LensMake, LensModel, LensInfo and Lens.
    Lens is filled with 'LensMake, LensModel'
    LensInfo is combined from the two focal and the two aperture fields.

    Note for RAW files : the 'Make' and 'Model' fields are sometimes used by the camera manufacturer to store other metadata. Changing the contents of these fields might result in a corrupted RAW image. So please try this on a copy of your RAW image first. Read more here : https://sno.phy.queensu.ca/~phil/exiftool/faq.html#Q8
    Other EXIF / IPTC / XMP Tags
    In the main window you can add other EXIF / IPTC / XMP Tags that you want set in your images a/o movies. These tags are not saved, so when you quit SetEXIFData, this settings are lost.
    To always add a list of tags you always use, add them via the Preferences… :
    Stacks Image 938
    When you click 'Save', the names are tested against the list of valid, writeable exiftool tags. If a name of a tag you typed does not exist, it is prepended with a question mark and you cannot save your settings until the invalid tag is corrected or removed.
    Stacks Image 942
    The list of tags saved here, will be loaded in the 'Add other tags'-list of the main window when SetEXIFData starts.

    Main window:
    Stacks Image 946
    When you click on a cell and enter a tag name, the name is tested against the list of valid, writeable exiftool tags. If the name of the tag you typed does not exist, it is prepended with a question mark and will be skipped when processing starts.

    For valid exiftool tags, you also have the option to: set a value (=), add a value (+=) or subtract a value (-=).
    The values you enter are not tested on validity in any way; SetEXIFData does not know if a tag requires a number, float, string, or….
    Creating Presets
    You can create presets for Artist, Keywords, Addresses and Camera settings. A preset is created by entering data first and then clicking on the popup menu, which you see on the left of the Artist, Addresses, Keywords, Geodata and Camera fields.
    Choose the 'Save XXX as preset...' menu item and you will presented a dialog window to give the preset a name and when you click OK, the current data is saved as a preset. The popup menus can look like these:
    Artist presets
    Stacks Image 961
    Keyword presets
    Stacks Image 963

    Some notes

    About RAW files
    then you can head over to https://exiftool.org/ 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.

    Also, the 'Make' and 'Model' fields are sometimes used by the camera manufacturer to store other metadata. Changing the contents of these fields might result in a corrupted RAW image. So please try this on a copy of your RAW image first. Read more here : https://exiftool.org/faq.html#Q8

    dcraw

    When you click a line which points to a RAW image that is unsupported by macOS, SetEXIFData will try to use dcraw to extract the thumbnail image as a TIFF and use that in the preview window.
    To do that, it creates the thumbnail in /tmp and prefixes the filename with sed_ so you can see where these come from.

    For example, if you have a RAW image with the name IMG0023.ARW, then the thumbnail's path will be /tmp/sed_img0023.arw.tiff

    When SetEXIFData quits normally, it will remove all files whose names begin with sed_ from /tmp.

    Note: /tmp is a normal macOS and Unix folder, which is always completely cleared when the system is restarted.
    Note: dcraw only works with macOS 10.8 or higher (see System Requirements at the top of the page)

    Note: In 2022-2023, I will implement libraw, the draw replacement.

    About movie files
    If processing a movie file and you get to see an error notification like this:
    Stacks Image 1070
    Then your movie file might be a movie file with fragments.

    The full error message is: 'Error: Can't yet handle movie fragments when writing'
    This is a thing in ExifTool itself, read more about it here: https://exiftool.org/forum/index.php?topic=10789.0

    What to do? Use my tool HandbrakePM to batch convert all your fragmented movies to 'good' movie files, and then use SetEXIFData to write the EXIF data you want.
    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, because of the following reasons:
    • 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, I advise you to restrict the characters for naming folders and photos to: a-z , A-Z , - , _ , and the dot.

    Tip:
    Some users are using SetEXIFData to batch-rename their audio files or set the correct Finder-dates of audio-files using EXIF-data from, for example, WAV-files. If you have other audio file types, simply try if it will work.
    About the older versions
    Intel 64bit
    In 2020, Apple introduced the first Macs with its own Apple Silicon processors. It has an 64bit Intel converter built in, called Rosetta , so this version will continue to run on Apple Silicon Macs for a while. The 64bit version will not be updated anymore. Instead, download the Universal Binary version, it contains code for both Intel and Apple Silicon.

    Intel 32 bit
    Since long, macOS versions are 64bit, so the 32bit version will not be updated anymore. Use the 64bit Intel version.

    PPC Version
    Since september 2016 there was a Universal Binary version available, for PowerPC and Intel Macs. This is per March 2017 now a PPC-only version. The version number hasn't changed and it does not check for a newer version any more.

    This PPC version is not the same as the current Intel version, because it doesn't receive any new features. I use my old Powerbook G4 to keep the PPC version bug-free and when it dies, the PPC version maintenance will also stop.

    mwx_logo-long-small
    © 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

    On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
    Privacy Statement