Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Huntn

macrumors Core
Original poster
May 5, 2008
23,494
26,609
The Misty Mountains
I’m interested in moving photos off of iCloud and keep the metadata, such as date and sometimes location. I‘ve already seen that images exported to Google Photos maintains metadata, but it appears that if I drag photos out or even use the export function of Apple Photos transferring them to just a folder, on my hard drive, that I end up with a long list of numbered photos.

I have seen that there are apps designed to help with this like Photo Exifer or Photos Takeout. I tried the trial version of Photos Takeout, and it will create a folder with the year and put the photo inside which is a good first start, but I admit the best thing is seeing photos displayed in an app like Apple Photos or Google Photos, you can see the image, in most cases know who is in it, but the location feature is very handy and sometimes a name is good too. :)

I’m just wondering what the best option is to set up set up an independent archiving source of photos, but for managing them, you see something like you see in Photos or Google Photos, but not be online, just sitting on your backed up hard drive?

iCloud would be a good option if it did not insist on syncing all of you Mac and iOS devices.
What I really want is an easy way to browse archived photos like when I’m looking at Apple Photos.
Thanks!
 
Last edited:
  • Like
Reactions: shamino

Huntn

macrumors Core
Original poster
May 5, 2008
23,494
26,609
The Misty Mountains
Figured out how to use Graphic Converter as an image browser so now I just have to figure out the best was to archive photos including metadata out of the Apple Photos, Google Photos ecosystems.
 

jwolf6589

macrumors 601
Dec 15, 2010
4,827
1,590
Colorado
I’m interested in moving photos off of iCloud and keep the metadata, such as date and sometimes location. I‘ve already seen that images exported to Google Photos maintains metadata, but it appears that if I drag photos out or even use the export function of Apple Photos transferring them to just a folder, on my hard drive, that I end up with a long list of numbered photos.

I have seen that there are apps designed to help with this like Photo Exifer or Photos Takeout. I tried the trial version of Photos Takeout, and it will create a folder with the year and put the photo inside which is a good first start, but I admit the best thing is seeing photos displayed in an app like Apple Photos or Google Photos, you can see the image, in most cases know who is in it, but the location feature is very handy and sometimes a name is good too. :)

I’m just wondering what the best option is to set up set up an independent archiving source of photos, but for managing them, you see something like you see in Photos or Google Photos, but not be online, just sitting on your backed up hard drive?

iCloud would be a good option if it did not insist on syncing all of you Mac and iOS devices.
What I really want is an easy way to browse archived photos like when I’m looking at Apple Photos.
Thanks!
Moving from iCloud to Google? I don’t agree but it’s your photos. Do you have thousands of photos in iCloud? If so it could take a very long time.
 

Darmok N Jalad

macrumors 603
Sep 26, 2017
5,257
45,228
Tanagra (not really)
You have 2 options with Apple Photos on a Mac. Look for the Export command in the drop down menu, and you can either export unmodified originals, which dumps out unaltered original photos just as you imported them, or you can chose to export them as-edited, and you then select your desired quality settings, where there should be an option to preserve your metadata or to exclude it. iPads and iPhones don’t offer as many options, but Photos appears to default to preserving your metadata when you export on each platform. Even if you no longer have a Mac, you should be able to export just the same from the iCloud.com website if you’ve been using the iCloud Photo Library feature.
 
  • Like
Reactions: shamino

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
If you're comfortable with a command line tool, you can use osxphotos to export photos while preserving all metadata including faces, keywords, album structure, etc. (Note: I'm the author of this tool...it's 100% free and open source). It's a complex app with lots of options but gives you 100% control over the export directory structure, file naming convention (including use of templates for naming exported files based on their metadata), and when combined with the free exiftool utility, can write the metadata to the exported files. It also supports metadata sidecar files as used by Lightroom at others. Check out the tutorial to get an idea of what osxphotos can do.
 
  • Like
Reactions: ffff14P and ducme

Tdude96

