What is this?
Coil is an image loading library for Android and Compose Multiplatform, built on Kotlin Coroutines. It handles fetching, decoding, caching, and displaying images with minimal boilerplate.
Is it a standalone app or a library I add to my project?
It's a library you add as a dependency to a Kotlin/Compose project, not a standalone app. 'Coil' stands for Coroutine Image Loader.
How do I add it to a project?
Import the Compose library plus a networking library, then use the AsyncImage composable to load an image.
Do I need anything besides Kotlin to use it?
Coil only depends on Kotlin, Coroutines, and Okio, plus a networking library (like OkHttp or Ktor) for fetching remote images.
Does it only work on Android, or also other Compose targets?
It works on Android and also on Compose Multiplatform, so it's not limited to Android apps alone.
What makes Coil fast?
Coil performs optimizations like memory and disk caching, downsampling images, and automatically pausing or cancelling requests that are no longer needed.
Why is it called Coil?
Coil is an acronym for Coroutine Image Loader, reflecting its Kotlin-first, coroutine-based design.
Does it work with other modern Android libraries?
Yes, it's designed to interoperate with Compose, Coroutines, Okio, OkHttp, and Ktor out of the box.
Is documentation available in other languages?
Yes, the README is translated into Japanese, Korean, Russian, Swedish, Turkish, Chinese, Persian, and Uzbek.
What are similar projects?
iosched, ab-download-manager, kotlin, ktor, architecture-samples, gkd, animeko, anko
Which topics is it in?
kotlin-coroutines, coroutines, androidx, compose-multiplatform, compose, images, kotlin, android, apache-2.0, library, mit, open-source