Guide · Open source
How to use Fresco: install it and show images in Android apps
Updated · written with AI from the project's own documentation and checked against our catalogue data
Fresco is an open-source Android library that handles loading and displaying images in an app, including network, local storage and app resources. This guide explains what it does, what you need before you start, how to add it to a Gradle project, and where to find the full documentation. It is written for Android developers; by the end you will know how to add Fresco to your build file and what it takes care of for you.
Quick start
- 1Check your project. Confirm you have an Android project that uses Gradle and targets Android 2.3 or later.
- 2Open build.gradle. Open the build.gradle file for the module where you want to use image loading.
- 3Add the dependency. Add implementation 'com.facebook.fresco:fresco:3.9.0' to the dependencies section.
- 4Sync the project. Sync or rebuild your project so Gradle downloads the library.
- 5Read the official docs. Follow the usage guide on frescolib.org to start displaying images with Fresco.
What Fresco does for your app
Fresco takes care of image loading and display so you do not have to write that logic yourself. It loads images from the network, local storage, or local resources, and shows a placeholder until each image has arrived.
Fresco keeps two levels of cache: one in memory and another in internal storage. The README says that on Android 4.x and lower, it stores images in a special region of Android memory, which can help your app run faster and hit OutOfMemoryError less often.
- Loads images from the network, local storage, or local resources
- Shows a placeholder while an image is loading
- Two-level cache: memory and internal storage
- Streams progressive JPEGs
- Displays animated GIFs and WebPs
- Offers extensive customization of loading and display
What you need before installing Fresco
Fresco is a code library, not a finished app. You need an Android project that uses Gradle. The README says Fresco can be included in any Android application and supports Android 2.3 (Gingerbread) and later.
If your app targets very old Android versions, check the minimum version and compatibility details in the official documentation, because the README does not cover them.
- An Android project built with Gradle
- A target of Android 2.3 or later, per the README
- Access to the project's build.gradle file
Add the Fresco dependency with Gradle
If you build with Gradle, add the following line to the dependencies section of your build.gradle file. Then sync your project so the library is downloaded.
implementation 'com.facebook.fresco:fresco:3.9.0'Where to find the full setup and usage docs
The README points to the official documentation on the Fresco website, which is available in English and Chinese. Use it for full details on getting started and using the library in code.
To build Fresco from source, the README links to a separate guide in the documentation. Bugs can be reported on the project's issues page, and pull requests are covered by the CONTRIBUTING file.
- Official docs: frescolib.org/docs/index.html
- Building from source: frescolib.org/docs/building-from-source.html
- Report problems on the GitHub issues page
- Contribution guidelines: CONTRIBUTING.md in the repository
What people use it for
- Showing many or large images in a list or gallery without writing your own cache
- Displaying progressive JPEGs that load in stages
- Showing animated GIFs and WebPs in an Android app
- Handling placeholders while images download from the network
Frequently asked questions
Is Fresco free to use?
Yes. The README says Fresco is MIT-licensed, which permits use in commercial and private projects under the license terms. Check the LICENSE file in the repository for the full text.
What Android version does Fresco support?
The README says Fresco supports Android 2.3 (Gingerbread) and later. It does not cover detailed compatibility, so check the official documentation before targeting very old versions.
How do I install Fresco?
If you use Gradle, add implementation 'com.facebook.fresco:fresco:3.9.0' to the dependencies section of your build.gradle file. The README gives this as the install step.
Is Fresco only for Android?
Yes, as far as this README describes. It only covers Android support and is an Android library written in Kotlin.
Can Fresco show animated GIFs and WebPs?
Yes. The README says Fresco supports display of animated GIFs and WebPs, along with streaming of progressive JPEGs.
How does Fresco compare to Glide, Coil or Picasso?
Glide, Coil and Picasso are comparable image libraries for Android. This source does not include a feature comparison, so test each against your app's image types and memory needs before choosing.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Fresco suits Android developers who need image loading, caching and placeholders handled by a library, especially in apps with many large images, progressive JPEGs or animated GIFs. If you want a finished app rather than code, or you are not building for Android, it is not the right tool.
Install options & downloads