macrumors 6502
Oct 16, 2021
405
597
If you're comfortable with a command line tool, you can use osxphotos to export photos while preserving all metadata including faces, keywords, album structure, etc. (Note: I'm the author of this tool...it's 100% free and open source). It's a complex app with lots of options but gives you 100% control over the export directory structure, file naming convention (including use of templates for naming exported files based on their metadata), and when combined with the free exiftool utility, can write the metadata to the exported files. It also supports metadata sidecar files as used by Lightroom at others. Check out the tutorial to get an idea of what osxphotos can do.
Thank-you for this tool! I'm looking forward to trying it. I've been trying to find some way to inspect the auto-assigned categories on my pictures, and it sounds like between osxphotos and exiftool, I'll finally be able to do that!
 

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
Thank-you for this tool! I'm looking forward to trying it. I've been trying to find some way to inspect the auto-assigned categories on my pictures, and it sounds like between osxphotos and exiftool, I'll finally be able to do that!

osxphotos has a built in interactive console that exposes its python interface. If you type "osxphotos repl" at the command line it will open the interface. You can then select one of more photos in Photos then type this into the console:


Python:
for photo in get_selected():
    print(photo.original_filename, photo.labels)

In the console (also called the REPL), it will look like this:
Code:
>>> for photo in get_selected():
...     print(photo.original_filename, photo.labels)

but you don't type the >>> or the ... (those will be added automatically)

it will print the name of each photo and the associated categories (called labels). You can then just hit up-arrow and enter twice to re-run the code snippet allowing you to dynamically inspect the categories. Type "quit" to exit out of the console.
 
Last edited:
  • Like
Reactions: Tdude96

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
Thank-you for this tool! I'm looking forward to trying it. I've been trying to find some way to inspect the auto-assigned categories on my pictures, and it sounds like between osxphotos and exiftool, I'll finally be able to do that!
Just for fun, I wrote a little python script that provides interactive browsing of the metadata associated with your photos such as categories, keywords, persons, etc. The script is at photo_inspect.py Save this then run it with "osxphotos run photo_inspect.py" then you can select any photo in Photos and the script will print out info about the photo. Select another photo and it'll do it again. And so on. There's a short screencast of how it works here. Press Ctrl+C to exit out of the script.
 
  • Love
Reactions: katbel

aashton1968

macrumors newbie
May 21, 2022
1
1
Vancouver, British Columbia
Also a big thank you for this tool. I have been looking for software to export my photos from the photos app in exactly the format that I want with all the metadata that I put into Photos over the years. I am a developer myself but have to say that I built the script to do this using your tool in about an hour or so from new so its very well documented too. Qudos sir
 
  • Love
Reactions: RhetTbull

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
@Tdude96 I took the idea one step further and built in an `osxphotos inspect` command that opens an inspection window in the terminal that shows all the metadata associated with a photo selected in Photos. See demo screencast here.
 

Tdude96

macrumors 6502
Oct 16, 2021
405
597
@Tdude96 I took the idea one step further and built in an `osxphotos inspect` command that opens an inspection window in the terminal that shows all the metadata associated with a photo selected in Photos. See demo screencast here.
That looks great! Thanks, I'll give it a try
 

Schnapps

macrumors newbie
Feb 18, 2021
5
4
Looks great based on the comments above. What does one do with videos, however? (I have hundreds of videos within the Photos app that need to be rotated. I had thought to export them but wanted to retain all associated metadata with the video (which I know is different from Photos) and then reimport them after a batch rotation)
 

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
Looks great based on the comments above. What does one do with videos, however? (I have hundreds of videos within the Photos app that need to be rotated. I had thought to export them but wanted to retain all associated metadata with the video (which I know is different from Photos) and then reimport them after a batch rotation)
osxphotos exports videos as well and, if used in combination with exiftool, will write metadata to the video files.

You can export only videos using the `--only-movies` option: `osxphotos export /path/to/export --only-movies` for example.

You can also export only videos selected in photos with the `--selected` option or only videos in a specific album with `--album ALBUM-NAME`
 

misterbikini

macrumors newbie
Jul 21, 2022
1
1
I’m interested in moving photos off of iCloud and keep the metadata, such as date and sometimes location. I‘ve already seen that images exported to Google Photos maintains metadata, but it appears that if I drag photos out or even use the export function of Apple Photos transferring them to just a folder, on my hard drive, that I end up with a long list of numbered photos.

