Welcome to HoudahGeo

This help document can always be accessed from the Help menu.

Disable the option to Show Help on Launch once you are familiar with HoudahGeo.

Quick Definitions: Geocoding assigns location data to photos. Geotagging embeds this data into photo files. EXIF and XMP are metadata formats. GPX files store GPS track logs and waypoints. Reverse geocoding translates coordinates into addresses.

Introduction

HoudahGeo is a powerful photo geocoding and geotagging solution for Mac, allowing you to add precise location information to your photos and videos.

HoudahGeo supports a wide range of file formats, including JPEG, many RAW formats, and various video formats. It also works with JPEG+RAW pairs as well as XMP sidecar files.

Just like a GPS-enabled camera, HoudahGeo embeds latitude, longitude, and altitude data directly into image files. Additionally, it allows you to enrich your photos with location details and keywords.

HoudahGeo supports a wide range of image and video file formats. We recommend using the free trial version to ensure compatibility with the photo and track log formats you plan to use.

For simplicity, both the HoudahGeo application and this user guide use the term “photos” to refer to both still images and videos.

Geocoding Workflow

HoudahGeo structures the geotagging process into three sequential steps: Load, Process, and Output.

Each step includes its own set of toolbar items, but all actions remain accessible through menu items at any time.

1. Load

In this initial stage, you add images, videos, and optionally GPS recordings to your project. Once photos and GPS track logs are included, HoudahGeo automatically geocodes your photos by determining their locations.

2. Process

During this step, you verify locations, apply alternate geocoding methods, and manually add location coordinates and related metadata.

3. Output

In the final stage, you save, publish, or share your work. Typically, this involves geotagging your photos by writing location data to EXIF/XMP metadata within the image and video files and notifying the Apple Photos application of metadata updates.

Why Geotag?

Location data adds depth to your photography, helping you visualize where your shots were taken and retrace your journey. See your photos on a map, track your route, and relive your experiences.

Geotags improve photo organization by allowing cataloging tools to group and search your images by location.

Geotagging is invaluable for professionals who need to document the precise location of their work, such as:

  • Wildlife researchers tracking migration patterns.
  • Inspectors and engineers documenting structural damage.
  • Real estate professionals enhancing property listings.

Geocoding vs. Geotagging

Geocoding is the process of determining where a photo was taken. HoudahGeo supports a range of geocoding methods, from fully automatic to manual adjustments, giving you complete control over the accuracy of your photo locations.

Geotagging is the process of embedding location data directly into image files. Geotags are stored within the metadata of JPEG, RAW, and video files, permanently linking them to GPS coordinates—just as if they were taken with a GPS-enabled camera. HoudahGeo can also add location names, descriptions, and keywords, enriching your metadata for better organization and searchability.

Geotagging vs. Apple Photos

The Places map in Apple Photos is a great way to explore your photos by location.

Photos taken with an iPhone or another GPS-enabled camera are automatically placed on the map. For other photos, you can manually assign locations in Apple Photos. However, you may also want to geotag these photos.

How Is Geotagging Different from Assigning Locations in Apple Photos?

When you assign or adjust locations in Apple Photos, the changes are saved only in the Photos library database. The location information is not written to the image files, so other photo software cannot see it when working directly with the files.

Geotagging, on the other hand, writes location data directly into the image files. This ensures the location stays embedded in the photo, even when copied, moved, or shared. If you switch to a different photo cataloging tool, it can still read the location information from the geotags.

The Best of Both Worlds with HoudahGeo

HoudahGeo provides a complete solution by:

  • Geotagging original image files within the Apple Photos library.
  • Notifying Apple Photos of updated location data, making it visible within the app.

Another advantage of using HoudahGeo is its multiple methods for determining where photos were taken, offering more flexibility and accuracy.

Future-Proof Your Photos with Geotags

Geotags ensure your photos remain tied to their locations, making it easy to organize and find them in any photo management software. Since geotagging follows industry standards, location data remains accessible and usable across different platforms—independent of any single cataloging tool.

Thanks to geotags embedded in metadata, you can:

  • Organize and search your photos by location.
  • View your photos on a map.
  • Preserve location metadata for long-term accessibility.

Show and Share Your Photos on a Map

HoudahGeo allows you to visualize and share your geotagged photos in meaningful ways:

  • Google Earth KMZ files – Display both your photos and your travel route in Google Earth. Share these files with family, friends, or clients for an immersive experience.
  • Google Maps integration – Create KML files to showcase geotagged photos on your personal website via Google Maps.

What is New in HoudahGeo 7?

Discontinued Features

As part of modernizing HoudahGeo, some lesser-used features have not been carried forward to HoudahGeo 7:

  • GPS device connectivity – HoudahGeo no longer connects directly to GPS devices. We recommend using a GPS device that supports USB Mass Storage mode, allowing direct access to log files without additional drivers. Alternatively, you can use the device manufacturer's software or the open-source GPSBabel application to download track logs.
  • macOS and application compatibility – HoudahGeo now requires macOS 12.4 or later and no longer supports Apple iPhoto or Aperture, which have been replaced by Apple Photos.
  • gps4cam support removed – The third-party iPhone application gps4cam was discontinued long ago. HoudahGeo 7 no longer includes direct support for it.
  • Flickr direct upload removed – HoudahGeo no longer supports direct uploads to Flickr. However, you can geotag your photos and videos with HoudahGeo and upload them manually using Flickr's web interface.
  • Mapbox maps not included – The new map experience in HoudahGeo 7 is built on Apple Maps. Mapbox maps are currently not available.

Quick Start Guide

HoudahGeo structures the geotagging process into three sequential steps:

By default, the toolbar is divided into two sections:

You can customize which action buttons are displayed and even disable grouping to always show all available actions.

Step 1: Load Photos & Track Logs

Load Photos

To add images and videos to a HoudahGeo project, choose one of the following methods:

Import from Camera
  1. Connect your camera or insert your memory card.
  2. Open the Camera Import window from the Load menu.
  3. Select a destination folder for the image files.
  4. (Optional) Check the option to delete files from the camera after import. However, we recommend keeping the originals until the geocoding process is successfully completed.
  5. Click Import Selected or Import All to import the photos.

Tip for iCloud Photos users: This workflow is recommended for those who use iCloud Photos. See the iCloud Photos Note below for more details.

Import from Apple Photos
  • Open the Media Browser and drag your photos into your HoudahGeo project.
  • Alternatively, drag and drop photos directly from the Photos application into HoudahGeo.
  • Use the Load > Add Items from Apple Photos Selection option to add selected photos.

HoudahGeo can perform two distinct tasks when working with Apple Photos:

  • Assign locations and other metadata to photos within the Photos library. iCloud Photos will sync this data across your devices.
  • Write geotags directly into the original image files. However, iCloud Photos will not sync or re-upload modified image files after geotagging. The changes will only exist on your Mac.

Recommendation: Geotag your photos before adding them to your Apple Photos library. This ensures that only geotagged photos are uploaded to iCloud, allowing the iCloud server to sync them with all metadata intact.

With HoudahGeo’s Camera Import feature, you can copy photos from your camera without automatically adding them to your Photos library.

Import from Adobe Lightroom Classic
  • Open the Media Browser and drag your photos into your HoudahGeo project.
  • Alternatively, drag and drop photos from Finder into HoudahGeo.

Important: If you’ve already added metadata in Lightroom, go to Lightroom and instruct it to write metadata to XMP (save metadata to file) before loading the photos into HoudahGeo.

Import from Files & Folders
  • Drag photo and video files from Finder into your HoudahGeo project.
  • You can also configure the Media Browser to display your picture folders for easier access.

Camera Setup: Adjusting Time Settings

When adding images to a project, Camera Setup will open automatically when needed. This step ensures accurate geotagging by aligning your camera clock with GPS timestamps. Choose one of the following options:

  • Set a photo time – Help HoudahGeo calculate your camera clock settings.
  • Manually adjust settings – Specify the camera time zone and correct any clock errors.
  • Use a GPS track log – Locate a photo on a track log, allowing HoudahGeo to determine when it was taken.

The Camera Setup window allows you to verify your settings. Specify the photo time, and HoudahGeo will calculate the camera clock settings. You can then compare the camera time displayed by HoudahGeo with the time shown on your camera. Alternatively, you can manually enter the camera clock settings, and HoudahGeo will determine when the selected photo was taken.

Load Track Logs

Optionally, you can add a GPS track log to your project. Use a dedicated GPS logging device or a smartphone app to record the log. HoudahGeo prefers GPX files but supports various log formats.

To add a track log to your project, drop the log files to the Track Logs or Waypoints list.

Step 2: Process

Geocoding

Geocoding is the process of determining where a photo was taken. HoudahGeo provides multiple methods to accomplish this:

  • Automatic matching – Aligns your photos with a GPS track log to determine their locations.
  • Reference photos – Copies location data from photos taken with a GPS-enabled smartphone.
  • Manual placement – Allows you to pinpoint exact locations using HoudahGeo’s interactive map.

