# panpf/sketch

Image loading library designed for Compose Multiplatform and Android View. Supports loading Image, GIF, SVG, Video thumbnails from the network, local, resources, and photo albums.

Repository: https://github.com/panpf/sketch
Canonical: https://ross.abutalabs.com/products/sketch
Homepage: https://panpf.github.io/sketch/
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: android, gif, image, image-orientation, image-loader, base64-image, video-thumbnail, apk-icon, exif, jetpack-compose, okhttp, svg, compose, compose-multiplatform, heif, webp
Last push: 2026-08-08T08:33:06+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 96, release rhythm 96, longevity 100
- inputs: {"age_days": 4660, "days_push": 25, "days_rel": 28, "gap_med": 11, "n_releases_24m": 36}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2402, forks 327 (observed 2026-08-28T04:06:43.892572+00:00)

## What it is
Sketch is an image loading library designed for Compose Multiplatform and Android View, supporting loading images, GIFs, SVGs, and video thumbnails from network, local files, resources, and photo albums. It provides three-level caching, automatic request cancellation, Exif-based rotation, and extensible decoding, caching, and transformation pipelines built on Kotlin coroutines.

## Use cases
- load images from network in a Jetpack Compose Android app
- display animated GIFs in Compose Multiplatform
- load SVG and Base64 images on Android
- show video thumbnails or APK icons in a list
- cache images with memory and disk caching on Android and iOS
- automatically resize and rotate images according to EXIF orientation
- pause image loading during list scrolling or on cellular data

## When to choose
- building Compose Multiplatform or Android View apps that need rich image loading
- you need GIF, SVG, video frame, or HEIF/WebP support out of the box
- you want Kotlin coroutine-based image loading with caching and request management
- migrating from Glide/Coil with a need for multiplatform support

## When to avoid
- building non-Kotlin or non-Android/iOS/desktop/web applications
- you only need simple one-off image decoding without caching or async loading
- your project is locked into another image loader ecosystem with heavy customization

## Facets
- artifact type: library
- maturity: active
- function: image-processing, caching, http-client
- domain: mobile-development, frontend, cross-platform, web-development
- platform: cross-platform, jvm
- tags: image-loader, compose-multiplatform, jetpack-compose, gif, svg, exif-orientation, video-thumbnails, okhttp, kotlin-coroutines, android, ios, desktop

## Member repositories
- panpf/sketch (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:43.892572+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:34:13.527777+00:00, confidence not recorded.
  - readme: https://github.com/panpf/sketch (fetched 2026-08-28T04:06:43.892572+00:00, sha 8c4df686d96f)
  - homepage: https://panpf.github.io/sketch/ (fetched 2026-08-29T10:14:37.050696+00:00, sha 399f22885399)
- Data as of 2026-08-30T08:39:29.467469+00:00.
