awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
coil-kt avatar

coil-kt/coil

0
View on GitHub↗
11,819 stars·763 forks·Kotlin·Apache-2.0·19 viewscoil-kt.github.io/coil↗

Coil

Coil is an image loading and caching pipeline designed for Android and Compose Multiplatform applications. It functions as a comprehensive loader, caching engine, and rendering utility that asynchronously fetches and displays images from network URLs, local storage, and multiplatform resource systems.

The library distinguishes itself through a flexible fetcher-decoder pipeline and an interface-driven component registry, allowing for the integration of custom networking clients and decoders. It provides specialized support for rendering scalable vector graphics, animated formats such as GIF and WebP, and the extraction of frames from video files.

The system manages resource efficiency using a two-tier caching strategy comprising memory and disk storage, alongside downsampling and concurrent request deduplication to reduce network traffic. It further provides tools for image transformations, visual transitions, and a dedicated suite for mocking image responses during UI screenshot testing.

Features

  • Android Image Loading - Provides a complete pipeline for fetching and displaying images and animated media on Android.
  • Network Image Caching - Saves downloaded images and HTTP responses to local storage to minimize data usage and improve load times.
  • In-Memory Caches - Stores decoded bitmaps in RAM for immediate retrieval and manages memory during application backgrounding.
  • Caching Strategies - Implements a two-tier strategy using in-memory caches for bitmaps and disk caches for raw network responses.
  • Image Downsampling - Optimizes memory usage by calculating required image dimensions and reducing resolution during decoding.
  • Fetching and Decoding Pipelines - Separates the retrieval of raw data from the conversion of that data into renderable image formats.
  • Android Image Loading Libraries - Provides a comprehensive image loading and caching pipeline for Android and Compose Multiplatform.
  • Compose Multiplatform Image Loading - Loads and renders images asynchronously within Compose Multiplatform apps while managing layout constraints.
  • Jetpack Compose Image Integration - Bridges image loading requests with declarative UI painters specifically for Jetpack Compose.
  • Remote Image Loaders - Implements a full lifecycle for asynchronously fetching, decoding, and rendering images from remote URLs.
  • Compose Multiplatform Loaders - Provides a component for asynchronously fetching and rendering images within Compose Multiplatform user interfaces.
  • Image-Optimized Memory Regions - Reduces resource consumption through a combination of memory caching, disk storage, and downsampling.
  • Global Configurations - Provides a central instance for configuring global defaults for fetching, decoding, and caching.
  • Animated Image Rendering - Parses and renders animated GIF and WebP formats with control over loop counts and frame delays.
  • SVG-Based Vector Rendering - Converts scalable vector graphics into bitmaps for efficient display on screen.
  • Vector Rasterizers - Converts scalable vector graphics into bitmaps for efficient display within mobile applications.
  • Bitmap Memory Optimizers - Prevents memory crashes by setting maximum dimension bounds for allocated bitmaps.
  • Image Transformation Utilities - Provides utilities for cropping, applying rounded corners, and implementing custom visual effects on images.
  • Bitmap Rasterizers - Converts SVG vector data into bitmaps for efficient rendering using custom CSS rules and density multipliers.
  • Video Frame Capture - Extracts specific frames from video files based on timestamps or percentages to generate thumbnails.
  • Custom Client Integrations - Allows the integration of third-party networking libraries via a flexible fetcher interface.
  • Network Request Interceptors - Uses interceptors to modify HTTP requests and responses for global header injection and network behavior control.
  • Multiplatform Asset Loading - Fetches assets and images bundled within a multiplatform resource system.
  • Registry-Driven Architectures - Employs a registry-driven architecture to plug custom networking clients and image decoders into the pipeline.
  • Media Loading Managers - Manages the loading lifecycle by executing callbacks and displaying custom painters during success and error phases.
  • Lifecycle State Tracking - Tracks loading, success, and error phases to trigger UI callbacks and transitions.
  • Image Loading - Kotlin-first image loading library.
  • Image Processing - Image loading for Android backed by Kotlin Coroutines.
  • Mobile UI & Components - Image loading for Android backed by Kotlin Coroutines.