HoudahGeo offers additional geocoding options, and you can combine multiple methods for greater accuracy. You can always use the map to verify and refine location data provided by your camera’s GPS or HoudahGeo’s geocoding algorithms.

Additional Location Data

With latitude and longitude coordinates, HoudahGeo can retrieve more details about the location.

  • Reverse geocoding – Provides country, province, and city names.
  • Altitude lookup – Determines the approximate elevation at the photo's location.

In the Inspector sidebar, you can also add a location name, title, description, and keywords to further enrich your photo metadata.

Additional Log Files

HoudahGeo can process specialized log files to enhance your photo metadata.

  • Dive log files – Add depth below the surface and water temperature information.
  • Weather log files – Provide ambient temperature and atmospheric conditions at the time the photo was taken.

Step 3: Output

Geotagging

Use Output > EXIF/XMP Export… to write the newly created metadata to your photo and video files.

HoudahGeo supports JPEG files, many RAW photo formats, as well as a variety of video file formats. When working with JPEG+RAW pairs, HoudahGeo defaults to adding metadata to both original files.

Writing EXIF/XMP/IPTC tags to image files requires modifying the files. This process is lossless. Image quality is not affected. Modifying files is however not without risk. We thus recommend you always have backup copies. Alternatively, you can choose to create copies at this point.

Whatever option you choose, make sure you have ample disk space available to allow for HoudahGeo to create temporary file copies.

HoudahGeo also works with XMP sidecar files. XMP (Extensible Metadata Platform) sidecar files are auxiliary files that store metadata without altering the original photo or video file. An XMP sidecar file shares the name of the file it pertains to but has a .xmp extension.

Notify Apple Photos

Select Output > Notify Photos Library to save your changes to your Photos library. After EXIF/XMP export, this step is needed for your Photos library to reflect changes you made. Of course, you can opt to forgo EXIF/XMP export, leave your original photo files untouched and save metadata only to the Photos library.

Note for users of iCloud Photos: Geotag your photos before adding them to your Apple Photos library. This ensures that only geotagged photos are uploaded to iCloud, allowing the iCloud server to sync them with all metadata intact.

Google Earth and Google Maps

Select Output > Google Earth Export… to create Google Earth KMZ or KML files.

These options allow you view both your photos and your travel route in Google Earth. You can share KMZ files with family, friends, or clients. Publish KML files to your web site to showcase geotagged photos via Google Maps.

Camera Clock Setup

Camera clock setup is the most essential input you need to provide in HoudahGeo.

For precise automatic geocoding, HoudahGeo must know the exact time each photo was taken. This allows it to accurately match photos with points on a GPS track log.

Since HoudahGeo can also write timestamps to photo files, it’s recommended to always provide accurate time and time zone information—even if you’re not using automatic geocoding. If you choose to write timestamps to your photo files, your photos will carry accurate time and time zone information. By doing so, your photos will retain precise timestamps, which can be beneficial for other photo tools and workflows.

If your imported photos lack time zone data, HoudahGeo will automatically open the Camera Setup window. Here, you can enter the necessary details to supplement the date and time recorded in the photo and video files.

Methods to Specify Camera Clock Information

You can choose from three methods to specify camera clock information.

1. Photo Time

Select a photo for which you know the exact time it was taken. Ideally, choose an image of a watch, a GPS device, or a phone displaying the time. HoudahGeo will display the timestamp recorded by the camera.

Set the correct date, time, and time zone for when you took the photo.

HoudahGeo will then compute the camera clock settings and display a running camera clock time. This should now match the clock on your camera. You may want to verify this by comparing it with the camera's display.

If you have a GPS track log, HoudahGeo can also determine the photo’s location—assuming the clock settings are accurate. You may want to compare the determined location with your own recollection.

Note: The "photo time" option is unavailable for photos that already contain time zone information. In such cases, HoudahGeo assumes the camera's timestamp is correct. To override this, click the "time zone badge" button, represented by a clock and a globe.

2. Camera Time Zone and Clock Error

If you remember how you set your camera clock, you can provide that information to HoudahGeo. For example, if your camera was set to your home time zone, select that as the camera’s time zone.

Next, adjust either the current camera time or the clock error until the camera time in HoudahGeo matches the date and time displayed on your camera. Clock error is the number of seconds your camera clock runs fast (ahead of the actual time).The camera clock in HoudahGeo will pause while you enter a value. Once confirmed, it will resume running in sync with your camera's clock.

HoudahGeo will use these settings to compute the photo time for the selected image. You may also adjust the photo’s time zone to reflect the local time at the location where it was taken. Comparing this with your recollection can help ensure accuracy.

If you've imported a GPS track log, HoudahGeo will also determine the photo's location for verification.

3. Photo Location

If you have a GPS track log, you can load it into the Camera Setup window. Then, select a photo for which you know the exact location and indicate that spot in HoudahGeo. Click a point on the track log displayed on the map, then click the camera button in the popup that appears to confirm your selection.

HoudahGeo will determine the time you were at the selected location and adjust the photo time accordingly.

This method is less precise than the previous two. If you lingered at the location, HoudahGeo cannot tell if the photo was taken immediately upon arrival or later

  • Check other photos to see how their times and locations were affected based on your selection.
  • Use the Photo Time or Camera Clock settings to fine-tune positions.

Additional Notes & Best Practices

  • Camera clock settings apply to the entire project. HoudahGeo assumes that all photos were taken with the same camera and that no adjustments were made to the camera clock between shots.
  • Some photos may already include time zone information. This is common for smartphone photos or images that have been processed in HoudahGeo before. By default, HoudahGeo trusts these timestamps and does not apply camera clock corrections.

Knowing these principles, you can:

  • Mix photos from your digital camera and iPhone within the same project. HoudahGeo will adjust timestamps only for the digital camera photos while allowing iPhone photos to serve as reference points for determining the locations of other images.
  • Combine photos from multiple cameras by processing each set separately. Complete a first pass to add time zone information for the photos from each camera before continuing with the overall project.

Overriding Time Zone Information

At the bottom of the Camera Setup window, you will find a setting to Override time zone information included in photo metadata. This setting is off by default, meaning that HoudahGeo does not apply camera clock time zone or clock error corrections to photos that already include time zone information.

If needed, you can check this option to ignore existing time zone data and apply camera clock settings to all photos, including those with existing time zone data. This can be useful if incorrect time zone information was previously written to the photo metadata.

Displaying Local Photo Times in HoudahGeo

When you load your photos into a HoudahGeo project, you may need to use the Camera Setup window to correct clock errors and specify how your camera clock was set. The camera time zone helps HoudahGeo determine the exact moment a photo was taken, even if the camera didn’t record time zone information.

However, what matters most to you is likely the local time when the photo was taken. In the Camera Setup window, you may have specified a photo time, allowing HoudahGeo to calculate the correct camera clock settings and adjust the timestamps for all photos and videos in your project accordingly.

To ensure you see the local photo times while working, you can adjust the Display Time Zone setting. This controls how HoudahGeo presents timestamps for photos and GPS track logs but does not modify the actual times stored in the image files or affect automatic geocoding.

You can set the display time zone using the View > Display Time Zone menu, ensuring all photo and track log times appear in the local time of the location where the photos were taken.

  • Camera clock setup modifies the timestamps on your photos and videos, allowing them to be matched with a GPS track log.
  • Display time zone does not modify the timestamps. It only affects how the date and time are shown.

HoudahGeo Project Window

The HoudahGeo project window is divided into three sections:

Map

The map allows you to check locations assigned by automatic geocoding and manually assign locations to photos.

Map Controls above the Map

  • Toggle between standard and satellite views.
  • Zoom in / out buttons.
  • Search field to find locations in Apple's online catalog and your saved Places.

When you select a Place from the search results:

  • The map moves to the location.
  • A purple pin marks the Place.

Map Settings below the Map

  • Display Settings
    • Show All Photos – Displays location pins for all geocoded photos or limit to selected photos.
      • Red pin – selected photos.
      • Subdued red pin – other geocoded photos.
    • Show All Tracks – Displays all GPS track logs or limit to the selected track logs.
    • Show All Waypoints – Displays all GPS waypoints or limit to selected waypoints.
      • Blue pin – selected waypoints.
      • Subdued blue pin – other waypoints.
  • Behavior Settings
    • Proceed to Next Photo After Setting Location – Moves to the next photo after assigning a location.
    • Automatically Center Map on Selected Photo – Centers the map on the photo's location when selected.

Click a photo or waypoint pin to select it. The pin will display a callout with the name of the selected photo or waypoint. Use the target button in the callout to center the map on the pin.

Click a point on a track log to drop a pin. The callout will display the location coordinates and the time you passed that location.

