Skip to content

Kingfisher vs YYKit

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

Kingfisher

Open source · MIT

A Swift library that downloads, caches, and displays images from the web in apps.

YYKit

Open source · MIT

A large collection of iOS UI and utility components bundled into one library.

The short answer

Choose Kingfisher if you need…

  • iOS or macOS developers who need to show remote images in lists or detail screens
  • Teams building SwiftUI apps that display images from URLs
  • Developers who want caching and resizing handled by a library instead of written by hand
  • Projects that only need to use parts of the library, such as the downloader or the cache, separately

Choose YYKit if you need…

  • iOS developers maintaining Objective-C codebases
  • Developers who need a specific component such as rich text or image decoding
  • Teams that want to borrow ideas from a mature, widely starred iOS codebase

Side-by-side

KingfisherYYKit
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars24.4k14k
Setup difficultyBeginnerIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageSwiftObjective-C
Last code update4 days ago2 years ago

What each one is

Kingfisher

Kingfisher is a Swift library for loading images from URLs into iOS, macOS, tvOS, watchOS and visionOS apps. It downloads an image, keeps it in memory and on disk, and reuses the cached copy the next time the same URL is requested. It also offers image processors such as downsampling and rounded corners, and works with both UIKit/AppKit views and SwiftUI.

YYKit

YYKit is an umbrella collection of iOS components written in Objective-C, covering areas such as models, caching, images, rich text, and utility categories. The author split its parts into separate smaller libraries, which the README recommends using instead of the combined YYKit package. It is aimed at iOS developers who want ready-made building blocks for their apps.

Best for

Kingfisher

  • iOS or macOS developers who need to show remote images in lists or detail screens
  • Teams building SwiftUI apps that display images from URLs
  • Developers who want caching and resizing handled by a library instead of written by hand
  • Projects that only need to use parts of the library, such as the downloader or the cache, separately

YYKit

  • iOS developers maintaining Objective-C codebases
  • Developers who need a specific component such as rich text or image decoding
  • Teams that want to borrow ideas from a mature, widely starred iOS codebase

Strengths

Kingfisher

  • Caches images in both memory and disk, so repeated loads of the same URL are fast
  • Supports UIKit, AppKit, and SwiftUI, with examples for each in the README
  • Components such as the downloader, cache, and processors can be used independently

YYKit

  • Broad coverage of common iOS needs in one collection
  • Installable through CocoaPods, Carthage, or manual source copying
  • Released under the permissive MIT license

Not ideal for

Kingfisher

  • Non-Swift projects, since the library is written in pure Swift for Apple platforms (reason: it does not run on Android or the web)
  • Apps with unusual caching rules that go beyond the expiration and size controls described in the README (reason: those controls may not cover every case)
  • Developers on Swift versions older than the ones listed for their chosen Kingfisher release (reason: requirements differ by major version)

YYKit

  • Developers starting a new project who want Swift-first libraries, since the README describes Objective-C components only
  • Anyone targeting platforms other than iOS, because the README describes iOS components only
  • Projects that need a current iOS version: the README lists iOS 6.0+ and Xcode 8.0+, which are very old

Trade-offs

Kingfisher

  • Only works on Apple platforms and requires Xcode and Swift
  • Minimum OS versions and Swift versions depend on the release, so older projects may need to pin an older major version
  • The README is truncated, so details on advanced configuration are only available in the linked external documentation

YYKit

  • The README says the author does not recommend using the combined YYKit directly, pointing users to the split components instead
  • Minimum supported versions (iOS 6.0, Xcode 8.0) are very old, so compatibility with current toolchains is unclear from the README
  • Category methods have no prefix, which the README itself warns may cause conflicts

Getting started

Kingfisher

Add via Swift Package Manager in Xcode

File > Swift Packages > Add Package Dependency

Repository URL to add

https://github.com/onevcat/Kingfisher.git
Step-by-step guide: how to use Kingfisher

YYKit

Add to Podfile, then install (CocoaPods)

pod 'YYKit'

Install pods

pod install
Step-by-step guide: how to use YYKit

Frequently asked questions

What is the difference between Kingfisher and YYKit?

Kingfisher: A Swift library that downloads, caches, and displays images from the web in apps. YYKit: A large collection of iOS UI and utility components bundled into one library. Kingfisher suits ios or macos developers who need to show remote images in lists or detail screens, while YYKit suits ios developers maintaining objective-c codebases.

Are Kingfisher and YYKit free?

Kingfisher: Free and open source. YYKit: Free and open source.

Which is easier to set up, Kingfisher or YYKit?

Kingfisher is easier to get started with (rated beginner); YYKit is rated intermediate and usually needs more setup.

Is Kingfisher or YYKit more popular?

Kingfisher has more GitHub stars (24.4k) than YYKit (14k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to Kingfisher and YYKit?

Other options people compare them with include SDWebImage, List.js, IGListKit.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.