Skip to main content

Immich vs Google Photos 2026: Self-Hosted vs Cloud Photo Comparison

·OSSAlt Team
immichgoogle-photosphotosself-hostingprivacycomparison2026

TL;DR

Google Photos charges $35.88/year for 200GB ($99.99/year for 2TB). Immich (AGPL 3.0, ~55K GitHub stars) gives you everything Google Photos does — plus no ads, no AI training on your photos, and ownership of your data — for the cost of a storage drive. If you have 50GB+ of photos and value privacy, self-hosted Immich is the better choice in 2026. Migration from Google Photos is straightforward via Google Takeout.

Key Takeaways

  • Cost: Google Photos costs $3/month for 100GB; Immich costs ~$5/month amortized for a home server
  • AI features: Immich has face recognition, semantic search, and scene detection — comparable to Google
  • Mobile backup: Immich iOS/Android apps backup photos automatically — same UX as Google Photos
  • Privacy: Immich processes all AI locally; Google uses your photos to train AI models
  • Migration: Google Takeout exports all photos; Immich imports the folder directly
  • Tradeoff: Immich requires a server to maintain; Google Photos works if you close your laptop

Cost Comparison

Google Photos pricing (2026)

StoragePriceAnnual Cost
15GBFree$0
100GB$2.99/mo$35.88
200GB$2.99/mo$35.88
2TB$9.99/mo$119.88
5TB$24.99/mo$299.88
10TB$49.99/mo$599.88

Google One pricing — includes Gmail and Drive storage

Immich self-hosted cost

ComponentOne-timeMonthly
Home server (mini PC like Beelink Mini S12)$160$3-5 electricity
4TB HDD for photos$80$0
Total (Year 1)$240~$4/mo
Total (Year 2+)$0~$4/mo

Break-even vs Google Photos 2TB: ~18 months. After that, Immich is $4/month vs $9.99/month.

Already have a NAS/homelab? Immich adds essentially zero cost.


Feature Comparison

FeatureImmichGoogle Photos
Auto-backup (iOS/Android)YesYes
Face recognitionYes (local)Yes (cloud)
Semantic searchYes ("beach sunset")Yes
Scene/object detectionYesYes
Shared albumsYesYes
Partner sharingYesYes
Video supportYesYes
RAW filesYesNo (converts to JPEG)
HEIC/HEIFYesYes
Live photosYesYes
Motion photosYesYes
Maps/geoYesYes
MemoriesYesYes
AlbumsYesYes
Google Lens equivalentNoYes
Edit photosBasicAdvanced
Storage compressionNo (original quality always)Yes (lossy "Storage saver")
Offline accessVia downloadYes (cached)
Smart home displaysYes (API)Yes (Chromecast)
PrivacyYour server onlyGoogle trains AI on photos

Migration: Google Photos → Immich

Step 1: Export from Google Photos

  1. Go to takeout.google.com
  2. Deselect all → Select only Google Photos
  3. File type: .zip, Size: 50GB max (multiple files)
  4. Delivery: Email link when ready (1-48 hours for large libraries)
  5. Download all .zip files

Step 2: Import to Immich

# 1. Extract all Google Takeout zips:
mkdir -p ~/google-photos-export
for zip in ~/Downloads/takeout-*.zip; do
  unzip -o "$zip" -d ~/google-photos-export/
done

# 2. Use immich-go for clean import (handles JSON metadata):
# Install immich-go (recommended for Google Takeout):
curl -L https://github.com/simulot/immich-go/releases/latest/download/immich-go_Linux_x86_64.tar.gz | tar xz
sudo mv immich-go /usr/local/bin/

# 3. Import with metadata preservation:
immich-go upload \
  --key your-immich-api-key \
  --server https://photos.yourdomain.com/api \
  --google-photos \
  ~/google-photos-export/Takeout/Google\ Photos/

# This preserves:
# - Original dates from JSON metadata files
# - GPS location data
# - Album structure
# - Starred photos

Step 3: Verify the import

# Check import stats:
immich-go stats \
  --key your-api-key \
  --server https://photos.yourdomain.com/api

# Expected: same count as Google Photos total
# Check: Immich web UI → Photos → sort by date → verify oldest photos

Mobile App Setup

iOS

  1. Install Immich from App Store
  2. Server URL: https://photos.yourdomain.com
  3. Log in → Enable Backup in settings
  4. Select: Back up photos + videos
  5. Optional: Disable Google Photos backup (Settings → Google Photos → turn off)

Android

  1. Install from Google Play or F-Droid
  2. Same setup process

Immich Docker Setup

# docker-compose.yml
services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    container_name: immich_server
    restart: always
    ports:
      - "2283:2283"
    volumes:
      - /path/to/your/photos:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      DB_HOSTNAME: database
      DB_USERNAME: postgres
      DB_PASSWORD: "${DB_PASSWORD}"
      DB_DATABASE_NAME: immich
      REDIS_HOSTNAME: redis
    depends_on:
      database:
        condition: service_healthy
      redis:
        condition: service_started

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    container_name: immich_ml
    restart: always
    volumes:
      - model_cache:/cache
    environment:
      DB_HOSTNAME: database
      DB_USERNAME: postgres
      DB_PASSWORD: "${DB_PASSWORD}"
      DB_DATABASE_NAME: immich

  redis:
    image: redis:6.2-alpine
    restart: always

  database:
    image: tensorchord/pgvecto-rs:pg14-v0.2.0
    restart: always
    environment:
      POSTGRES_PASSWORD: "${DB_PASSWORD}"
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      start_period: 30s

volumes:
  pgdata:
  model_cache:
photos.yourdomain.com {
    reverse_proxy localhost:2283
}

Privacy Comparison

Google Photos data usage

  • AI training: Google's Terms of Service allow using photos to improve AI models
  • Advertising: Image content analysis informs advertising profiles
  • Third-party access: Law enforcement can subpoena your photos from Google
  • Data residency: Photos stored in Google's data centers globally

Immich privacy

  • AI runs locally: Face recognition and semantic search run on your hardware
  • No advertising: No ad profile, no data mining
  • No third-party access: Law enforcement must subpoena your server
  • Data sovereignty: Photos stay on your hardware in your country

When to Choose Google Photos Instead

Immich is better in most cases, but Google Photos still wins for:

  • Zero maintenance: Immich requires keeping your server running and updated
  • Storage flexibility: Google scales infinitely; self-hosting is limited by your drive
  • Mobile reliability: If you're often off-home-network without VPN, Immich may be slower
  • Google Lens: Object identification, text extraction, plant/animal ID — Immich doesn't have this yet
  • Family who's not technical: Google Photos family sharing is easier to set up for less-technical relatives

See our Immich self-hosting guide for the full Docker setup.

See all open source photo management tools at OSSAlt.com/categories/photos.

Comments