Map Menu Buttons to the Left

  • Reveal – Show the current map location in a different application or mapping service.
  • Places – Navigate to one of your saved Places.

Map Action Buttons to the Right

  • Apply Place to Photo
    • Available when a Place is selected.
    • Assigns the Place’s location & metadata (e.g., City, Country) to a photo.
  • Set Photo Location
    • Assigns the map center coordinates (marked by crosshairs) to the selected photo.
    • With the appropriate option enabled, HoudahGeo will automatically move to the next photo for easy incremental geocoding.
  • Center Map on Photo – Centers the map on the selected photo’s location.

Working with the Map

The map allows for several manual geocoding workflows including:

  • Drag-and-Drop – Drag a photo from the list onto the map.
  • Incremental Geocoding
    1. Center the crosshairs on a location.
    2. Apply the location to the selected photos.
    3. Move to the next photo.
    4. Adjust the map for distance traveled, and apply the new location.
  • Using Saved Places
    1. Select a saved Place from the menu or from search results.
    2. Apply its location and metadata to multiple photos.

List

The list section in HoudahGeo contains three tabs:

  • Photos: Displays a list of still images and videos.
  • Track Logs: Shows recorded GPS track logs.
  • Waypoints: Lists waypoints recorded by your GPS device.

Each list can be sorted by clicking column headers. Additionally, a menu button above each list allows you to configure sorting options.

List and Grid Views

The Photos list can be displayed in either list view or grid view:

  • List View: Displays photos in a traditional table format with sortable columns.
  • Grid View: Shows photo thumbnails. Use the slider next to the sort button or pinch gestures to zoom in or out.

Customization Options

Additional display settings can be adjusted in the View menu. Many of these options apply across the entire project window, including:

  • Configuring the display time zone.
  • Setting measurement preferences.

For the Photos grid view, you can choose to display timestamps below each photo. In list view, you can configure which columns HoudahGeo should display.

Photo Indicators

  • Photos missing location data are marked with red text.
  • Photos may be flagged if their location coordinates need to be written to EXIF/XMP metadata. HoudahGeo automatically flags photos where location coordinates have been modified or differ between EXIF/XMP metadata and media library data on import.
  • Photos imported with time zone information display a time zone badge (a globe with a clock icon) next to the timestamp.

By default, camera clock settings do not apply to photos with embedded time zone data. You can click the time zone badge to toggle this setting for individual photos.

All dates and times are shown using the display time zone. This allows you to compare photo timestamps with the start and end times of recorded track logs to ensure the photo timestamps fall within the GPS recording timeframe.

Inspector

The Inspector displays details about the currently selected photos. The information is organized into three tabs.

1. File Information

The name of the photo can either be the file name or a name obtained from your media library. When working with Apple Photos, this is the title you assigned in the Photos application.

A photo can have two original file paths: a primary and an alternate. This applies to JPEG + RAW pairs, where the same photo exists in two formats. HoudahGeo allows you to process both as one and assign the same location data to both.

If a photo is imported from a media library, it may be linked to a preview file. HoudahGeo uses this preview to display the image, as it often includes adjustments you made in your editing software.

You can click any of the three file paths to reveal the corresponding file in Finder.

2. Location Information

This tab displays location details and related metadata, including the photo's timestamp, which is crucial for geocoding using GPS data.

The timestamp is expressed in the display time zone. Photos imported with time zone information display a time zone badge (a globe with a clock icon) next to the timestamp. By default, camera clock settings do not apply to photos with embedded time zone data. You can click the time zone badge to toggle this setting for individual photos.

You can use the waypoints pop-up menu to link a photo to a waypoint recorded by your GPS device.

HoudahGeo calculates a photo’s viewing direction using two parameters: heading and view offset.

  • Heading: Typically obtained from your GPS device. The device may use a built-in compass or compute heading from successive track log entries.
  • View Offset: Adjust this value when a photo is taken in a direction different from the heading, such as when photographing out of a side window of a moving car or plane.

3. Other Metadata

HoudahGeo allows you to add titles, descriptions, keywords, and copyright information to your photos.

While editing keywords, HoudahGeo suggests previously used keywords from your current project to maintain consistency.

Inspector Navigation

At the top of the Inspector pane, there are two arrow buttons for navigating between photos while keeping the Inspector focused on the input field.

While editing a photo's description, you can use the navigation buttons to select the next photo. HoudahGeo will automatically place the insertion point in the description field of the newly selected photo, allowing you to continue entering descriptions seamlessly.

Alternatively, you can use the Photos > Select Next and Photos > Select Previous menu items or their respective keyboard shortcuts.

Flagged Photos

HoudahGeo automatically flags photos where:

These flagged photos typically require writing EXIF/XMP metadata.

You can manually toggle the flag on photos using the Photos > Flag Photo and Photos > Clear Flag menu options.

In the photos grid view, click the flag button on a photo thumbnail to toggle its state.

Geocoding

Geocoding is the process of determining where a photo was taken. HoudahGeo offers multiple ways to accomplish this:

Using a GPS Track Log

Geocoding with a GPS track log is the easiest and often the most accurate way to assign locations to photos and videos.

  1. Record a GPS track log using a dedicated GPS logger or a smartphone app while taking photos.
  2. Load the track log into HoudahGeo. HoudahGeo prefers GPX files but supports a wide range of formats.
  3. Load your photos into HoudahGeo.
  4. If prompted, provide HoudahGeo with your camera clock settings to ensure accurate timestamp matching.

HoudahGeo automatically matches your photos to the GPS track log and geocodes any photos lacking location data.

Use the map in HoudahGeo to review photo locations.

  • If GPS geocoding produces unexpected results, verify that your camera clock settings are accurate.
  • If HoudahGeo cannot determine a photo’s location, check its timestamp against the start and end times of your track logs as displayed in HoudahGeo. The GPS device may have lost signal, causing gaps in the recording. Alternatively, an incorrect camera clock setting—such as the wrong year—could result in a mismatch.

Geocoding Options

You can rerun geocoding or geocode photos that already have location data by selecting Process > Geocode using GPS data… from the menu.

Here, you can configure automatic geocoding options. Whenever possible, HoudahGeo performs track log geocoding by checking the recorded track log for the entries immediately before and after a photo’s timestamp. It then interpolates the route between these points to determine where the photo was taken.

HoudahGeo can fall back to waypoint geocoding. Many GPS devices allow you to record waypoints—saving the current time and location when instructed. Waypoint geocoding assigns photos to the recorded waypoint closest in time. For example, if you stop at a scenic overlook and manually log a waypoint, all photos taken there will be assigned that exact location. This is useful when precise movement tracking isn’t necessary.

You can choose which location properties HoudahGeo retrieves from your GPS track log. By default, it updates coordinates, altitude, speed, and heading. Some cameras use barometric pressure to measure altitude. If you prefer that over GPS-based altitude data, you can configure HoudahGeo to ignore altitude from track logs.

If you plan to adjust GPS geocoding settings, we recommend doing so before adding photos to your project. This ensures HoudahGeo does not begin automatic geocoding with the default settings before you have a chance to modify them.

Click the Advanced… button to access additional settings that control how HoudahGeo matches photos to GPS track points. For example, you can allow HoudahGeo to assign a location to a photo taken just before track recording started. The advanced settings window explains each option and its default values.

Using Reference Photos

Geocoding from reference photos copies location information from one photo to others taken within the same time frame. This is useful when using a GPS-enabled camera or smartphone alongside a regular digital camera that lacks GPS.

  1. Take at least one photo per location using a GPS-enabled camera or smartphone.
  2. Capture additional photos using your regular digital camera.
  3. Load both sets of photos into the same HoudahGeo project.
  4. Select the photos you want to geocode.
  5. Choose Process > Geocode from Reference Photos… from the menu.

You will then be presented with options for the geocoding process:

  • Selected photos only: Check this box to add location information only to selected photos.
  • Reference photo positioning: Specify whether reference photos should always precede, always follow, or simply be taken within the same time frame as the photos you want to tag. You can achieve more precise geocoding by following a consistent workflow—either taking a reference photo upon arrival at a location or just before leaving.
  • Maximum time gap: Set the maximum time allowed between photos taken at the same location. Location data propagates from a reference photo to the nearest image and continues until HoudahGeo detects a time gap large enough to assume a location change. By default, HoudahGeo assumes that after 10 minutes without taking a photo, you have moved to a different spot.

HoudahGeo assumes that all photos in a project share the same camera clock settings. By default, it also assumes that timestamps on photos containing time zone information are correct and do not require further adjustment.

This is typically true for smartphone photos. You can therefore mix digital camera and smartphone photos within a project, specify camera clock settings for your digital camera only, and let HoudahGeo use smartphone photos as location references.

If your reference camera does not include time zone information, ensure that both cameras share the same clock settings.