I have seen that there are apps designed to help with this like Photo Exifer or Photos Takeout. I tried the trial version of Photos Takeout, and it will create a folder with the year and put the photo inside which is a good first start, but I admit the best thing is seeing photos displayed in an app like Apple Photos or Google Photos, you can see the image, in most cases know who is in it, but the location feature is very handy and sometimes a name is good too. :)

I’m just wondering what the best option is to set up set up an independent archiving source of photos, but for managing them, you see something like you see in Photos or Google Photos, but not be online, just sitting on your backed up hard drive?

iCloud would be a good option if it did not insist on syncing all of you Mac and iOS devices.
What I really want is an easy way to browse archived photos like when I’m looking at Apple Photos.
Thanks!
Have you tried to copy the file of photos library (photos library.photoslibrary) in your picture folder on your Mac to the drive you wish to keep the backup?
 
  • Like
Reactions: Huntn

reneefishman

macrumors newbie
Feb 8, 2023
2
0
If you're comfortable with a command line tool, you can use osxphotos to export photos while preserving all metadata including faces, keywords, album structure, etc. (Note: I'm the author of this tool...it's 100% free and open source). It's a complex app with lots of options but gives you 100% control over the export directory structure, file naming convention (including use of templates for naming exported files based on their metadata), and when combined with the free exiftool utility, can write the metadata to the exported files. It also supports metadata sidecar files as used by Lightroom at others. Check out the tutorial to get an idea of what osxphotos can do.
I don't know how to use command line tools but I am looking for a solution like this. I have over 10K videos and over 75K photos in my icloud library and I've maxed out my 2TB storage plan. I need to move photos and videos out of icloud. I'd like to retain the dates, locations, keywords, and other meta data. when I export from icloud then open the zip drive, it tells me all the photos were created today. Can this program you created help?
 

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
@reneefishman yes, osxphotos can do this. You will need to learn a little about working in the command line / Terminal.app. I suggest you start with the tutorial then feel free to ask any questions here, in the GitHub discussions or on Reddit on r/osxphotos. Here's some basics to get you started:

Install osxphotos
  • Open Terminal (search for Terminal in Spotlight or look in Applications/Utilities)
  • Install homebrew according to instructions at https://brew.sh/
  • Type the following into Terminal: brew install pipx
  • Ensure that pipx installed packages are accessible in your PATH by typing: pipx ensurepath
  • Then type this: pipx install osxphotos
  • Now you should be able to run osxphotos by typing: osxphotos
  • Finally, to preserve all metadata, you likely want to install exiftool which is a command line tool for working with photo and video metadata: brew install exiftool
Export your photos

The first step is to decide which photos to export. All of them? Only ones created before a certain date? Only those you've selected in Photos? The tutorial discusses these different use case.

Do you use a lot of folders and albums and if so, do you want to retain those? Do you want the photos exported by date? e.g. 2020/02/08/IMG_1234.jpg?

The following command will export all photos by date created in format shown above, preserve all your metadata, update the photo date/time to match the creation date of the photo. First, you'll need the path to export the photos to. Are you exporting to your Mac's disk or to an external drive? Let's assume you've got an external drive named "ExternalDisk", and you created a folder on that drive called "Photos". The path would be
Code:
/Volumes/ExternalDisk/Photos

Code:
osxphotos export /Volumes/ExternalDisk/Photos --exiftool --album-keyword --person-keyword --export-by-date --touch-file --update --report exported_photos.csv

