AltFreeStack
Migration guide

How to migrate from Google Photos to Immich

Google Takeout exports your photos, but a meaningful chunk of the metadata (real date, geolocation) lives in a .json next to each photo, not in the file's own EXIF — whatever importer you use needs to know how to read that .json, or dates will come out wrong.

  1. 1

    Request the export from Google Takeout

    At takeout.google.com, deselect everything except "Google Photos", and pick a maximum archive size (50GB is reasonable) so Google splits the export into several downloadable .zip files instead of one giant one.

  2. 2

    Deploy Immich via Docker Compose

    Immich needs PostgreSQL with the pgvector extension (the `tensorchord/pgvecto-rs` image, already in its docker-compose.yml) and Redis. Before uploading anything, mount the upload volume (`immich_uploads`) on a disk with real space for your whole library, not the system disk.

  3. 3

    Upload with immich-go, not the official CLI alone

    Immich's official CLI uploads photo folders, but doesn't parse Takeout's .json files. The community tool `immich-go` does — it reads each .json next to its photo and fixes the real date/geolocation before uploading, and also handles Takeout's "Photos from YYYY" folders as albums. Check the exact flags for your version with `immich-go --help`, since they change between releases.

  4. 4

    Spot-check Motion Photos and shared albums

    Google/Pixel Motion Photos sometimes import as a separate photo and video instead of the original animated format — check a handful of examples after uploading. Albums shared with other people in Google Photos don't migrate as shared: you'll need to re-share them manually from Immich.

  5. 5

    Re-tag faces and check for duplicates

    Immich runs its own facial recognition from scratch on import — the person names you assigned in Google Photos don't carry over, you'll need to re-tag people. Also check whether Takeout duplicated any files (happens with edited photos Google stores twice) before considering the migration done.

Before cancelling Google Photos

Before cancelling Google Photos, compare the total photo/video count between both (Settings → Storage in Immich gives you the count) — with large libraries it's easy for a Takeout .zip to fail partway through downloading without you noticing.

Ready to deploy Immich?

Full profile with license, tech stack and ready-to-copy docker-compose.

View Immich's profile

These steps are a general guideline — the exact export menu can vary depending on Google Photos's plan and version.