Skip to main content

Import Google Photos to Immich

So you decided to abandon Google Photos. Whether it be due to privacy concerns, lack of control, Google's ever changing Privacy Policy or you just don't want to end up like this guy, doesn't matter. No matter what pushed you to this decision, it is certainly the right thing to do. You stumbled upon one of the self hosted alternatives, Immich. Good choice. Now it's time to make the switch.

After initial setup, Immich allows you to upload your photos and videos in 3 main ways:

The first two options are useful for new photos, which you have saved on your computer or phone. But how do you transfer your entire Google Photos library? This is where Immich CLI comes into play. It is a CLI utility which allows you to bulk import photos and videos to your Immich account, with all the necessary metadata.

Export photos from Google Account

First of all, you need to get all your photos from the Google Account. The web photos.google.com allows you to download images individually or in bulk, but that's not useful for exports of your entire library, which might be thousands of photos.

Fortunately Google allows you to do a Takeout.

  • Log in to your Google Account and go to photos.google.com
  • Click on the Settings button in the top right corner

image.png

  • Scroll down to the bottom of the page and click on Export your data and then Backup

image.png

  • This will take you to a new page called Google Takeout

image.png

  • It will automatically select just Google Photos, so you won't be exporting your entire Google Profile (although it may be a good idea in the future)

image.png

  • Click on Continue and choose how you would like your file to be delivered. It's mostly enough to select Send download link via email, Export once, .zip file type and File size depending on the stability of your connection and size of your library.

image.png

  • This process will take from hours to days depending on the size of your library.
  • Once it's done, just download the archive file to your computer.

Install and setup Immich CLI

Immich officially provides the Immich CLI as a Node.js CLI application you can install using npm.

For Google Photos, we are going to be using community maintained immich-go package. This is because the package was build specifically for imports from Google Photos and makes it ten times easier than other options. The original Immich CLI works great if you have some other kind of library with proper .XMP metadata files as well.

Why not just unzip the package from Google and upload all photos using the web GUI?

Turns out the Google export is dumb (but it also may be an issue on Immich side), but when you do this, the photos will show up in your timeline as if there were taken today, meaning the day they were uploaded to Immich. This is not great because the photos may be from 2014 but will show up as from 2023. Immich-go solves this and uses proper metadata from .json files included in the Google export (each exported file has its .json metadata file, similar to .xmp)