Star history

Star history chart for coil-kt/coilStar history chart for coil-kt/coil

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does coil-kt/coil do?

Coil is an image loading and caching pipeline designed for Android and Compose Multiplatform applications. It functions as a comprehensive loader, caching engine, and rendering utility that asynchronously fetches and displays images from network URLs, local storage, and multiplatform resource systems.

What are the main features of coil-kt/coil?

The main features of coil-kt/coil are: Android Image Loading, Network Image Caching, In-Memory Caches, Caching Strategies, Image Downsampling, Fetching and Decoding Pipelines, Android Image Loading Libraries, Compose Multiplatform Image Loading.

Which projects share features with coil-kt/coil?

Projects with overlapping indexed features include: nostra13/android-universal-image-loader — Android-Universal-Image-Loader is an image loading library for Android applications designed to download, cache, and… square/picasso — Picasso is an Android image loading library designed for downloading, caching, and displaying images in applications.… facebook/fresco — Fresco is an Android image loading library and cache manager designed to fetch, decode, and display images from… bumptech/glide — Glide is an image loading and caching library for Android that fetches and decodes images, GIFs, and video stills from… pinterest/pinremoteimage — PINRemoteImage is an image downloading and caching framework for iOS. It functions as a remote image loader and… alamofire/alamofireimage — AlamofireImage is an image downloading and caching library designed as an extension for Alamofire. It provides a…

Projects sharing features with Coil

These projects share indexed features with Coil. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nostra13/android-universal-image-loadernostra13 avatar

    nostra13/Android-Universal-Image-Loader

    16,852View on GitHub↗

    Android-Universal-Image-Loader is an image loading library for Android applications designed to download, cache, and display images. It functions as a bitmap cache manager and processing framework that handles the retrieval of assets from remote URLs or local files. The library includes specialized utilities for extracting static frames from video files to generate thumbnails. It also provides a framework for applying visual transformations to loaded images, such as circular crops and rounded corners. The system manages performance through a two-tier caching hierarchy using both memory and d

    Java
    View on GitHub↗16,852
  • square/picassosquare avatar

    square/picasso

    18,820View on GitHub↗

    Picasso is an Android image loading library designed for downloading, caching, and displaying images in applications. It provides an automated system for memory and disk management to reduce network requests and improve load times. The library includes a bitmap transformation tool for resizing, cropping, and modifying assets before they are rendered. It also functions as a bridge for Jetpack Compose, converting image requests into painter objects for use within declarative Android user interfaces. The system manages image retrieval from multiple sources, including web URLs, local files, and

    Kotlin
    View on GitHub↗18,820
  • facebook/frescofacebook avatar

    facebook/fresco

    17,149View on GitHub↗

    Fresco is an Android image loading library and cache manager designed to fetch, decode, and display images from network or local sources. It functions as a rendering engine for animated image formats and a streaming system for progressive image loading. The library distinguishes itself through specialized memory management that utilizes off-heap allocation to reduce garbage collection overhead and prevent out-of-memory errors. It includes a dedicated rendering pipeline for animated GIFs and WebP files and supports progressive JPEG decoding to render low-resolution versions of images while the

    Kotlin
    View on GitHub↗17,149
  • bumptech/glidebumptech avatar

    bumptech/glide

    35,021View on GitHub↗

    Glide is an image loading and caching library for Android that fetches and decodes images, GIFs, and video stills from local or remote sources. It functions as a media rendering framework and memory management tool designed to resize and downsample assets to fit specific view dimensions. The system prioritizes scrolling performance through a multi-level caching strategy that stores decoded media in memory and raw data on disk. It employs resource pooling to reuse bitmap memory and binds image loading tasks to component lifecycles to automatically release resources and prevent memory leaks. T

    Java
    View on GitHub↗35,021
Compare all 30 related projects→