A modern, open-source gallery app built natively for Android with Kotlin and Jetpack Compose.
Important
Due to work commitments, I am currently unable to maintain the application and am looking for maintainers or co-contributors. If you are interested in helping support or develop this project, please open an issue or reach out!
Features • Migration Notice • Screenshots • Installation • Tech Stack • Contributing • License
Pixel Gallery is a sleek, privacy-focused gallery application designed to provide a premium user experience. Originally built with Flutter, it has now been rewritten as a fully native Android app using Kotlin and Jetpack Compose. It leverages the power of Material You dynamic theming to adapt to your device's wallpaper, ensuring a seamless and personalized look. From managing your photo albums to viewing motion photos and map locations, Pixel Gallery creates a beautiful home for your memories.
Important
Migration Notice: Pixel Gallery is now a native Kotlin app. You can update your existing Flutter installation directly, but please keep the following in mind:
- Favorites will be lost: Due to database schema changes between the Flutter and Kotlin versions, your favorites will be reset. You will need to re-favorite your images.
- Recycle Bin data will be lost: Any items currently in the Recycle Bin will be removed during the update. Please restore anything important before updating.
- 🎨 Material You Design - Fully adapts to your device's system colors (Android 12+).
- 📂 Smart Organization - Automatically categorizes your media into Albums, Recents, and Videos.
- 🗑️ Recycle Bin - Safely recover deleted photos and videos or permanently remove them.
- 🎞️ Motion Photos - Detects and plays the video component of Motion Photos (Live Photos).
- 📍 Location Map - View exactly where your photos were taken on an interactive OpenStreetMap.
- 📷 EXIF Details - View detailed camera metadata (Model, Aperture, ISO, Shutter Speed).
- ⚡ Native Performance - Built from the ground up for Android for maximum speed and efficiency.
- 🔒 Privacy First - Your photos stay on your device. No cloud uploads, no tracking.
| Home Screen | Photos Screen | Albums |
|---|---|---|
| Viewer Screen | Recycle Bin | Settings |
|---|---|---|
Sample photos used in screenshots are by the following authors on Unsplash:
- Ispywithmylittleeye
- Khouser01
- Teodor Drobota
- Wulcan
- Sardar Kamran
- Fermin Rodriguez Penelas
- Ivan Diaz
- Gilley Aguilar
- NordWood Themes
- Studio Mike Franca
- Chandu 029
- Hanna Plants
- Joshua Kettle
Icons generated using icon.kitchen
To build Pixel Gallery locally, you'll need Android Studio and the Android SDK.
-
Clone the repository:
git clone https://github.com/bkk31/pixel-gallery.git cd pixel-gallery -
Open in Android Studio: Import the project and wait for Gradle sync to complete.
-
Run the app: Click the Run button in Android Studio or use the command line:
./gradlew installDebug
Pixel Gallery is built using a modern Android tech stack:
- Kotlin - Modern programming language.
- Jetpack Compose - Android's modern toolkit for building native UI.
- Hilt - Dependency injection library.
- Room - SQLite abstraction layer.
- DataStore - Modern data storage solution for preferences.
- Media3 (ExoPlayer) - Video playback engine.
- Glide - Image loading and caching.
- Telephoto - Zoomable image viewer for Compose.
- OSMDroid - OpenStreetMap integration.
- Metadata Extractor - Comprehensive EXIF and metadata reading.
- Biometric - Fingerprint and face authentication.
Contributions are welcome! If you have suggestions or want to report a bug, please open an issue or submit a pull request.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
In the older Flutter versions of Pixel Gallery, a significant portion of the backend logic, particularly for media handling and metadata extraction, was inspired by the Aves project. Aves is a beautiful and feature-rich gallery and metadata explorer for Android, and its source code was invaluable to the development of those versions.
The original Aves project is licensed under the BSD 3-Clause "New" or "Revised" License. We are immensely grateful to the Aves contributors for their work on the original foundations.
Distributed under the GNU Public License GPL-3. See LICENSE for more information.
