A native SwiftUI app for viewing your photos and videos on an Immich server.
Primarily built for Apple TV, with macOS support.
Important
ImmichLens is an independent project and is not affiliated with or endorsed by the Immich team.
ImmichLens is not a full Immich client — it's a lens into your library. The focus is on providing a native, Apple-like viewing experience rather than 1-to-1 feature parity.
Apple TV (tvOS) — Install via TestFlight. Open the link on your iPhone or iPad signed into the same Apple Account as your Apple TV, then accept the invite — the app will appear on your Apple TV automatically.
macOS — Download the latest .dmg from GitHub Releases.
- Photo & Video Timeline — Browse your entire library in a responsive grid with time-bucket pagination
- Explore — Discover your library through recognized people and places
- Albums — View and browse your Immich albums
- Favourites — Quick access to your starred photos and videos
- Full-Screen Viewer — Swipe through photos and play videos natively
- Secure Authentication — Connect to your Immich server with credentials stored in Keychain
The API client is auto-generated from the Immich OpenAPI spec using swift-openapi-generator as part of the Xcode build process.
If you prefer VS Code over Xcode for development:
- Install the Xcode build server:
brew install xcode-build-server - Install VS Code extensions: Swift and SweetPad
- Run
SweetPad: Generate Build Server Configfrom the command palette - Run
SweetPad: Start Build Serverfrom the command palette
More on SweetPad: docs | autocomplete setup
The tab-switch navigation fix (recreating NavigationStack on reactivation to work around a SwiftUI .sidebarAdaptable bug) was inspired by ShelfPlayer's NavigationStackWrapper pattern.










