Skip to content
Switch branches/tags


Failed to load latest commit information.
Aves logo


Version badge Build badge

Aves is a gallery and metadata explorer app. It is built for Android, with Flutter.

Get it on Google Play Get it on Amazon Appstore Get it on IzzyOnDroid Get it on GitHub

Compare versions


Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more!

It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files.

Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.

Aves integrates with Android (from API 19 to 32, i.e. from KitKat to Android 12L) with features such as app shortcuts and global search handling. It also works as a media viewer and picker.


Collection screenshot Image screenshot Stats screenshot Info (basic) screenshot Info (metadata) screenshot Countries screenshot


The list of changes for past and future releases is available here.


Aves requires a few permissions to do its job:

  • read contents of shared storage: the app only accesses media files, and modifying them requires explicit access grants from the user,
  • read locations from media collection: necessary to display the media coordinates, and to group them by country (via reverse geocoding),
  • have network access: necessary for the map view, and most likely for precise reverse geocoding too,
  • view network connections: checking for connection states allows Aves to gracefully degrade features that depend on internet.



Bug reports and feature requests are welcome, but read the guidelines first. If you have questions, check out the discussions.


At this stage this project does not accept PRs, except for translations.


If you want to translate this app in your language and share the result, there is a guide. English, Korean and French are already handled by me. Russian, German, Spanish, Portuguese, Indonesian, Japanese, Italian & Chinese are handled by generous volunteers.


Some users have expressed the wish to financially support the project. Thanks! ❤️

Donate with PayPal Donate using Liberapay

Project Setup

Before running or building the app, update the dependencies for the desired flavor:

# (cd scripts/; ./

To build the project, create a file named <app dir>/android/ It should contain a reference to a keystore for app signing, and other necessary credentials. See for the expected keys.

To run the app:

# flutter run -t lib/main_play.dart --flavor play

To run the app on API 19 emulators:

# flutter run -t lib/main_play.dart --flavor play --enable-software-rendering