This exports all your photos (and videos) to /Volumes/ExternalDisk/Photos, uses exiftool to write metadata to the exported photos, adds keywords to represent the album name (if any) and the names of the persons in the photo (makes it easier to find photos if re-importing to Photos or another app), organizes the photos in folders by date created, touches the date on each photo (command line term to mean it makes the photo's date in Finder match when the photo was taken), updates any new or edited photos (so if you run it again, only new/changed photos are exported), and writes a report in CSV format (which can be opened in Excel/Numbers/Google Sheets) showing what was done for each photo.
 
  • Like
Reactions: louiswang

reneefishman

macrumors newbie
Feb 8, 2023
2
0
@RhetTbull Thank you for this generous explanation. Unfortunately, it's still way over my head.
I tried to read instructions for this but my brain shuts down and glazes over!
 

shamino

macrumors 68040
Jan 7, 2004
3,443
271
Purcellville, VA
You have 2 options with Apple Photos on a Mac. Look for the Export command in the drop down menu, and you can either export unmodified originals, which dumps out unaltered original photos just as you imported them, or you can chose to export them as-edited, and you then select your desired quality settings, where there should be an option to preserve your metadata or to exclude it.

Thanks. I hadn't tried the export command. A simple drag/drop from Photos to a folder copies images with the original filename (useless if pictures came from multiple cameras) and loses location information. But I can preserve that via the Export command.
 
  • Like
Reactions: Darmok N Jalad

Huntn

macrumors Core
Original poster
May 5, 2008
23,494
26,609
The Misty Mountains
Have you tried to copy the file of photos library (photos library.photoslibrary) in your picture folder on your Mac to the drive you wish to keep the backup?
Sorry I lost track of this thread, I’ll try that. It seems that having Google Photo setup on my iOS devices is a good solution. All my photos end up in Google Photos with metadata intact. And if I clear out photos on myniOS devices, they remain on Google Photos as a backup. I still want copies directly under my control, so I’ll try your suggestion. :)
 

adwoa1999

macrumors newbie
Aug 9, 2023
2
0
@reneefishman yes, osxphotos can do this. You will need to learn a little about working in the command line / Terminal.app. I suggest you start with the tutorial then feel free to ask any questions here, in the GitHub discussions or on Reddit on r/osxphotos. Here's some basics to get you started:

Install osxphotos
  • Open Terminal (search for Terminal in Spotlight or look in Applications/Utilities)
  • Install homebrew according to instructions at https://brew.sh/
  • Type the following into Terminal: brew install pipx
  • Ensure that pipx installed packages are accessible in your PATH by typing: pipx ensurepath
  • Then type this: pipx install osxphotos
  • Now you should be able to run osxphotos by typing: osxphotos
  • Finally, to preserve all metadata, you likely want to install exiftool which is a command line tool for working with photo and video metadata: brew install exiftool
Export your photos

The first step is to decide which photos to export. All of them? Only ones created before a certain date? Only those you've selected in Photos? The tutorial discusses these different use case.

Do you use a lot of folders and albums and if so, do you want to retain those? Do you want the photos exported by date? e.g. 2020/02/08/IMG_1234.jpg?

The following command will export all photos by date created in format shown above, preserve all your metadata, update the photo date/time to match the creation date of the photo. First, you'll need the path to export the photos to. Are you exporting to your Mac's disk or to an external drive? Let's assume you've got an external drive named "ExternalDisk", and you created a folder on that drive called "Photos". The path would be
Code:
/Volumes/ExternalDisk/Photos

Code:
osxphotos export /Volumes/ExternalDisk/Photos --exiftool --album-keyword --person-keyword --export-by-date --touch-file --update --report exported_photos.csv

