A lightweight, pure-Swift library for downloading and caching images from the web in iOS, macOS, tvOS, watchOS, and visionOS apps.
Kingfisher is a pure-Swift library for downloading and caching images from the web in Apple ecosystem applications. It provides asynchronous image loading, hybrid memory and disk caching, and built-in image processing to eliminate boilerplate code for remote image handling. The library offers extensions for UIKit, AppKit, and SwiftUI, supporting modern concurrency and features like Low Data Mode.
iOS, macOS, tvOS, watchOS, and visionOS developers using Swift who need to efficiently load, cache, and process remote images in their apps. It is particularly suited for developers building responsive, image-heavy applications across Apple platforms.
Developers choose Kingfisher for its elegant, Swift-native API that simplifies complex image tasks with minimal code, its comprehensive feature set including fine cache control and extensible processors, and its strong support for both UIKit/AppKit and SwiftUI with concurrency readiness.
A lightweight, pure-Swift library for downloading and caching images from the web.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a pure-Swift solution with elegant method chaining and extensions, such as the kf.setImage() syntax, reducing boilerplate code for complex image tasks as demonstrated in the advanced example.
Implements a multiple-layer cache with memory and disk storage, offering fine control over expiration dates and size limits for optimal performance, detailed in the cache behavior options.
Includes built-in processors like DownsamplingImageProcessor and RoundCornerImageProcessor, and allows custom processors, enabling on-the-fly image transformations during download.
Fully supports SwiftUI with KFImage and is prepared for Swift 6 and strict concurrency, ensuring future compatibility across Apple platforms.
Limited to iOS, macOS, tvOS, watchOS, and visionOS, making it unsuitable for cross-platform development or projects outside the Apple ecosystem, as stated in the requirements.
While offering fine control, configuring cache expiration, size limits, and policies can be overwhelming for developers new to image caching systems, requiring careful tuning to avoid issues.
Requires integration via SPM, CocoaPods, or manual framework addition, which adds overhead compared to using built-in system solutions or lighter alternatives.