Immich
immich.app Self-hostedSelf-hosted photo and video backup and management server, with automatic mobile upload, timeline view, albums, search and facial recognition. Needs to be self-hosted, but gives you full ownership + control over your photos.
- Homepage: immich.app
- GitHub: github.com/immich-app/immich
- iOS App: apps.apple.com/us/app/immich/id1613945652
- Android App: play.google.com/.../app.alextran.immich
- Discord: cHD2af9DbA
- Subreddit: r/immich
- Web info: web-check.xyz/check/immich.app
Immich Source Code
Author
Description
High performance self-hosted photo and video management solution.
Homepage
https://immich.appLicense
AGPL-3.0
Created
03 Feb 22
Last Updated
29 Jul 26
Latest version
Primary Language
TypeScript
Size
316,050 KB
Stars
109,132
Forks
6,373
Watchers
109,132
Language Usage
Star History
Top Contributors
-
@alextran1502 (1959)
-
@jrasm91 (1344)
-
@renovate[bot] (1157)
-
@mertalev (463)
-
@shenlong-tanwen (449)
-
@danieldietzler (429)
-
@michelheusschen (355)
-
@bo0tzz (290)
-
@zackpollard (201)
-
@midzelis (197)
-
@martabal (170)
-
@bwees (135)
-
@YarosMallorca (125)
-
@mmomjian (124)
-
@github-actions[bot] (117)
-
@etnoy (115)
-
@weblate (104)
-
@dependabot[bot] (95)
-
@martyfuhry (91)
-
@meesfrensel (88)
-
@uhthomas (83)
-
@timonrieger (81)
-
@fyfrey (76)
-
@wuzihao051119 (61)
-
@matthinc (59)
-
@benmccann (58)
-
@Snowknight26 (51)
-
@ben-basten (51)
-
@waclaw66 (46)
-
@santoshakil (41)
-
@aviv926 (38)
-
@zoodyy (34)
-
@LeLunZ (32)
-
@brighteyed (29)
-
@NicholasFlamy (29)
-
@skatsubo (27)
-
@jbaez (25)
-
@xCJPECKOVERx (25)
-
@samip5 (23)
-
@panoti (20)
-
@agg23 (19)
-
@lukashass (19)
-
@idubnori (19)
-
@benbeckford (18)
-
@adamantike (17)
-
@faupau03 (16)
-
@immich-tofu[bot] (16)
-
@daniele-athome (15)
-
@C-Otto (15)
-
@goalie2002 (13)
-
@ddshd (12)
-
@insertish (12)
-
@PeterOmbodi (12)
-
@arnolicious (12)
-
@dvbthien (12)
-
@JobiJoba (11)
-
@Saschl (11)
-
@lukasdotcom (11)
-
@roschaefer (10)
-
@Ethan13310 (10)
-
@Lauritz-Tieste (9)
-
@dagstuan (9)
-
@cratoo (8)
-
@JW-CH (8)
-
@MontejoJorge (8)
-
@savely-krasovsky (8)
-
@stewx (8)
-
@Mraedis (8)
-
@dotlambda (8)
-
@ConnerWithAnE (7)
-
@okxint (7)
-
@bt90 (7)
-
@Wingysam (7)
-
@mPyKen (7)
-
@johnstef99 (7)
-
@Funk66 (7)
-
@Yuvi-raj-P (6)
-
@thariq-shanavas (6)
-
@sellnat77 (6)
-
@tech00exploere (6)
-
@klejejs (6)
-
@JordyEGNL (6)
-
@jonhnet (6)
-
@fredfloydd (6)
-
@ferraridamiano (6)
-
@rovo89 (5)
-
@xpwmaosldk (5)
-
@luzpaz (5)
-
@indam (5)
-
@debricked[bot] (5)
-
@zkhan93 (5)
-
@Tushar-Harsora (5)
-
@EinToni (5)
-
@atollk (5)
-
@eligao (5)
-
@jinxuan-owyong (5)
-
@PixelJonas (5)
-
@Tyris (5)
-
@dahool (5)
-
@RanKKI (5)
Recent Commits
-
Jason Rasmussen (29 Jul 26)
fix: privacy policy link (#30344)
-
Jason Rasmussen (28 Jul 26)
chore: remove old makefiles (#30339)
-
Matthew Momjian (28 Jul 26)
fix(deployment): matplotlib in rootless deployments (#30328)
-
Daniel Dietzler (28 Jul 26)
chore: clarify contributing guidelines (#30330)
-
bo0tzz (28 Jul 26)
chore: add test for admin controller permissions (#30316)
-
Daniel Dietzler (28 Jul 26)
feat: add cantonese for mobile (#30318)
-
renovate[bot] (28 Jul 26)
chore(deps): update github-actions (#30302)
-
renovate[bot] (28 Jul 26)
chore(deps): update docker.io/valkey/valkey:9 docker digest to 3acc068 (#30298)
-
Daniel Dietzler (28 Jul 26)
fix: calendar heatmap api key permissions (#30314)
-
renovate[bot] (28 Jul 26)
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.15 (#30301)
-
Daniel Dietzler (28 Jul 26)
fix: calendar heatmap permissions (#30310)
-
Alex (27 Jul 26)
fix: make sure iOS memory widget render (#30172) * fix: make sure iOS memory widget render * pr feedback
-
github-actions (27 Jul 26)
chore: version v3.1.0
-
Weblate (bot) (27 Jul 26)
chore(web): update translations (#29781) Translate-URL: https://hosted.weblate.org/projects/immich/immich/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/af/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/az/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_GB/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fa/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ne/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pa/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/ Translation: Immich/immich Co-authored-by: 100daysummer <[email protected]> Co-authored-by: Adam Havrรกnek <[email protected]> Co-authored-by: AgentTricky <[email protected]> Co-authored-by: Aggรฅr <[email protected]> Co-authored-by: Ahmed Khaleel Shihab <[email protected]> Co-authored-by: Aindriรบ Mac Giolla Eoin <[email protected]> Co-authored-by: Alexander <[email protected]> Co-authored-by: Alice Visek <[email protected]> Co-authored-by: Arif Budiman <[email protected]> Co-authored-by: Arseniy <[email protected]> Co-authored-by: Arthur Eduardo Good <[email protected]> Co-authored-by: Azharul Haque <[email protected]> Co-authored-by: Carlo Lecce <[email protected]> Co-authored-by: Crystal <[email protected]> Co-authored-by: Derik Nel <[email protected]> Co-authored-by: DevServs <[email protected]> Co-authored-by: Eduard Ereza Martรญnez <[email protected]> Co-authored-by: Enric Pagรจs i Gassull <[email protected]> Co-authored-by: Fjuro <[email protected]> Co-authored-by: Frank Paul Silye <[email protected]> Co-authored-by: George Hallai <[email protected]> Co-authored-by: Guy Slutzker <[email protected]> Co-authored-by: HackingAll <[email protected]> Co-authored-by: Hans Cats <[email protected]> Co-authored-by: Happy <[email protected]> Co-authored-by: Haru Ijima <[email protected]> Co-authored-by: Hosted Weblate user 157829 <[email protected]> Co-authored-by: Hugo Dantas <[email protected]> Co-authored-by: Hurricane_32 <[email protected]> Co-authored-by: Hแป Nhแบฅt Duy <[email protected]> Co-authored-by: Indrek Haav <[email protected]> Co-authored-by: Ivan Dimitrov <[email protected]> Co-authored-by: Jakub Biernat <[email protected]> Co-authored-by: Jarukrit Sripaploen <[email protected]> Co-authored-by: Jaspreet Singh <[email protected]> Co-authored-by: Javid Yagubali <[email protected]> Co-authored-by: Jayden Lo <[email protected]> Co-authored-by: Jeppe Nellemann <[email protected]> Co-authored-by: John Molkavitch <[email protected]> Co-authored-by: Jozef Gaal <[email protected]> Co-authored-by: Klenner Martins Barros <[email protected]> Co-authored-by: Linas Samuchovas <[email protected]> Co-authored-by: Lucka <[email protected]> Co-authored-by: Luis Fernando Illapa <[email protected]> Co-authored-by: MarcSerraPeralta <[email protected]> Co-authored-by: Matjaลพ T. <[email protected]> Co-authored-by: Max <[email protected]> Co-authored-by: Mees Frensel <[email protected]> Co-authored-by: Melih Ozkan <[email protected]> Co-authored-by: Mona Lisa <[email protected]> Co-authored-by: Muxutruk <[email protected]> Co-authored-by: NOBOIKE <[email protected]> Co-authored-by: Nagy Krisztiรกn <[email protected]> Co-authored-by: Nicola Bortoletto <[email protected]> Co-authored-by: Nikola Todorov <[email protected]> Co-authored-by: Oฤuz Ersen <[email protected]> Co-authored-by: PPNplus <[email protected]> Co-authored-by: Pavel Miniutka <[email protected]> Co-authored-by: Runskrift <[email protected]> Co-authored-by: SKAL <[email protected]> Co-authored-by: Samipya Mainali <[email protected]> Co-authored-by: Securitocat <[email protected]> Co-authored-by: Skanda <[email protected]> Co-authored-by: Stan P <[email protected]> Co-authored-by: Syahmi Azhar <[email protected]> Co-authored-by: Sylvain Pichon <[email protected]> Co-authored-by: TV Box <[email protected]> Co-authored-by: Tal Gruper <[email protected]> Co-authored-by: Temuri Doghonadze <[email protected]> Co-authored-by: Tiago <[email protected]> Co-authored-by: Tim <[email protected]> Co-authored-by: Tim Morley <[email protected]> Co-authored-by: Tyson Igana <[email protected]> Co-authored-by: User 123456789 <[email protected]> Co-authored-by: Yuko <[email protected]> Co-authored-by: Yusuf Arda <[email protected]> Co-authored-by: ZaKyatto <[email protected]> Co-authored-by: bittin1ddc447d824349b2 <[email protected]> Co-authored-by: chamdim <[email protected]> Co-authored-by: eav5jhl0 <[email protected]> Co-authored-by: emrothenberg <[email protected]> Co-authored-by: ezn24 <[email protected]> Co-authored-by: fennek <[email protected]> Co-authored-by: gilles <[email protected]> Co-authored-by: matthew <[email protected]> Co-authored-by: noob translator <[email protected]> Co-authored-by: oxygenxc <[email protected]> Co-authored-by: pyccl <[email protected]> Co-authored-by: reducedradius <[email protected]> Co-authored-by: rubes <[email protected]> Co-authored-by: shamgamer <[email protected]> Co-authored-by: shawshuai <[email protected]> Co-authored-by: thedmo <[email protected]> Co-authored-by: thomaLV <[email protected]> Co-authored-by: waclaw66 <[email protected]> Co-authored-by: wlusr <[email protected]> Co-authored-by: ่ญ่ญ้ฒ <[email protected]> Co-authored-by: ์ ๋๊ฑธ <[email protected]>
-
Adam Gastineau (27 Jul 26)
fix(mobile): prevent timeline scroll to top on unrelated pages (#30281)
-
shenlong (27 Jul 26)
refactor: asset update method (#30201) Co-authored-by: shenlong-tanwen <[email protected]>
-
Jason Rasmussen (27 Jul 26)
fix(web): single grid row spacing (#30277)
-
Adam Gastineau (27 Jul 26)
chore(mobile): harden mobile OpenAPI codegen and dependency install (#30202) * chore(mobile): harden mobile OpenAPI codegen and dependency install * Cleaner mise cascade * Version openapi-generator-cli with mise * Relocate tool definition * Update lock file
-
bo0tzz (26 Jul 26)
chore: clarify MediaRepository extract logging (#30249)
-
Daniel Dietzler (24 Jul 26)
fix: shared by user detail panel (#30187)
-
Daniel Dietzler (24 Jul 26)
chore: medium tests system config helpers (#30174)
-
shenlong (24 Jul 26)
chore: pump flutter to 3.44.8 (#30205) Co-authored-by: shenlong-tanwen <[email protected]>
-
Adam Gastineau (24 Jul 26)
fix(mobile): align iOS widget text box with widget's corners (#30176) * fix(mobile): align iOS widget text box with widget's corners * Improve image centering and fix formatting * Remove duplicate preview
-
shenlong (24 Jul 26)
feat: button longpress handler (#30200) * feat: button longpress handler * review suggestion --------- Co-authored-by: shenlong-tanwen <[email protected]>
-
bo0tzz (24 Jul 26)
fix: don't skip person thumbnail generation if ML is disabled (#30194)
-
NOBOIKE (24 Jul 26)
fix(web): use RTL transform origin in AdaptiveImage (#30182)
-
Jason Rasmussen (23 Jul 26)
fix: min faces user preference (#30177)
-
Adam Gastineau (23 Jul 26)
fix(mobile): properly align iOS widget loading state (#30173)
-
Adam Gastineau (23 Jul 26)
chore(mobile): force swift-structured-queries lock to 0.34.0 (#30166)
-
NOBOIKE (23 Jul 26)
fix(web): mirror onboarding navigation icons in RTL (#30158) Co-authored-by: root <[email protected]>
Immich Security
Security Advisories (11)
- medium Patched CVSS 6.1
GHSA-qp2h-w794-2vhf Incomplete fix for login continue redirect allows slash-backslash open redirect
- critical Patched CVSS 9.6
CVE-2026-53662 One-click account takeover via XSS in login page continue redirect
- medium Patched CVSS 4.7
GHSA-hfvf-5c8x-8rc4 OIDC discovery/token/userinfo/JWKS fetches run with TLS certificate verification unconditionally disabled via allowInsecureRequests (CWE-295)
- medium Patched
CVE-2026-40096 Open Redirect via Shared Album name
- low Patched CVSS 2.8
GHSA-jrp5-g662-hq92 Unsafe ZIP Entry Names (Zip Slip Class) in Archive Download Endpoint
- high Patched CVSS 7.3
CVE-2026-35455 Stored XSS via OCR Text in 360ยฐ Panorama Viewer
- medium Patched CVSS 4.1
GHSA-hq46-gw2v-q86p SSRF via OAuth Profile Picture URL (CWE-918)
- high Patched CVSS 7.2
CVE-2026-23896 API Key Privilege Escalation
- medium Patched
GHSA-hvq7-hq9r-8gjr [DCODX-AI] Shared-link authentication allows adding owner's assets to shared links (AssetShare authorization bypass)
- medium Patched
CVE-2026-25118 Insecure transmission of shared link password
- high Patched
CVE-2025-43856 Account hijacking through oauth2
Immich Website
Website
Immich
Self-hosted photo and video management solution. Easily back up, organize, and manage your photos on your own server. Immich helps you browse, search and organize your photos and videos with ease, without sacrificing your privacy.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address 104.21.2.186
- Location San Francisco, California, United States of America, NA
- ISP CloudFlare Inc.
- ASN AS13335
Associated Countries
-
US
Safety Score
Website marked as safe
100%
Blacklist Check
immich.app was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Immich Android App
APK Info
- App Immich
- Creation Date 18 May 24
- Last Updated 14 Jul 24
- Current Version 1.104.0
- Privacy Report View on Exodus โ
De-Googled Compatibility
- GrapheneOS Native 4.0 / 4 (16)
- crDroid microG 4.0 / 4 (3)
- LineageOS Native 4.0 / 4 (3)
- Evolution X Native 4.0 / 4 (2)
- LineageOS microG 4.0 / 4 (2)
- CalyxOS microG 4.0 / 4 (2)
Trackers
No trackers found
Permissions
- Access Coarse Location
- Access Fine Location
- Access Media Location
- Access Network State
- Access Wifi State
- Foreground Service
- Internet
- Manage Media
- Post Notifications
- Read External Storage
- Read Media Audio
- Read Media Images
- Read Media Video
- Receive Boot Completed
- Vibrate
- Wake Lock
- Write External Storage
- Dynamic Receiver Not Exported Permission
Immich Docker
Immich Socials
Immich Reviews
More Photo Management
-
Provides an open source, audited end-to-end encrypted platform to store photos in the cloud without needing to trust the service provider. With apps for desktop, web and mobile, album sharing, public links, semantic search and facial recognition. Self-hosted or 10GB free.
About the Data: Immich
Change History
- Added #621
API
You can access Immich's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/immich The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Immich
Help your friends compare Photo Management, and pick
privacy-respecting software and services.
Share Immich and Awesome Privacy with your network!