Alternatively, you can pre-process reference photos to include corrected timestamps and time zone data. First, load the reference photos into an empty HoudahGeo project, adjust the camera clock settings, and then export the corrected timestamp and time zone to EXIF/XMP metadata.

Using the Map

The map in HoudahGeo displays the locations of geocoded photos, waypoints, and recorded track logs.

You can use the map to adjust the locations of geocoded photos. Simply move the red pin representing a photo to a new location. Click and hold the pin to pick it up, then drop it at the correct spot.

HoudahGeo marks the center of the map with crosshairs, which serve as the current geocoding target. You can place selected photos at this location by clicking the Set Photo Location button. To choose a different location, move the map or use the search feature. Alternatively, you can drag and drop the crosshairs to reposition the map on the new target location.

Incremental Geocoding Workflow

Manually geocoding a long list of photos can be daunting, but HoudahGeo makes it quick and efficient. Follow this workflow to streamline the process.

The key is that the distance traveled between two photos is often short and easy to retrace. Once you've determined the location of the first photo, you only need to make small adjustments for subsequent photos—just a slight map adjustment and a click for each one.

Start by adjusting the following settings from the Map menu:

  • Disable the option to Show All Photos.
  • Enable the behavior option to Proceed to Next Photo After Setting Location.
  • Enable the behavior option to Automatically Center Map on Selected Photo.
  1. Select the first photo in your project. If it already has coordinates, the map will jump to that location.
  2. Drag the map or crosshairs to fine-tune the location.
  3. Click the Set Photo Location button to apply the new location to the photo.
  4. HoudahGeo will then automatically select the next photo in your project.
  5. If the next photo lacks location data, HoudahGeo will keep the map centered on the previous location.
  6. Adjust the map to reflect the distance traveled between the two photos.
  7. Click Set Photo Location again to assign the new location to the current photo.
  8. Repeat these steps to geocode a series of photos with incremental adjustments.

Drag-and-Drop Geocoding

If you know where specific photos were taken, you can geocode them by simply dragging photos from the list or grid view and dropping them onto their respective locations on the map.

You can drop multiple photos at once if they were taken at the same location. You can also fine-tune placements by moving individual pins.

Copying Location Coordinates

You can combine options to center the map on a geocoded photo’s location and set that location for other photos to transfer coordinates between photos taken at the same place. This method is useful when slight incremental adjustments are needed between photos.

However, if you need to apply the exact coordinates from one photo to another, it’s better to use the menu options Photos > Copy Coordinates and Photos > Paste Coordinates.

Map Search

The search field above the map allows you to find locations by name or address. Use this to quickly center the map on a specific spot before applying it to photos or to get the map to the general vicinity where you want to use incremental or drag-and-drop geocoding.

The Places menu and search field can also locate and select previously configured Places. Once a Place is selected, you have the option to Apply Place to Photo, which copies its configured properties—possibly including location coordinates—to the selected photos.

Geocoding using Google Earth

If Google Earth provides better imagery than Apple Maps for a specific location, you can use it to assign locations to photos in your HoudahGeo project.

To begin, select Process > Geocode using Google Earth. HoudahGeo will launch the Google Earth Pro desktop application.

HoudahGeo will load a temporary place into Google Earth, displaying crosshairs on the map.

A floating HoudahGeo window will appear in front of Google, featuring familiar map geocoding controls. This window includes a preview of the selected photo, navigation buttons for browsing photos, and real-time location coordinates for both the Google Earth crosshairs and the selected photo.

As with incremental geocoding, you can use the Set Photo Location and Center Map on Photo options for precise geotagging.

Manual Waypoint Geocoding

Many GPS devices allow you to record waypoints, capturing the current time and location with the press of a button to mark a specific spot.

In HoudahGeo, you can link photos to previously imported waypoints using the Waypoint pop-up menu in the Inspector. When linked, HoudahGeo copies the waypoint's location coordinates, altitude, heading, speed, and water depth to the selected photos.

Lift & Stamp Metadata

HoudahGeo provides tools to copy and apply location coordinates and metadata between photos efficiently.

Copying Location Coordinates

Use the menu items Photos > Copy Coordinates and Photos > Paste Coordinates to transfer latitude and longitude from one photo to others taken at the same location.

Copying and Stamping Metadata

The menu item Photos > Lift Metadata allows you to copy additional metadata—such as location name, title, and description—from one photo and apply it to others.

After lifting metadata, a floating window appears, displaying the copied information. Here, you can select which properties to transfer. For example, you can choose to copy only the photo’s keywords.

To apply the metadata:

  1. Select the photos where you want to apply the lifted metadata.
  2. Click Stamp Selected Photo or choose Photos > Stamp Metadata to apply the selected values.

Places

The Places window allows you to manage a list of favorite locations. Your saved Places appear in the Places menu and can also be found using the map search field.

In HoudahGeo, Places are more than just bookmarked locations — they store additional properties similar to a photo's metadata. Each property, including location coordinates, is optional.

For each property, you can decide whether it should be copied to photos when applying the Place. This makes a Place function like a customizable stamp that can be reused across photos and projects.

Managing Places

To open the Places window, select Window > Places from the menu.

The left panel lists your saved Places. You can drag and drop entries to rearrange them or create groups for better organization.

Selecting a group reveals options in the main panel, including the ability to Omit Places from Menus and Search Results. With this option selected, places included in the group will not show in the main HoudahGeo window. You can use this option to prevent Places from past trips to clutter your current project.

When you select a Place, its properties appear in the main panel. A green pin marks its location on the map. You can move this pin to update the coordinates. To assign a location to a Place, center the map on the desired spot and click Set Location in the toolbar.

All properties are optional. A Place does not necessarily have location coordinates. Note however that only places with location coordinates can show a pin on the map in the main window.

Each property has a checkbox next to it. Checking a box ensures that the property is copied to photos when the Place is applied. For example, you could create a Place named "Home" that applies only the location name and address while leaving the exact coordinates unchanged.

Using Places

To apply a Place to one or more photos:

  1. Select the photos in your HoudahGeo project.
  2. Choose the desired Place from the Places menu.
  3. The map will display a purple pin marking the Place’s coordinates.
  4. To use the Place only as a reference, you can proceed with manual geocoding.
  5. To apply the Place’s saved properties to the selected photos, click Apply Place to Photo below the map.

Clicking the purple pin opens a callout. From there, clicking the target button centers the map on the pin's location. This allows you to apply the coordinates to a photo without copying the Place’s other properties.

You can also use the search field above the map to find and select a Place. This action centers and zooms the map on its coordinates, making both Apply Place to Photo and Set Photo Location immediately applicable.

Recommended GPS Devices

One major advantage of using a dedicated GPS device is that track logging won’t drain your phone’s battery.

Track logging is available in dedicated GPS loggers and some handheld GPS receivers. However, most car navigation devices do not support track logging.

While it's difficult to recommend a specific device, here are the key features to look for in a GPS track logger:

Additional Metadata

The Inspector panel lets you edit photo metadata that goes beyond what you can get from bare geocoding.

Altitude Lookup

Some GPS devices include altitude data in track logs. To determine altitude, a GPS device needs data from at least four satellites. In some situations, your GPS device may be able to determine your position but lack sufficient data for an accurate elevation reading.

Some cameras use a barometric altimeter to measure altitude based on atmospheric pressure. However, atmospheric pressure fluctuates due to weather changes, which can affect accuracy. To ensure precise altitude readings, you need to calibrate the altimeter at a location with a known elevation.

With Process > Altitude Lookup…, HoudahGeo can determine the altitude at photo locations using the GeoNames.org SRTM3 (Shuttle Radar Topography Mission) web service. SRTM data was collected during an 11-day Space Shuttle Endeavour mission in February 2000 and covers land areas between 60°N and 56°S. The dataset provides altitude information at 3-arc-second (approximately 90-meter) intervals on a latitude/longitude grid.

Altitude lookup works with Geocoded photos. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display how many photos it will process.

You may want to select only photos lacking an altitude value. Where you don't trust the readings of your camera or GPS device, you can instead decide to process all geocode photos and replace the existing altitude values.

Reverse Geocoding

In addition to latitude and longitude coordinates, a photo’s location can include details such as the location name, city, province or state, country, and the country's ISO code.

Address components can be automatically determined from location coordinates through a process called reverse geocoding. To start, select Process > Reverse Geocode….

HoudahGeo offers several reverse geocoding services, each with its own strengths and limitations:

  • HoudahGeo (offline, fastest) – Requires an initial download of a GeoNames.org dataset. Determines the nearest known city center but does not account for city size or shape.
  • GeoNames – Similar to HoudahGeo’s offline service but includes a Local language option that matches the language of the photo’s location.
  • Apple Core Location – Uses Apple's mapping server but is heavily rate-limited. Available only with the Preferred language option, which matches your system language.
  • OpenCage – Uses OpenStreetMap and GeoNames data but is also subject to rate limits.

