# simulot/immich-go

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/simulot-immich-go).**

5,570 stars · 185 forks · Go · agpl-3.0

## Links

- GitHub: https://github.com/simulot/immich-go
- awesome-repositories: https://awesome-repositories.com/repository/simulot-immich-go.md

## Topics

`golang` `google` `immich` `immich-cli` `photos` `takeout`

## Description

immich-go is a command-line tool for managing a self-hosted Immich photo server. It provides direct utilities for inspecting server state, uploading photos and videos, and performing server-side maintenance tasks like duplicate detection and photo stacking, all without requiring a web interface.

The tool distinguishes itself through its ability to process Google Takeout archives, extracting photos, videos, and album structure while preserving original metadata including GPS location and capture dates. It also offers a concurrent upload pipeline that balances throughput to avoid overwhelming the server, and a server-side deduplication strategy that identifies duplicate assets by file name and capture date, replacing inferior copies with the best version.

Beyond these core capabilities, immich-go supports importing from local directories, directory trees, and ZIP archives, with asset selection and archive content analysis for debugging import issues. It also enables photo stacking to group burst sequences and raw/JPEG pairs, and provides export functionality for downloading photos and albums for backup or migration.

The tool is distributed as a command-line binary and requires no additional runtime dependencies beyond the Immich server it manages.

## Tags

### Part of an Awesome List

- [Concurrent Upload Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload/upload-queuing/concurrent-upload-pipelines.md) — Ships a concurrent upload pipeline that balances throughput to avoid overwhelming the server.
- [Photo Server Managers](https://awesome-repositories.com/f/awesome-lists/media/anime-and-manga/self-hosted-servers/photo-server-managers.md) — Provides command-line utilities for inspecting, deduplicating, and organizing a self-hosted photo server.
- [Photo Uploaders](https://awesome-repositories.com/f/awesome-lists/media/photo-and-social-media/photo-uploaders.md) — Uploads large photo collections from local folders and archives with parallel transfer and metadata preservation.
- [Deduplication and Stacking](https://awesome-repositories.com/f/awesome-lists/media/photo-management/deduplication-and-stacking.md) — Finds and removes duplicate photos on a server, then groups related images into stacks to reduce clutter.
- [Google Takeout Importers](https://awesome-repositories.com/f/awesome-lists/media/photo-management/google-takeout-importers.md) — Imports Google Takeout archives into a photo server, extracting photos with original dates, GPS, and album organization.
- [Parallel Upload Optimizers](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload/upload-queuing/parallel-upload-optimizers.md) — Speeds up large uploads by running multiple file transfers in parallel without overloading the server. ([source](https://github.com/simulot/immich-go/tree/main/docs/))
- [Upload Concurrency Balancers](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload/upload-queuing/upload-concurrency-balancers.md) — Balances how many files upload at once to keep throughput high without overwhelming the network or server. ([source](https://github.com/simulot/immich-go/tree/main/docs/concurrency))
- [Photo Stacking](https://awesome-repositories.com/f/awesome-lists/media/photo-management/photo-stacking.md) — Groups related photos into stacks on the server to reduce visual clutter and keep duplicates together. ([source](https://github.com/simulot/immich-go/tree/main/docs/))

### Data & Databases

- [Metadata Importers](https://awesome-repositories.com/f/data-databases/data-import/metadata-importers.md) — Extracts and retains original EXIF, GPS, and album metadata from source files during import.
- [Server-Side Deduplication Engines](https://awesome-repositories.com/f/data-databases/server-side-deduplication-engines.md) — Identifies duplicate assets by file name and capture date, replacing inferior copies with the best version.
- [Photo Backup Exporters](https://awesome-repositories.com/f/data-databases/mysql-integrations/server-backup/photo-backup-exporters.md) — Downloads photos and albums from a self-hosted server for backup or migration to another instance.

### Development Tools & Productivity

- [Photo Upload CLIs](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/media-upload-utilities/photo-upload-clis.md) — Ships a command-line tool for uploading photos and videos to a server while preserving metadata and album structure.
- [Photo Server Maintenance CLIs](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/server-cli/photo-server-maintenance-clis.md) — Provides a command-line utility for running server maintenance tasks like duplicate detection and photo stacking.

### Graphics & Multimedia

- [Duplicate Photo Removers](https://awesome-repositories.com/f/graphics-multimedia/duplicate-photo-removers.md) — Finds duplicate files on the server by name and capture date, then replaces inferior copies with the best version. ([source](https://cdn.jsdelivr.net/gh/simulot/immich-go@main/README.md))
- [Google Photos Takeout Importers](https://awesome-repositories.com/f/graphics-multimedia/google-photos-takeout-importers.md) — Processes Google Takeout archives by extracting photos and videos while preserving original metadata and album structure. ([source](https://github.com/simulot/immich-go/tree/main/docs/misc))
- [Metadata-Preserving Uploads](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/media-management-production/media-archiving/media-content-archivers/photo-collection-managers/metadata-preserving-uploads.md) — Uploads large photo collections to the server while preserving original metadata and file structure. ([source](https://github.com/simulot/immich-go/tree/main/docs/))
- [Photo Collection Uploaders](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/media-management-production/media-archiving/media-content-archivers/photo-collection-managers/photo-collection-uploaders.md) — Uploads large photo collections from local folders and ZIP archives to a self-hosted server.
- [Duplicate Photo Detectors](https://awesome-repositories.com/f/graphics-multimedia/photo-management-systems/duplicate-photo-detectors.md) — Finds and removes duplicate photos on a server by comparing names and capture dates.
- [Cloud Photo Downloaders](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-downloaders/download-organization-tools/cloud-photo-downloaders.md) — Downloads photos and albums from the server for backup or migration to another instance. ([source](https://github.com/simulot/immich-go/tree/main/docs/))
- [Variant Grouping](https://awesome-repositories.com/f/graphics-multimedia/photo-management-systems/variant-grouping.md) — Groups related photos into stacks using burst sequences and raw/JPEG pairs to reduce visual clutter.

### Operating Systems & Systems Programming

- [Google Takeout Archive Parsers](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-access/zip-archive-access/zip-archive-extraction-commands/google-takeout-archive-parsers.md) — Parses Google Takeout ZIP archives to extract photos, videos, and album structure with original metadata.
- [Archive Source Ingestion](https://awesome-repositories.com/f/operating-systems-systems-programming/file-archiving/archive-source-ingestion.md) — Accepts input from local directories, directory trees, and ZIP archives for photo uploads.

### System Administration & Monitoring

- [Command Line System Administration](https://awesome-repositories.com/f/system-administration-monitoring/command-line-system-administration.md) — Provides command-line utilities for inspecting and maintaining a self-hosted photo server.
- [Server Administration Tools](https://awesome-repositories.com/f/system-administration-monitoring/server-administration-tools.md) — Provides command-line utilities for inspecting and maintaining the internal state of the Immich server. ([source](https://cdn.jsdelivr.net/gh/simulot/immich-go@main/README.md))

### User Interface & Experience

- [Photo and Video Uploads](https://awesome-repositories.com/f/user-interface-experience/folder-upload-support/photo-and-video-uploads.md) — Uploads photos and videos from local folders, directory trees, and ZIP archives to the server. ([source](https://cdn.jsdelivr.net/gh/simulot/immich-go@main/README.md))
