One thing that surprised me when digging into Apple Photos is how much state isn’t represented by just files-on-disk. Albums, Live Photos (paired assets), bursts, slo-mo, edits, and even “simple” things like adjusted capture dates are all tracked separately, and most export/backup tools end up flattening or partially reconstructing that on restore.
The approach I took was to treat Photos as the source of truth and verify restored items against it, rather than assuming filesystem metadata is enough. As far as I know, this is the only tool that restores albums and correctly round-trips all Photos item types while preserving location data, creation dates, and modification dates when restoring back into Photos.
Project page is here if it’s useful: https://photosbackup.app/
Happy to explain details if anyone’s curious — there are a lot of sharp edges in Photos once you go beyond “export originals”.
This is because I usually have far more than 10K photos and apple starts renaming the files after 9999 as 00001(1) for the rest. This is pretty undesirable.
Is there a way for me to export unmodified raw/jpeg/live/videos off the iphone to an external drive without a macbook with a large enough ssd, and wanting to use icloud as an intermediate bottleneck?
plug iphone into usb. lsusb should show it.
I backup my photos with:
sudo ifuse -o allow_other /mnt
rsync -a /mnt/DCIM <photos-dir>
sudo umount /mnt
Actually, I backup all of /mnt not just DCIM, but that answer
is for you. I also backup the entire phone with: sudo idevicebackup2 backup <backup-dir>
but in this form it either does the photos as data files, or
doesn't back them up. I think it is a complete backup.Mine is approaching 1.5TB, I’ve got no hope of keeping that all on an iPhone, and also no guarantee that any given photo is fully available locally.
If you have enough storage space on your iPhone, you can select "Download and Keep Originals" in the photo app settings.
I'm not sure about Linux, but my workflow on Windows and MacOS is to frequently back up my iPhone locally (which you should do anyway because few incorrect PINs can security lock your phone [1]) and use utility like backup extractor (e.g. [2] but there are many others) to extract all photos from the backup. This effectively removes the need to use iCloud.
[1]: https://support.apple.com/en-us/105090?device-type=iphone
I’m not sure Apple allows any third party app to access the unmodified originals. Imagine you crop a photo to remove some embarrassing part. A third-party app can just recover that? What a privacy risk.
Of course this won’t matter if you don’t do any photo editing on iOS.
The FAQ states you back up the originals as plain images files in YYYY/MM/DD format, which is great for integration with other tools. What about metadata? Is it in a format that lends to integration with other tools, say if you stop developing/supporting your app for some reason?
I’m actually curious: how did you discover that it doesn’t work when Advanced Data Protection is enabled? Was it through an error message, incomplete backups, or something else you noticed?
The sshd running on the phone also supports key based auth , so it's pretty simple to automate.
In other words, the filesystem copy isn’t treated as the source of truth. The restore verifies items against what was backed up and only then rebuilds higher-level structure like albums. That’s the piece I didn’t see addressed elsewhere, and what originally motivated me to build it.
Also, if you leave optimise storage disabled and continue to use Photos, every photo will be cloned in any local or cloud backups of your machine. This strategy creates additional photo redundancy separate from iCloud while still benefiting from library syncing.
(Been meaning to make a software demo gif gallery, best way to understand many categories of apps)
What I remember is that I opened the library in finder and in mc, got scared by the readable-only-by-machine directory structure and used a 3rd party tool to export them to date labeled directories.
Not sure if the open/close is required, but I didn’t want to find out.
Also, Photos on Mac doesn't have an option to download photos directly, so the only valid option Apple offers is to download them through the web interface (max 1,000 at a time).
There is no official way to download iCloud library that is over phone capacity. Period.
Yes it does. It's called Download Originals to this Mac.
https://support.apple.com/guide/photos/use-icloud-photos-pht...
You keep asserting to the contrary, but I've been syncing my entire photos library to my Mac for years, since it was iPhoto even.
Obviously if you have a larger photos library than storage space on a particular device, you cannot synchronize the entire library to that specific device. e.g. my photos library vastly exceeds my iPhone 13 mini storage, so on my iPhone, I don't sync everything. But my Mac has 2 TB of storage, and Photos is setup to sync all my photos, and does so, reliably, and has been, again, for years now.
Additionally, unlike with this open source tool, I can keep advanced data protection enabled.
> Any new photos and videos you add to Photos appear on all your devices that have iCloud Photos turned on.
You have your photos because they are new. If they had been taken before, they would not have synchronised automatically with Photos on MacOS.
Yes, new ones will be uploaded. That doesn’t mean old ones won’t also be downloaded.
Want to prove me wrong? Create a new macOS user and open Photos with your iCloud. It will be empty until you start copying photos from your phone. It will take much less time than arguing here.
That's literally what that option is for.
If it's not working for you, you might be dealing with a bug, or perhaps you haven't given it enough time to sync. If you go to Photos > Library and scroll down, it should show you the sync status.
Long story short, iCloud wasn't syncing photos "due to performance" and this message was hidden.
Thanks once again!
Photos on MacOS indeed synchronise photos with iCloud.
After our conversation I had tried to understand why I indeed don't see any status and I found out, that to get one in Monterey iOS I must need to scroll down of the collection and after, at the bottom pul whole page for the second time. Status message appears and it was saying that syncing was disabled due to Mac performance (I didn't asked for this).
Apologies, for misleading, code543 and thank you for consistence.
However, I must admit that I'm happy that found iCloud Photos Downloader as a result, also I liked that it's downloading all photos in date/folder structure.
In settings, "download originals to this mac", select all photos, file -> "export unmodified originals" will trigger the Photos app to download every file from iCloud into your local library (as well as exporting them to wherever you want)
I guess "there is no download button" but dude...I don't need iCloud Photos Downloader.
Unfortunately, I'm unable to locate any button, status bar, or option to refresh or pull everything from iCloud in macOS Photos. There aren't even any details showing what percentage of iCloud is currently synchronized with macOS Photos. With nothing to debug, I can only conclude that for some reason the sync isn't working in my case.
It's great if this works for you and you don't need iCloud Photos Downloader, but for some reason I don't have that luxury.
Once everything’s downloaded on the Mac, you can either export through the Apple Photos menu or just copy the “originals” directly from the Photos bundle.
But hey at least we've got Liquid (gl)ass now.
I use Photos for macOS daily and I've never run into a bug with my 50K+ photos library. (To be fair, Photos doesn't do that much, and I use it more as a master catalog with Aperture's spiritual successor Nitro.)
> …and good luck exporting a lot of files out of said library…
Not sure why you would need luck to copy the "Originals" folder from the library package.
Photo management is a bit of a nightmare as it’s an awful lot of small(ish) files.
I'm OK with clicking a button to download all photos to Mac, but there is no such button. Or maybe there was one previously, but it has now disappeared.
Here’s the official documentation page for exporting directly using Photos for Mac without syncing everything locally: https://support.apple.com/guide/photos/download-photos-to-yo...
You can also choose to sync all photos locally with Photos for Mac by setting “Download Originals to this Mac” as described on this page which is what I do to keep a local copy: https://support.apple.com/guide/photos/photos-settings-pht51...
If your Mac doesn’t have enough space, export them to a USB hard drive or if you’re using the download originals option, first move your library location to the USB drive as also described on the link above.
It appears that on Monterey I need to pull the page down twice to show the sync status, and when I found it, the message said that photos weren't syncing due to "Performance."
That's exactly what I expected to work, but for some reason this approach failed for me on a new Mac with an empty Photos library. I enabled "Download Originals," but 10+ years of iCloud photos never appeared. There's no manual "fetch all from iCloud" button, no progress indicator, no way to diagnose what's wrong - the sync just silently fails. Luckily, iCloud Photos Downloader bypasses Photos entirely and pulls directly from iCloud.
Cmd+A > File > Export Unmodified Originals
> Users of Google and Apple’s photo cloud services can now transfer images between them. It was already possible to export photos and videos from iCloud to Google Photos, but now it can also be done the other way around: from Google Photos to iCloud.
https://www.techzine.eu/news/applications/122196/google-and-... (2023 Data Transfer Initiative (DTI))
The files are there on the Mac, they are there to download on the cloud (various mentions of method mentioned here).
As long as you are signed into the Mac with the same iCloud account used on the iPhone, this will download them all. No, you do not need to get them all downloaded to the iPhone ever for any reason for this to work. Period. You need to stop repeating that, because it is wrong. How many people have to say the same thing?
Yes, you will have to go into a hidden folder to access the Originals once they're downloaded if you want to copy them somewhere else, but it's like two clicks.
However, in reality, when you use the same Apple account on both devices with the Photos app on macOS (yes, with the 'Download Originals' checkbox enabled), it only downloads photos that you upload from your phone.
And if you look at the iCloud tab in the Photos app, it says 'Automatically _upload_ and store all your photos and videos in iCloud', so it works from Mac to iCloud, and doesn't help to download full iCloud library.
It absolutely works the way I said it does, because I have seen it work that way. Just because you accidentally turned off iCloud Photos in your Apple Account settings on that Mac (or some other similar issue) does not mean it does not work this way when properly signed in.
If you want something to try, go to System Settings -> Apple Account -> Photos and see if "Sync this mac" is turned off. It needs to be on. There could be other ways that this feature is disabled, but that is one of them.
Not seeing something work is not evidence that it does not work. You have not seen it work, but that is not proof it does not work.
Seeing it work is evidence that it works. I have seen it work.
Other people have seen it work that way, and their replies are all over this thread. Apple documents that it works this way.
Yes, it will upload photos to iCloud if enabled, but it also downloads them.
I hope I've made it clear now.
Subject is to download photos from iCloud.
https://support.apple.com/en-gb/guide/photos/phtf5e48489c/ma...
Are you wanting a way that doesn’t involve the photos app?
You can do that from iCloud over a browser.
iCloud via browser has a limit of 1k photos per download.
You don’t need an iPhone for Photos.app to work.
There are plenty of problems with Photos.app but the issue you describe isn’t by design.
Thank you for proving me wrong.
Honestly, Apple should officially maintain tools like this. However, for obvious reasons, such as the iCloud subscription revenue model, Apple will not do it. In fact, Apple may even make life harder for such tools.
Similar to some other folks in this thread I have ~2TB of iCloud data, a Macbook with far less than 2TB of space, an external hard drive somewhere with the external Photo Library that I need to plug in if I want to look at photos on the Macbook, and a Windows desktop with 10TB+ of rusty disks.
I was excited when they added the iCloud app + iCloud photos to Windows, but it never seems to catch up or finish what it is doing. It appears to be almost constantly download at 50MB/s, stressing both disk & internet, and yet navigating to the folder reveals that they are all 'available when online'.
It seems like there is not an option in Windows to actually grab everything in full quality (actually now that I look at it - its gotten to 944GB on disk / 1.91TB total, so it is getting there.)
I guess a real question - with these photos finally on a Windows desktop - is there a better photo browser than Microsoft photos that can show the HEIC and the Live Photo?
Automatic de-duplication of photos with the same name
I recently went through a year’s worth of photos from my wife’s phone, and found three distinct “img_0001.jpg”’s just in that single year. Apple’s naming convention is so short sighted that I’d be terrified letting a piece of software try to dedupe it “by name “
No, it is not. It came from DCF standard that predates smart phones.
https://en.wikipedia.org/wiki/Design_rule_for_Camera_File_sy...
[1]: https://apps.apple.com/us/app/parachute-backup/id6748614170?...
The desktop version works reliably, if you can get macOS to keep shares mounted for long enough, and mount them on request. The scheduler is also kinda wonky.
The iOS version has so far never finished an incremental backup overnight of our ~1TB individual libraries. It handles resume/suspend well, but for some reason, while it exports unmodified originals, it doesn't include AAE files, which the desktop version does.
PhotoSync does everything right, with the exception of trying to keep state of what has been exported, which makes little sense as it doesn't support restoring photos.
On a related question, is there a download solution that does work with ADP? I’m looking to mitigate any potential account lockout issues for family members (and, no, they will not switch out of the ecosystem).
The only scripted solution I can think of that works with ADP is osxphotos[^1], but that also uses PhotoKit, and requires the user to be signed in.
Personally I use PhotoSync [^2] to backup our photos from phones to a NAS. It works reliably, and supports exporting unmodified originals as well as edited versions, and XMP/AAE metadata alongside it.
⟩ cat ~/bin/icloud_download
#!/bin/bash
mkdir "$(pwd)"/{photos,cookies} 2> /dev/null
if [[ -z "${ICLOUD_USERNAME}" ]]; then
echo "need env ICLOUD_USERNAME"
exit 1
fi
if [[ -z "${ICLOUD_PASSWORD}" ]]; then
echo "need env ICLOUD_PASSWORD"
exit 1
fi
podman container run -it --rm --name icloud \
-v $(pwd)/photos:/data \
-v $(pwd)/cookies:/cookies \
-e TZ=America/Boise \
icloudpd/icloudpd:latest \
icloudpd --directory /data \
--cookie-directory /cookies \
--folder-structure {:%Y/%Y-%m-%d} \
--username "${ICLOUD_USERNAME}" \
--password "${ICLOUD_PASSWORD}" \
--size originalPassing your raw iCloud creds into the unverified latest tag is fine until it’s not. Better to pin to a specific tag or hash.
I'm "protected" by the fact Podman doesn't automatically update the latest image even when using the latest tag.
I was more showing how simple icloudpd is to use.