Reverse geocoding may not be as useful or important as it first seems. City, province, and country names are not always unique. The same city may have multiple names in different languages, which can make searching for photos more complex.

For this reason, many photo cataloging tools ignore reverse geocoding information. Instead, when searching for photos by location, they first convert your search input into coordinates and then find photos taken nearby.

Depending on your workflow, you may decide to skip reverse geocoding altogether.

Location names are a highly personal aspect of photo metadata. They can vary based on context and personal preference. For example, you might label a location as "Home" or "Grandparents’ house," while in other cases, you may prefer an address, the name of a nearby landmark, or even a notable feature within the view.

In professional settings, location names may serve a specific purpose. For instance, in real estate photography, a location might be labeled "Patio Area," while in engineering documentation, it could be "Upstream Side" to describe a bridge inspection.

Because of this subjectivity, HoudahGeo does not automatically generate location names through reverse geocoding. Instead, you can manually assign meaningful names or use saved Places to streamline the process.

Adding Dive Log Data

Dive log data can provide valuable context for your underwater photos. HoudahGeo allows you to record details such as Water Temperature and Water Depth. Note that Temperature in photo metadata may refer to either the weather or the water temperature at the dive site.

To apply scuba dive log data, use Process > Update from Dive Log File…. HoudahGeo supports GPX files (with TrackPointExtension) and UDDF log files.

For accurate matching, HoudahGeo needs to know the time zone used in the dive log. Based on this information, it will display the log's start and end dates for verification.

Select the photos you want to update and choose which details to add or override using values from the log file. Dive logs may include some of the same information available from GPS track logs. If you used both a GPS track logger and a dive computer, you can decide which data should take precedence.

Adding Weather Information

Weather conditions can provide valuable context for your photos. HoudahGeo allows you to record details such as Temperature, Ambient Humidity, and Atmospheric Pressure.

To apply weather data, use Process > Update from Weather Data File…. HoudahGeo supports GPX files (with TrackPointExtension) and Kestrel CSV weather log files.

For accurate matching, HoudahGeo needs to know the time zone used in the weather log. Based on this information, it will display the log's start and end dates for verification.

Select the photos you want to update and choose which weather attributes to add or override with values from the log file.

Descriptions and Keywords

You can add a Title and Description to your photos to provide valuable context and make them easier to find in your photo management tool.

Use Keywords to organize your photos effectively. As you type, HoudahGeo suggests keywords previously used in your project, helping maintain consistency.

Additionally, consider including the Creator name and Copyright information to establish ownership of your work.

Output

After compiling location data for your images and videos, you can export the updated information from your HoudahGeo project.

EXIF/XMP Geotagging

Your HoudahGeo project serves as your workspace for creating and fine-tuning location metadata.

Once your data is complete, you should export it as EXIF/XMP metadata. This process, known as geotagging, permanently embeds location information into image and video files using industry standards. While GPS-enabled cameras geotag photos as they are captured, HoudahGeo applies the same metadata tags to ensure compatibility with a wide range of photo cataloging and publishing tools.

Writing EXIF/XMP/IPTC tags to image files requires modifying the files. While the process is lossless and does not affect image quality, modifying files always carries some risk. We strongly recommend keeping backup copies.

Geotagging requires temporary disk space. We strongly advise against tagging files stored on memory cards, as this process is significantly slower and may lead to file corruption if storage space runs out.

HoudahGeo supports JPEG, a wide range of RAW formats, and many video file formats. Please use the demo period to confirm compatibility with the file formats produced by your camera.

Exporting EXIF/XMP Metadata

To begin, select Output > EXIF/XMP Export… from the menu.

Choose which photos to export: All, Geocoded, or Flagged. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display how many photos it will process.

In demo mode, HoudahGeo will export only 5 photos at a time.

When working with JPEG + RAW pairs, HoudahGeo can update Both Originals, or you can choose to process only Main Originals or Alternate Originals.

Enable Create Copies if you prefer HoudahGeo to create and tag duplicates instead of modifying the original files. This is useful when you don't have a backup or want to test the metadata export process.

Choose how HoudahGeo handles sidecar files. You can configure a separate behavior for each file type: JPEG, RAW, and video.

  • Write to Photo File. Ignore Sidecar – Adds metadata directly to the photo file, even if a .xmp sidecar file is present. (Default for JPEGs.)
  • Write to Sidecar if Present – Updates an existing .xmp sidecar file but writes directly to the photo file if no sidecar is found. (Default for RAW files.)
  • Create Sidecar if Missing – Writes metadata to an .xmp sidecar file and creates one if needed.

Sidecar files are primarily used for unsupported formats or when avoiding modification of original files. However, embedding metadata directly in the photo ensures it remains with the image and cannot be accidentally separated.

For best compatibility, we recommend using your photo management tool to generate sidecar files rather than having HoudahGeo create them.

Select which metadata properties HoudahGeo should write to EXIF/XMP. This can include attributes you edited within HoudahGeo or metadata imported from your media library. For example, if you added titles or keywords in Apple Photos, HoudahGeo will have imported this information into your project and can now write it into the files.

Since HoudahGeo can determine the exact time you took your photos, it is recommended to write corrected timestamps. Choose the time zone for storing timestamps, as some tools ignore time zone data. The most natural choice is to use the time zone in effect at the photo location. This ensures that timestamps appear as local time (e.g., a photo taken at noon will have a 12 PM timestamp).

When working with the Apple Photos library, enable Notify Photos Library for HoudahGeo to automatically notify Photos once the EXIF/XMP export is complete. You will have the opportunity to adjust settings, and HoudahGeo will retain your selected photos.

When working with photos from the Apple Photos library, you can tick the Notify Photos Library for HoudahGeo to automatically move on to notifying the Photos library once EXIF/XMP export is completed. You will get the opportunity to adjust settings, but HoudahGeo will already have carried over your photos selection.

Note: This option is not available when exporting to copies instead of modifying original files.

Apple Photos and iCloud Photos Considerations:

  • Original images must be stored locally on your Mac to be tagged. If “Optimize Mac Storage” is enabled, Apple Photos may only keep recently used images available.
  • Apple Photos does not sync EXIF/XMP metadata changes to iCloud. Any edits will exist only on your Mac. If the geotagged file is removed, iCloud may download the original, untagged version.
  • To ensure your photos are geotagged before iCloud uploads them, process them with HoudahGeo before adding them to the Apple Photos library.

Use Apple’s Image Capture or HoudahGeo’s Camera Import feature to transfer photos to your Mac. Then process them in HoudahGeo before importing them into Apple Photos for iCloud upload.

Apple Photos Library

After geocoding your photos and enhancing their metadata — and optionally writing these changes to EXIF/XMP — you can pass the updates on to the Apple Photos library.

The option to notify the Apple Photos library is available when working with photos managed by Apple Photos. HoudahGeo must be able to locate the photos within the library, and it learns this during the import process:

  • Using the HoudahGeo Media Browser available from the Load menu.
  • Using Load > Add Items from Apple Photos Selection to import photos currently selected in the Photos application.
  • Dragging and dropping photos directly from the Photos application into HoudahGeo.

Notifying the Apple Photos Library

To begin, select Output > Notify Photos Library… from the menu.

Choose which photos to update: All or Geocoded. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display how many photos it will process.

In demo mode, HoudahGeo will update only 5 photos at a time.

Next, select which metadata properties HoudahGeo should update in the Photos library.

HoudahGeo must work in coordination with the Apple Photos application. Make sure the Photos application is using the library that contains the photos you are updating.

In some cases, HoudahGeo may launch the Photos application in the background to complete the update process.

Google Earth Export

Google Earth is a powerful tool for exploring — and showing off — your photos as “balloons” pinned to the locations where they were taken. Add a GPS track log, and you get a bird’s-eye view of your trip, complete with the stops where each photo was captured.

Photo viewing in Google Earth isn't limited to vacation memories. For example, a real estate agent could create a Google Earth file featuring property photos. Prospective buyers can download the file and explore the property and surrounding neighborhood — viewing the exact vantage points from which the photos were taken.

With HoudahGeo, preparing your geotagged photos and GPS track logs for Google Earth is easy. You can export immediately after geocoding your photos in HoudahGeo, or load previously geotagged images — possibly from a GPS-enabled camera or smartphone — into a new HoudahGeo project just for exporting. Adding a GPS track log allows Google Earth to visualize the route traveled between shots.

Export Geotagged Photos for Viewing in Google Earth

To begin, select Output > Google Earth Export… from the menu.

Choose which photos to export: Geocoded Images or Geocoded Images & Videos. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display how many photos will be included in the export.

In demo mode, HoudahGeo will export only 5 photos at a time.

Next, choose a title for your Google Earth document. HoudahGeo defaults to using the name of your current project.

Select a template for the Google Earth file. HoudahGeo includes two built-in templates:

  • Default – Displays both photos and, if available, a track log route.
  • Extended Track Info – Includes additional track data such as a bounding box and timeline. This produces larger files.

