Import your Google Photos structure and sharing info into Immich — metadata only, no image data.
Warning
- Still experimental: Google Photos export works in some cases, but stability issues remain.
- Only works in English
Immichporter retrieves metadata not available in google takeout, including shared albums, assets, and shared users. You can use this data to update assets in Immich, re-add users to shared albums, and even move assets to their correct owners.
Important
- This tool does not download any images from google photos. It only extracts the information into a local database.
- Make sure to manually save all shared pictures in google photos before running a takeout.
Use google takeout to export your google photos assets and immich-go to import the data into immich.
Run it directly with uv (recommended):
uvx immichporter -hor install it:
Using:
uv add immichporterOr with pip:
pip install immichporterNOTE: You need to import the assets into immich first, before running photos sync to immich.
# Show help
immichporter --help
# login is required the first time, the session is saved
immichporter gphotos login
# add all albums to the database
immichporter gphotos albums
# add all photos for each album to the database
# it can run multiple times and only processes the not fully processed albums again
immichporter gphotos photos
# multiple runs might be needed until everything is correct,
# you can check with if every album is fully processed
immichporter db show-albums --not-finished
# run again
immichporter gphotos photos --not-finished
# edit/update users
immichporter db show-users
immichporter db edit-users # select which users should be added to immich
# see the database with https://sqlitebrowser.org
sqlitebrowser immichporter.db
# !! CAUTION: create a backup of your immich database before running this commands !!
export IMMICH_ENDPOINT=http://localhost:2283
export IMMICH_API_KEY=your_api_key
export IMMICH_INSECURE=1
# this steps are needed to get the immich ids into the 'immichporter.db' sqlite database
# and create non existing users and albums in immich
immichporter immich update-albums
immichporter immich update-users
# delete ablums (optional) if you want to start over
# !! this delete all albums in immich !!
# this is only needed if you have different album names in immich
immichporter immich delete-albums
# sync albums to immich (create albums and users, add assets to albums)
immichporter sync-albums --dry-run
immichporter sync-albums- get all ablums from gphotos
- get all metadata from photos inside the albums (shared with, timestamp, ...)
- update user information (local DB)
- create or update albums in immich
- create or update users in immich
- add/update assets to albums in immich
- move assets to correct user (needs to be tested)
- improve documentation
- interactive wizard with ui (web or gui ...)
- submit changes to server for an admin to review and update
To set up the development environment:
# Clone the repository
git clone https://github.com/burgdev/immichporter.git
cd immichporter
# Install development dependencies
just install
source .venv/bin/activateContributions are welcome! Please see CONTRIBUTING.md for details.
MIT - See LICENSE for details.