Nuke is an image loading system for Swift that fetches images from various sources and displays them in applications using simple and flexible APIs.
The tool addresses the complexity of image loading by providing a unified pipeline that handles fetching, caching, processing, and display. It manages both memory and disk caching, performs image decompression and processing, coalesces duplicate requests, supports prefetching, and handles resumable downloads. The framework supports multiple image formats including HEIF, WebP, and GIF, as well as animated images and progressive JPEG loading. It offers both traditional callback-based APIs and modern async/await patterns, with dedicated UI components for SwiftUI and UIKit.
Nuke suits developers building iOS, macOS, watchOS, tvOS, or visionOS applications that need reliable image handling without the overhead of a heavyweight framework. The core module compiles quickly and maintains a test suite substantially larger than the codebase itself, indicating a focus on reliability. The architecture is designed for customization through extensions, allowing teams to adapt the pipeline to specific requirements. The project ships as three separate modules—the lean core Nuke framework, NukeUI for interface components, and NukeVideo for video playback—so adopters can include only what they need.
The project maintains an active test suite and comprehensive documentation including a getting started guide and demo application. Development activity shows consistent attention to performance optimization and support for current Swift language features. The framework has been actively maintained across multiple Apple platforms and continues to evolve with the Swift ecosystem.