Use the Manage Templates… option to manage custom templates in HoudahGeo settings.

Select an option for altitude mode:

Choose an altitude mode for positioning your photos in Google Earth:

  • Clamp to Ground – Assumes photos were taken at ground level.
  • Absolute – Uses the altitude data from the geotagged photos. Only recommended if your photos contain accurate altitude values. Photos may not display if the recorded altitude is below Google Earth’s ground level.

When a marker is clicked in Google Earth, a preview of the corresponding photo will be shown. You can choose different sizes for these previews. If file size is a concern, select a smaller preview size.

HoudahGeo also offers the option to use still images in place of video files. Since Google Earth has limited support for videos — and the compressed KMZ format cannot embed them — HoudahGeo always substitutes a video still when exporting to KMZ. This option is not available when exporting only images.

By default, markers will indicate photo positions. Optionally, you can use thumbnail images as markers instead of standard "camera" pushpins.

HoudahGeo can include relevant sections of your GPS track log. Define how many minutes before the first photo and after the last photo the track log should extend.

Choose an export format and destination:

  • Google Earth KMZ file: A compressed file that contains the all information needed for Google Earth to show photos and track logs. This includes photo files and thumbnails.
  • Absolute: The use of absolute altitude makes sense only if your images have been geocoded with altitude information. There is a risk of images not showing in Google Earth if they are tagged with an altitude below what Google Earth knows as ground level.
  • Google Earth KMZ File – A compressed archive containing everything Google Earth needs to display your photos and track logs, including images and thumbnails. Ideal for sharing with clients, friends, or family.
  • Local Folder – Creates a folder with the same contents as a KMZ file. Includes a KML file that you can open in Google Earth. Use this option if you plan to manually edit the KML.
  • Web Server – Creates a folder designed for uploading to a web server. You must specify the URL where the folder will be hosted so HoudahGeo can correctly link thumbnails in the KML. Once uploaded, you can share the KML file. Google My Maps supports KML files up to 5MB and limits the number of map elements, so large projects may need to be split.
  • Publish to Dropbox – Uploads a folder with the KML file and supporting content to your Dropbox. This is the simplest way to share your project and integrate it with Google My Maps.

Custom KML Template

When exporting your photos for viewing in Google Earth or Google Maps, HoudahGeo creates a KML file using one of two built-in templates: Default or Extended Track Info. The latter includes more detail and produces larger files, making the Default template more suitable for Google Maps.

There are several reasons why you might want to customize a KML template:

  • Modify the appearance or contents of the photo balloons.
  • Customize the style of track logs or photo pins.
  • Add branding or contact information.

Template customization is an advanced feature. A basic understanding of HTML, XML, the Google Earth Keyhole Markup Language (KML), and the Mustache template system is required.

Managing KML Templates

To access KML templates, go to HoudahGeo > Settings… and open the KML Templates tab.

Select one of the existing templates and click the “+” (plus) button to duplicate it. You can then give your new template a custom name.

To edit a template, select it in the list. Built-in templates are marked with a padlock icon and cannot be modified.

Click Reveal in Finder to access the template files. Most templates consist of a single doc.mustache file. Open this file in a plain text editor like BBEdit or TextMate to begin editing.

Editing the Mustache Template File

