Supported Files & Processing
This page describes how immich-go identifies, filters, and processes your media files.
Supported File Types
immich-go supports the same formats as Immich.
Image Formats
- Standard:
.jpg,.jpeg,.png,.gif,.bmp,.tiff,.webp - Apple:
.heic,.heif - RAW:
.dng,.cr2,.cr3,.arw,.raf,.nef,.rw2,.orf
Video Formats
- Common:
.mp4,.mov,.avi,.mkv - Mobile:
.3gp,.m4v - Professional:
.mts,.m2ts
Metadata Sidecars
- XMP:
.xmp(industry standard) - Google Photos:
.json - Immich Archive:
.JSON(generated byimmich-go archive)
Automatically Banned Files
immich-go automatically excludes system files and known junk patterns to keep your Immich library clean.
| Pattern | Source | Description |
|---|---|---|
@eaDir/ | Synology | Thumbnail directory |
@__thumb/ | Synology | Thumbnail directory |
SYNOFILE_THUMB_* | Synology | Thumbnail files |
Lightroom Catalog/ | Adobe | Catalog directory |
.DS_Store | macOS | Desktop Services Store |
._* | macOS | AppleDouble resource forks |
Recently Deleted/ | iCloud | Deleted items folder |
Date Extraction Priority
When determining the "Date Taken" for a photo, immich-go follows this order of priority:
- JSON Metadata: From Google Photos or
immich-goarchives (most reliable). - XMP Sidecar: External
.xmpfiles. - EXIF Metadata: Embedded within the media file.
- Filename Parsing: If
--date-from-nameis enabled, it attempts to guess from patterns likeIMG_20230715_143025.jpg.
Output Formats
Text (Default)
Writes logs and progress updates to stderr. Progress is updated line-by-line every 5 seconds.
JSON (--output=json)
Outputs structured JSON Lines (JSONL) to stdout. This is ideal for integration with other tools or web UIs.
json
{
"type": "progress",
"immich_read_pct": 45,
"assets_found": 234,
"uploaded": 180
}