Technical Anshu
Tutorials Blog
📦 Google Photos to Immich

Move Your Google Photos Library into Immich with Google Takeout Without Losing Dates

Leaving Google Photos is easy. Leaving with your dates, locations and albums intact is the real project. Google hands you everything through Takeout — but in a shape that punishes a careless import. Here is how to arrive in Immich with your library's memory whole.

✍️ Technical Anshu🐳 Docker / Linux Server⏱️ 8 minute read
🎥 Immich itself is installed in the video — this guide fills it with the library you already own

Ask anyone who rushed this migration: the photos arrived, but half of them claim they were taken on import day, the map went empty, and ten years of birthdays sorted themselves into chaos. Nothing was actually lost — the truth was sitting in small .json files the importer ignored. Google stores your edited dates and locations in those sidecars, not always inside the photos. Respect them, and the migration is clean.

A Google Takeout export — what actually arrives
Thousands of photos, split into dated foldersOK
Dates and GPS inside separate .json sidecar filesTHE TRAP
Some edited copies and duplicatesEXPECT IT
Albums as folders, not as Immich albumsPLAN FOR IT

👆 Example Takeout contents. The photos are fine — the metadata living in sidecar files is what a careless import silently loses.

1

Step One — Get a Clean Takeout Export

  1. Go to Google Takeout, deselect everything, and tick only Google Photos
  2. Choose the largest archive split size offered — fewer, bigger files are easier to verify than forty small ones
  3. Wait for Google's email, then download every part. A big library can take Google hours or days to prepare; that is normal
  4. Extract everything into one folder and do not rename, move or 'tidy' anything inside it. The importer needs the photos and their .json neighbours exactly as delivered
2

Step Two — Choose the Import Route Honestly

There are two honest routes, and one trap:

  1. The trap: uploading the Takeout folders through the web interface. It works, and it is how dates get lost — the sidecar metadata is not applied, and edited photos can arrive with export-day dates
  2. The purpose-built route: immich-go. A free community tool written specifically for this job. It reads the Takeout export, merges the .json sidecar data back into each photo's record as it uploads, and handles Google's duplicates and edited copies sensibly. It runs from the command line against your server's address and your account
  3. The light route: External Library. Point Immich at the extracted folder as an external library instead of importing. Immich indexes the photos in place — fast and reversible — but they are managed as an outside collection, not merged into your main upload library

For a permanent move, the immich-go route is the one most migrants end up wishing they had used first.

3

Step Three — Import in Stages and Verify Like It Matters

  1. Start with one album or one year, not the whole library. Verify dates on the map and timeline, open a few edited photos, and check a video
  2. Only then run the full import — and let it run. A large library with face and search indexing afterwards can take your server a long time; that patience is the price of a private cloud
  3. Keep the original Takeout archives untouched until Immich has been backed up at least once with the library inside it. The export is your migration insurance
  4. Expect a small number of true duplicates — Google exports edited versions alongside originals. Decide your rule (keep both, or originals only) and apply it consistently rather than deleting in a panic mid-import
4

What Will Not Come Across — Said Plainly

  1. Google's album sharing and comments do not migrate. Albums arrive as folders or collections of photos; who you shared them with is Google-side information
  2. Google's AI organisation — its face groups and memories — is rebuilt by Immich's own machine learning from scratch. The results are similar in spirit, not identical
  3. Some metadata edge cases (certain edited or partner-shared photos) can still land with imperfect dates. A handful of manual fixes after a bulk import is normal, not failure

None of this is a reason to stay — Google keeps the same lock-in either way. It is a reason to migrate deliberately, once, with verification at each stage.

🔴 Do not cancel or delete your Google library the week you migrate. Run Immich in parallel for a month, confirm the counts and the dates, complete one full backup of the new server — and only then decide what happens to the old home.

🎥 Watch the Complete Process in the Video

Your destination server is built in the video — install Immich first, then migrate with this guide open beside you.

▶️ Watch Full Video
❓ Frequently Asked Questions

Why did some photos get the wrong date after I imported?

Almost always the sidecar problem: Google stored the corrected date in a .json file beside the photo, and the import route you used did not apply it. Re-importing those photos with a tool that reads the sidecars — or fixing dates in Immich — resolves it. This is why the staged, verified import matters.

How long does a full Takeout migration take?

Downloading the export can take Google hours to days for large libraries, and the import plus machine learning indexing on a home server can take many more hours. Plan it as a weekend project that mostly runs itself, not an evening task.

Can I keep using Google Photos as a backup of Immich afterwards?

You can keep the account, but treat it as a read-only archive of the past, not a living backup — new photos will only exist in Immich. Your real forward backup is the library-plus-database routine described in the backup guide.

This guide is based on the Technical Anshu video linked above • Stuck on a step? Ask in the video comments — that is where answers come fastest 🙏