Mustache templates use tags to insert or manipulate data. HoudahGeo uses the following tag types:

  • Variables – Example: {{caption}}. Replaced by a value provided by HoudahGeo. Variables are HTML-escaped by default. Use triple braces {{{identifier}}} for unescaped HTML output.
  • Sections – Example: {{#photos}} ... {{/photos}}. The enclosed block is repeated for each element. For instance, creating a placemark for each photo. Within the section, variables can refer to attributes of the current iteration item. The {{label}} variable, for example, is replaced by the name of the current photo.
  • Conditionals – Also use the section syntax. The block is rendered only if the corresponding value exists and is not empty. Example: {{#localizedAltitude}} <tr><td><b>{{localizedAltitudeLabel}}</b>:</td><td>{{.}}</td> </tr> {{/localizedAltitude}} Here, {{.}} refers to the value of localizedAltitude. The HTML table row is created only if altitude information is available.
  • Inverted Conditionals – Example: {{^thumbnailImageHref}} ... {{/thumbnailImageHref}}. Rendered only when the value is missing or empty.
  • Comments – Example: {{! Global keys: }}. Used for notes; not included in the output.

HoudahGeo provides the following values to the KML template system:

  • Global properties:
    • altitudeMode (clampToGround or absolute)
    • caption (as entered in export options)
    • pathPrefix (as entered in export options)
    • userFirstName
    • userLastName
    • userFullName
    • houdahGeoLogoSrc (path or URL to the HoudahGeo app icon)
    • houdahGeoVersion
  • Labels (Localized Strings):
    • localizedNameLabel
    • localizedTimestampLabel
    • localizedLatitudeLabel
    • localizedLongitudeLabel
    • localizedAltitudeLabel
    • localizedHeadingLabel
    • localizedViewOffsetLabel
    • localizedViewingDirectionLabel
    • localizedSpeedLabel
    • localizedDepthLabel
    • localizedLocationLabel
    • localizedCityLabel
    • localizedProvinceLabel
    • localizedCountryLabel
    • localizedCountryCodeLabel
    • localizedAmbientHumidityLabel
    • localizedAmbientPressureLabel
    • localizedAmbientTemperatureLabel
    • localizedTitleLabel
    • localizedDescriptionLabel
    • localizedKeywordsLabel
    • localizedCreatorLabel
    • localizedCopyrightLabel
  • Timestamps:
    • minTimestampValue (date and time of the first photo)
    • localizedMinTimestamp (same as text expressed using the display time zone)
    • w3cMinTimestamp (same in W3C format: yyyy-MM-dd’T’HH:mm:ss’Z’)
    • gmtMinTimestamp (same expressed in GMT time: yyyy-MM-dd’ ‘HH:mm:ss’Z’)
    • maxTimestampValue (date and time of the last photo)
    • localizedMaxTimestamp
    • w3cMaxTimestamp
    • gmtMaxTimestamp
    • nowTimestampValue (current date and time)
    • localizedNowTimestamp
    • w3cNowTimestamp
    • gmtNowTimestamp
  • Initial Values (First Photo):
    • initialLatitudeValue (latitude of the first photo as number value)
    • initialLocalizedLatitude (as text using local number formatting)
    • initialLatitude (as text using US-POSIX number formatting)
    • initialLongitudeValue (longitude of the first photo as number value)
    • initialLocalizedLongitude
    • initialLongitude
    • initialAltitudeValue (in meters)
    • initialLocalizedAltitude (as text using the selected altitude unit)
    • initialAltitude
  • Sections:
    • photos (see below)
    • tracks (see below)
    • tracks? (flag set if track export was enabled)

For each entry in photos, HoudahGeo provides:

  • Properties:
    • identifier(value for Placemark id)
    • name
    • isImage
    • isVideo
  • Timestamp:
    • timestampValue (date and time of the photo as date value)
    • localizedTimestamp (same as text expressed using the display time zone)
    • w3cTimestamp (same in W3C format: yyyy-MM-dd’T’HH:mm:ss’Z’)
    • gmtTimestamp (same expressed in GMT time: yyyy-MM-dd’ ‘HH:mm:ss’Z’)
  • Location:
    • latitudeValue (as number value)
    • localizedLatitude (as text using local number formatting)
    • latitude (as text using US-POSIX number formatting)
    • longitudeValue
    • localizedLongitude
    • longitude
    • altitudeValue
    • localizedAltitude
    • altitude
    • headingValue
    • localizedHeading
    • heading
    • viewOffset
    • localizedViewOffset
    • viewOffsetValue
    • viewingDirectionValue
    • localizedViewingDirection
    • viewingDirection
    • iconHeadingValue (value for IconStyle > Heading)
    • iconHeading
    • speedValue
    • localizedSpeed
    • speed
    • depthValue
    • localizedDepth
    • depth
    • location
    • city
    • province
    • country
    • countryCode
    • ambientHumidityValue
    • localizedAmbientHumidity
    • ambientHumidity
    • ambientPressureValue
    • localizedAmbientPressure
    • ambientPressure
    • ambientTemperatureValue
    • localizedAmbientTemperature
    • ambientTemperature
  • Additional Metadata:
    • label (title entered in HoudahGeo)
    • longLabel (description entered in HoudahGeo)
    • keywords
    • creator
    • copyright
  • Images:
    • scaledImageHref (path or URL to the scaled image)
    • scaledImageSrc (same with URL escapes)
    • scaledImageWidthValue
    • scaledImageWidth
    • scaledImageHeightValue
    • scaledImageHeight
    • thumbnailImageHref (only if thumbnails are enabled)
    • thumbnailImageSrc

For each entry in tracks, HoudahGeo provides:

  • Properties:
    • name
  • Timestamps:
    • beginTimestampValue
    • endTimestampValue
  • Location:
    • minLatitudeValue
    • minLatitude
    • maxLatitudeValue
    • maxLatitude
    • minLongitudeValue
    • minLongitude
    • maxLongitudeValue
    • maxLongitude
  • Sections:
    • points (see below)

For each entry in points, HoudahGeo provides:

  • Timestamps:
    • timestampValue
    • localizedTimestamp
    • w3cTimestamp
    • gmtTimestamp
  • Location:
    • latitudeValue
    • latitude
    • longitudeValue
    • longitude
    • altitudeValue
    • altitude

CSV Export

CSV Export creates a comma-separated values file listing all images in the project. Such files can be processed by various tools and applications, including spreadsheet software. A CSV export can be especially useful when writing scripts to automate tasks such as publishing photos.

Export Project Items to CSV

To begin, select Output > CSV Export… from the menu.

Choose which photos to export: All or only Geocoded photos. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display how many photos will be included in the export.

In demo mode, HoudahGeo will export only 5 photos at a time.

Select a template for the CSV file. HoudahGeo includes one built-in template: Default.

Use the Manage Templates… option to manage custom templates in the HoudahGeo settings.

Custom CSV Template

When exporting a list of photos to a CSV file, HoudahGeo uses a template to generate the file. The built-in Default template includes columns for all available HoudahGeo properties of your photos.

There are several reasons why you might want to customize a CSV template:

  • Modify the header labels of columns in the file.
  • Use a different date and time format.
  • Use a different field separator.

Template customization is an advanced feature. A basic understanding of CSV and related file formats, as well as the Mustache template system, is required.

Managing CSV Templates

To access CSV templates, go to HoudahGeo > Settings… and open the CSV Templates tab.

Select one of the existing templates and click the “+” (plus) button to duplicate it. You can then give your new template a custom name.

To edit a template, select it in the list. Built-in templates are marked with a padlock icon and cannot be modified.

Click Reveal in Finder to access the template files. Most templates consist of a single doc.mustache file. Open this file in a plain text editor such as BBEdit or TextMate to begin editing.

Editing the Mustache Template File

Mustache templates use tags to insert or manipulate data. HoudahGeo uses the following tag types:

  • Variables – Example: {{name}}. Replaced by a value provided by HoudahGeo. Variables are HTML-escaped by default. Use triple braces {{{identifier}}} for unescaped output. Use {{{CSV.escape(name)}}} to apply proper escaping for CSV files.
  • Sections – Example: {{#photos}} ... {{/photos}}. The enclosed block is repeated for each element—typically one row per photo. Within the section, variables refer to attributes of the current item. For example, {{label}} is replaced by the name of the current photo.
  • Conditionals – Also use the section syntax. The block is rendered only if the corresponding value exists and is not empty.
  • Inverted Conditionals – Example: {{^alternateURL}} ... {{/alternateURL}}. The block is rendered only when the value is missing or empty.
  • Comments – Example: {{! Header keys: }}. These are not rendered in the output and can be used for notes.

HoudahGeo provides the following values to the CSV template system:

  • Header names (Localized Strings):
    • localizedAlternateURLLabel
    • localizedAltitudeLabel
    • localizedAmbientHumidityLabel
    • localizedAmbientPressureLabel
    • localizedAmbientTemperatureLabel
    • localizedCityLabel
    • localizedCopyrightLabel
    • localizedCountryCodeLabel
    • localizedCountryLabel
    • localizedCreatorLabel
    • localizedDepthLabel
    • localizedDescriptionLabel
    • localizedHeadingLabel
    • localizedKeywordsLabel
    • localizedLatitudeLabel
    • localizedLocationLabel
    • localizedLongitudeLabel
    • localizedMasterURLLabel
    • localizedNameLabel
    • localizedPhotoURLLabel
    • localizedPreviewURLLabel
    • localizedProvinceLabel
    • localizedSpeedLabel
    • localizedTimestampLabel
    • localizedTitleLabel
    • localizedViewingDirectionLabel
    • localizedViewOffsetLabel
  • Photo properties:
    • name
    • photoFilename
    • photoPath
    • photoURL
    • masterFilename
    • masterPath
    • masterURL
    • alternateFilename
    • alternatePath
    • alternateURL
    • previewFilename
    • previewPath
    • previewURL
    • timestampValue (date and time of the photo as date value)
    • localizedTimestamp (same as text expressed using the display time zone)
    • w3cTimestamp (same in W3C format: yyyy-MM-dd’T’HH:mm:ss’Z’)
    • gmtTimestamp (same expressed in GMT time: yyyy-MM-dd’ ‘HH:mm:ss’Z’)
    • latitudeValue (as number value)
    • localizedLatitude (as text using local number formatting)
    • latitude (as text using US-POSIX number formatting)
    • longitudeValue
    • localizedLongitude
    • longitude
    • altitudeValue
    • localizedAltitude
    • altitude
    • headingValue
    • localizedHeading
    • heading
    • viewOffsetValue
    • localizedViewOffset
    • viewOffset
    • viewingDirectionValue
    • viewingDirection
    • localizedViewingDirection
    • speedValue
    • localizedSpeed
    • speed
    • depthValue
    • localizedDepth
    • depth
    • ambientHumidity
    • ambientHumidityValue
    • localizedAmbientHumidity
    • ambientPressure
    • ambientPressureValue
    • localizedAmbientPressure
    • ambientTemperature
    • ambientTemperatureValue
    • localizedAmbientTemperature
    • location
    • city
    • province
    • country
    • countryCode
    • title
    • label
    • description
    • longLabel
    • keywords
    • creator
    • copyright

GPX Export

GPX Export creates a GPX file that contains one waypoint for each photo in the project.

The exported file can include various items from your HoudahGeo project:

  • Photos
  • Waypoints
  • Track logs

You can use GPX export to create a track log from photo locations. This is useful for retracing your steps when you don’t have an original GPS track recording. Generate a GPX track log from all your photos—including outtakes—and later use the synthesized track as the basis for a Google Earth export to show the route you traveled. While the Google Earth export may feature only your best shots, the remaining photos help build a more complete and accurate route.

Export Project Items to GPX

To begin, select Output > GPX Export… from the menu.

Choose which photos to export: All or only Geocoded photos. You can further narrow the selection by choosing specific photos in the list or grid view. HoudahGeo will display the number of photos to be included in the export.

In demo mode, HoudahGeo will export only 5 photos at a time.

Enable the Create waypoints from photos option to list your images and videos as waypoints in the GPX file. You can choose to name waypoints using the photo’s title, file name, or path.

Enable the Create track from photos option to generate a GPX track that links photo locations in chronological order, effectively creating a record of where and when you stopped along your route.

Choose whether to include imported waypoints in the export.

Decide if you want to include relevant segments of imported GPS track logs. You can define how many minutes before the first photo and after the last photo the track log should extend.

Geotagging Workflows

Photo & Video Files

  1. Optionally, drag track log files from Finder into the Track Logs or Waypoints lists of a fresh HoudahGeo project.
  2. Select Process > Geocode using GPS Data… from the menu if you'd like to check or adjust automatic geocoding parameters.
  3. Drag files or a folder from Finder into the Photos list of your HoudahGeo project.
  4. When prompted, provide Camera Setup information to allow HoudahGeo to determine the exact times you took your photos.
  5. Complete geocoding and add any additional metadata to your photos.
  6. Select Output > EXIF/XMP Export… from the menu.
  7. The recommended settings are:
    • Set HoudahGeo to tag both originals (for JPEG + RAW pairs).
    • If you do not have a backup, enable the option for HoudahGeo to create copies during export.
    • Decide how to handle XMP sidecars:
      • For maximum compatibility, choose Write to Sidecar if Present.
      • A common setup is to use XMP sidecars for RAW files and write directly to JPEG files.
      • Unless you have a specific reason to prefer sidecars, we recommend writing geotags directly to image files. This ensures the location data remains embedded and cannot be separated from the images.
    • Select all photo properties you’ve updated for writing back to the files.
  8. Once you’ve finished working on your photos, you can safely discard the HoudahGeo project file.

Important: Avoid working with files stored directly on your camera’s memory card. HoudahGeo needs to read, duplicate, and modify image and video files to add EXIF/XMP metadata. Memory cards are typically slower than your Mac’s internal storage and can suffer from excessive write operations. Additionally, limited space on the card may cause geotagging to fail.

Instead, use Apple’s Image Capture application or HoudahGeo’s Camera Import feature to transfer your photos to your Mac. This way, the original files on the memory card serve as a backup while you work with the copies.

Apple Photos

The workflow below applies when using Apple Photos locally. If you use iCloud Photos, skip to the next section.

  1. Make sure you have a current backup of your Photos library and the image and video files you will be working with.
  2. Optionally, drag track log files from Finder into the Track Logs or Waypoints lists of a fresh HoudahGeo project.
  3. Select Process > Geocode using GPS Data… from the menu if you'd like to check or adjust automatic geocoding parameters.
  4. Use Load > Show Media Browser to browse your Photos library.
  5. Drag items from the media browser into the Photos list of your HoudahGeo project.
  6. When prompted, provide Camera Setup information to allow HoudahGeo to determine the exact times you took your photos.
  7. Complete geocoding and add any additional metadata to your photos.
  8. Select Output > EXIF/XMP Export… from the menu.
  9. The recommended settings are:
    • Set HoudahGeo to tag both originals (for JPEG + RAW pairs).
    • Disable the option for HoudahGeo to create copies during export.
    • Set sidecar handling options to Write to Sidecar if Present.
    • Select all photo properties you’ve updated for writing back to the files.
    • Tick the Notify Photos Library checkbox.
  10. Use Notify Photos Library to update photo properties in the Photos library.
  11. Once you’ve finished working on your photos, you can safely discard the HoudahGeo project file.

iCloud Photos

HoudahGeo can perform two distinct tasks when working with Apple Photos:

First, it can assign locations and other metadata to photos. This information is stored in the Photos library and can be synced by iCloud Photos across your devices.

Second, HoudahGeo can write geotags directly to your original photo files. This ensures the location data remains embedded with the files themselves. However, iCloud Photos does not sync or re-upload modified files. Changes made to original files will exist only on your Mac.

Recommendation: Geotag your photos before adding them to your Photos library. This ensures the geotagged versions are uploaded to iCloud, preserving both files and metadata across devices.

To facilitate this, you can use Apple's Image Capture application or HoudahGeo’s Camera Import feature to copy photos from your camera to your Mac without immediately adding them to the Photos library.

Workflow 1: Geotagging Before Uploading to iCloud Photos

This workflow ensures that your geotagged photos can be backed up to iCloud and synced across your devices.

  1. Optionally, drag track log files from Finder into the Track Logs or Waypoints lists of a new HoudahGeo project.
  2. Select Process > Geocode using GPS Data… from the menu to review or adjust automatic geocoding settings.
  3. Use the Image Capture application to copy your images and videos to a local folder on your Mac, leaving copies on your camera as backup.
  4. Drag the files from Finder into the Photos list of your HoudahGeo project. Alternatively, you can use HoudahGeo's Camera Import feature to combine both steps into one.
  5. When prompted, provide Camera Setup information to allow HoudahGeo to determine the exact times you took your photos.
  6. Complete geocoding and add any additional metadata to your photos.
  7. Select Output > EXIF/XMP Export… from the menu.
  8. The recommended settings are:
    • Set HoudahGeo to tag both originals (for JPEG + RAW pairs).
    • If you do not have a backup, enable the option for HoudahGeo to create copies during export.
    • Decide how to handle XMP sidecars:
      • For maximum compatibility, choose Write to Sidecar if Present.
      • At this stage, there should not yet be any sidecars. Thus, the above option behaves like Write to Photo File. Ignore Sidecar.
    • Select all photo properties you’ve updated for writing back to the files.
  9. Import the geotagged photos into Apple Photos. Depending on Apple Photos settings, the application may either copy the items into its library or reference the files in their current location.
  10. Once you’ve finished working on your photos, you can safely discard the HoudahGeo project file.
  11. If you chose to copy the items to the Photos library, you can now clean up the intermediate working copies.

Workflow 2: Geocoding After Uploading to iCloud Photos

Use this workflow if you care less about writing geotags to photo files and mainly want location data to appear in your Photos library.

  1. Make sure the original images and videos you want to process are available on your Mac. If Optimize Mac Storage is enabled, Apple Photos may keep only low-resolution previews locally. Open the photos in the Apple Photos application to trigger a download.
  2. Optionally, drag track log files from Finder into the Track Logs or Waypoints lists of a fresh HoudahGeo project.
  3. Select Process > Geocode using GPS Data… from the menu if you'd like to check or adjust automatic geocoding parameters.
  4. Use Load > Show Media Browser to access your Photos library, then drag the selected images into the Photos list of your HoudahGeo project.
  5. When prompted, provide Camera Setup information to allow HoudahGeo to determine the exact times you took your photos.
  6. Complete geocoding and add any additional metadata to your photos.
  7. Select Output > Notify Photos Library from the menu to update photo properties in the Photos library.
    • Select all the photo properties you’ve updated for syncing back to the Photos library.
  8. Optionally, use Output > EXIF/XMP Export… to write metadata to original files. Keep in mind that modified files will not be re-uploaded to iCloud.
  9. The recommended settings for metadata export are:
    • Set HoudahGeo to tag both originals (for JPEG + RAW pairs).
    • Set sidecar handling options to Write to Sidecar if Present.
    • Select all photo properties you’ve updated for writing back to the files.
  10. Once you’ve finished working on your photos, you can safely discard the HoudahGeo project file.

Adobe Lightroom Classic

The workflow below applies when using Adobe Lightroom Classic. It does not apply to the cloud-based Adobe Lightroom version. HoudahGeo works only with image and video files saved locally on your Mac.

  1. If you have already added metadata in Lightroom, first instruct Lightroom to write metadata to XMP (save metadata to file) before geocoding.
  2. Ensure you have a current backup of your Lightroom catalog and the image and video files you plan to process.
  3. Optionally, drag track log files from Finder into the Track Logs or Waypoints lists of a new HoudahGeo project.
  4. Select Process > Geocode using GPS Data… from the menu if you'd like to check or adjust automatic geocoding parameters.
  5. Use Load > Show Media Browser to browse your Lightroom Classic catalog.
  6. Drag items from the media browser into the Photos list of your HoudahGeo project.
  7. When prompted, provide Camera Setup information to allow HoudahGeo to determine the exact times you took your photos.
  8. Complete geocoding and add any additional metadata to your photos.
  9. Select Output > EXIF/XMP Export… from the menu.
  10. The recommended settings are:
    • Set HoudahGeo to tag both originals (for JPEG + RAW pairs).
    • Disable the option for HoudahGeo to create copies during export.
    • Set sidecar handling options to Write to Sidecar if Present.
    • Select all updated photo properties for writing to files.
  11. After export, return to Lightroom and instruct it to read metadata from file.
    • Important: If you skip the initial step of saving Lightroom metadata before geocoding, importing updated metadata now will cause loss of any edits made solely within Lightroom.
  12. Once you’ve completed geotagging and metadata updates, you can safely discard the HoudahGeo project file.

Note: The media browser in HoudahGeo opens the same catalog you have currently open in Adobe Lightroom Classic. The Lightroom Classic application must be running for HoudahGeo to access its catalog.

Glossary

Geocoding
The process of assigning geographic coordinates (latitude, longitude, and optionally altitude) to a photo.
Geotagging
Embedding geographic coordinates directly into a photo's metadata. Geotagging allows photo cataloging tools and map applications to locate where a photo was taken.
EXIF (Exchangeable Image File Format)
Metadata embedded inside image files. It can store information such as camera settings, timestamps, GPS location, and more.
XMP (Extensible Metadata Platform)
A standard created by Adobe for storing metadata. XMP metadata can be embedded directly in files (such as JPEGs) or saved separately in sidecar files for formats like RAW.
Sidecar File
An external file (typically with a .xmp extension) that stores metadata associated with an photo, used especially for file formats that do not support embedded metadata.
Track Log
A GPS recording of a journey, containing a series of timestamped geographic coordinates. Track logs are often saved in the GPX file format.
Waypoint
A specific location manually recorded by a GPS device, usually saved along with a timestamp and location coordinates.
Reverse Geocoding
Converting geographic coordinates into a human-readable address or place name, such as a city, landmark, or country.
Altitude Lookup
Determining the elevation above sea level for a given geographic location, often using data from digital elevation models like the Shuttle Radar Topography Mission (SRTM).
GPX (GPS Exchange Format)
A standard XML format for storing GPS data, including waypoints, tracks, and routes. Used by many GPS devices and mapping tools.
Camera Clock Setup
Informs HoudahGeo about the time zone your camera clock was set to. Most cameras record date and time but do not store time zone information. Camera clock setup ensures HoudahGeo can correctly interpret the timestamps on your photos relative to the intended time zone (e.g., home time zone or destination time zone).
Clock Error
The difference — measured in seconds — between the time your camera was set to and the correct local time you intended to set it to. Clock error accounts for inaccuracies like the camera clock running slightly fast or slow, or a small mistake when manually setting the time. HoudahGeo can automatically correct for clock error when matching photos to GPS track logs.
Media Browser
A window in HoudahGeo that lets you browse and select images and videos from your Photos library, Lightroom catalog, or local folders.
KML (Keyhole Markup Language)
An XML-based format used to represent geographic data in applications such as Google Earth and Google Maps.