This exports all your photos (and videos) to /Volumes/ExternalDisk/Photos, uses exiftool to write metadata to the exported photos, adds keywords to represent the album name (if any) and the names of the persons in the photo (makes it easier to find photos if re-importing to Photos or another app), organizes the photos in folders by date created, touches the date on each photo (command line term to mean it makes the photo's date in Finder match when the photo was taken), updates any new or edited photos (so if you run it again, only new/changed photos are exported), and writes a report in CSV format (which can be opened in Excel/Numbers/Google Sheets) showing what was done for each photo.
Thank you for this. I followed the link to your tutorial and it's literally changed my life. I used it to transfer photos from my Mac to my USB drive.

I did add some commands but I didn't use "--report". Now there are over 16,000 missing pictures and 27 which had 'error' (see the attached files). However, I only have 9,399 photos in my camera roll and they were all synced with my iCloud before I used oxsphotos.

Screenshot 2023-08-10 at 01.30.43.png
Screenshot 2023-08-10 at 01.39.04.png


The only other pictures I could think of are my Shared Albums. I have about 72 Shared Albums, each containing from 5-600+ pictures. How can I find out what the 'missing' photos are and what the 'error' photos are please? Furthermore, how can I figure out why they didn't upload to my USB drive and then actually get them uploaded?
 

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
Thank you for this. I followed the link to your tutorial and it's literally changed my life. I used it to transfer photos from my Mac to my USB drive.

I did add some commands but I didn't use "--report". Now there are over 16,000 missing pictures and 27 which had 'error' (see the attached files). However, I only have 9,399 photos in my camera roll and they were all synced with my iCloud before I used oxsphotos.

The only other pictures I could think of are my Shared Albums. I have about 72 Shared Albums, each containing from 5-600+ pictures. How can I find out what the 'missing' photos are and what the 'error' photos are please? Furthermore, how can I figure out why they didn't upload to my USB drive and then actually get them uploaded?

Glad you found osxphotos useful!

My guess is these missing photos are photos in traditional shared albums. You can filter these by running your export command again and adding `--update --not-shared`. This will export only new or changed photos and skip any photos in shared albums. Photos does not normally download shared photos (only a preview image) to the Photos library. If you do want to export those shared photos, you can add the `--download-missing` flag (but don't include the `--not-shared` flag as you'll want to include the shared photos).

This may be helpful too to identify all the missing photos:

`osxphotos query --missing --add-to-album "Missing Photos"`

This will print out a list of all photos that appear to be missing and add those photos to the album "Missing Photos" (which will be created if necessary). However, note that if the missing photos are in shared albums, they cannot be added to a regular album so this will only work for those photos which are in the primary library (not shared) and are missing.

The errors in your screenshot about "looks more like a JPEG" are from exiftool. Those files are still exported but exiftool is reporting the extension is wrong. This can happen when photos are edited in 3rd party apps which don't save edited photos in the right format. At present osxphotos cannot do anything about this other than report it. But the photos are still exported and exiftool should not corrupt the images.
 

adwoa1999

macrumors newbie
Aug 9, 2023
2
0
Thank you so much, especially for such a speedy response. The '--not shared' was very useful, weirdly enough it uploaded another 7,000 pictures to my USB drive.

I did try the "Missing Photos" command line but I couldn't tell if it was working or not. It created the album in Photos, but there was no loading bar or anything to indicate it adding photos to the album. How long should this take approximately?
 

RhetTbull

macrumors member
Apr 18, 2022
83
68
Los Angeles, CA
How long should this take approximately?
Depends on how many photos were being added. It could take a couple of minutes for thousands of photos but if the photos were missing because they're in shared albums they won't be added.

This feature works through using AppleScript to communicate with Photos and AppleScript is slow.
 

JamesMay82

macrumors 65816
Oct 12, 2009
1,243
995
Did anyone find away to exit metadata on their photos? I've exported all my photos from apple photos and everything is a mess and I want to organise it correctly on my hard drive before I import it into Lightroom as Lightroom just uses the wrong metadata and then that library will be a mess again.

I've tried a few EXIF editors on Mac store and they just crash or don't work. The above option from Rhet sounds good but seems to complicated for me.

Any other recommendations?
 

r.harris1

macrumors 68020
Feb 20, 2012
2,190
12,628
Denver, Colorado, USA
Did anyone find away to exit metadata on their photos? I've exported all my photos from apple photos and everything is a mess and I want to organise it correctly on my hard drive before I import it into Lightroom as Lightroom just uses the wrong metadata and then that library will be a mess again.

I've tried a few EXIF editors on Mac store and they just crash or don't work. The above option from Rhet sounds good but seems to complicated for me.

Any other recommendations?
I use Photo Mechanic if I really need to go deep on metadata. It might be too complex and/or expensive for this particular use case since you'll only use it once. But...I'm curious what you mean when you say that Lr uses the wrong metadata? Is it because the metadata itself is wrong going in or because Lr uses attributes you don't want it to? If the latter, I'm genuinely curious about a little more detail on that point. In other words, can you describe a bit more on the outcome you're trying to get to?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.