Your first time on this page? Allow me to give some explanations.
Awesome Swift
A collaborative list of awesome Swift libraries and resources. Feel free to contribute!
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you matteocrippa & contributors
View Topic on GitHub:
matteocrippa/awesome-swift
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Awesome Swift
Newsletter
Official Guides
Style Guides
Airbnb's Swift Style Guide.
LinkedIn's Official Swift Style Guide
The official Swift style guide for raywenderlich.com.
Third party Guides
A self-taught project to learn Swift.
Explanations and samples about the Swift programming language
Learn some Swift
👨💻Watch the latest and greatest conference videos on your Mac
A collection useful tips for the Swift language
Swift Featured Projects in brain Mapping
A collection of Swift tips & tricks that I've shared on Twitter
An Xcode playground showcasing the new features in Swift 4.0.
Boilerplates
iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger
🛠 A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.
An opinionated starting point for awesome, reusable Swift 5 modules
REPL
Emacs
Emacs support for Apple's Swift programming language.
Google Colaboratory
Sideloading Swift on Google Colab, post-mortem Swift for TensorFlow
Vim
Vim runtime files for Swift
A solid language pack for Vim.
Benchmark
CLI to profile compilation time of Swift project
Converters
A programming language for generating code for multiple platforms
Other Awesome Lists
📲 The curated list of iOS Developer interview questions and answers, Swift & Objective-C
A curated list of awesome applications, softwares, tools and shiny things for macOS.
A curated list of Open Source example iOS apps developed in Swift. An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
Collaborative List of Open-Source iOS Apps
🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps
Dependency Managers
A dependency manager driven by SwiftPM that works for iOS/tvOS/watchOS/macOS projects.
A simple, decentralized dependency manager for Cocoa
The Cocoa Dependency Manager.
A package manager that installs and runs executable Swift packages
The Package Manager for the Swift Programming Language
Patterns
Sample Code of the App Architecture Book
Example of Clean Architecture of iOS app using RxSwift
📖 Design Patterns implemented in Swift 5.0
Reactant is a reactive architecture for iOS
Redux like architecture for SwiftUI
Spin aims to provide a versatile Feedback Loop implementation working with the three main reactive frameworks available in the Swift community (RxSwift, ReactiveSwift and Combine)
Stateful view controller containment for iOS and tvOS
⚛️ A Reactive Data-Binding and Dependency Injection Library for SwiftUI x Concurrency.
A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
Viper Framework for iOS using Swift
Misc
A command line interface for your Swift scripts
A Collection of PropertyWrappers to make custom Serialization of Swift Codable Types easy
Command line tool for exporting resources and generating code from your Figma files
Turn your Swift data model into a working CRUD app.
🚀 Create XCFrameworks with ease! A Command Line Tool to create XCFramework for multiple platforms at one shot! The better way to deal with XCFrameworks for iOS, Mac Catalyst, tvOS, macOS, and watchOS.
OpenAPI/Swagger 3.0 Parser and Swift code generator
Homebrew for Swift packages
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!
Start your next Open-Source Swift Framework 📦
Easily generate cross platform Swift framework projects from the command line
🧸 Xcode Playground management made easy
🚀 Create, maintain, and interact with Xcode projects at scale
A little beautifier tool for xcodebuild
A Swift command line tool for generating your Xcode project
📝 Read, update and write your Xcode projects
Accessibility
Keep track of accessibility settings, leverage high contrast colors, and use scalable fonts to enable users with disabilities to use your app.
AI
Largest list of models for Core ML (for iOS 11+)
Accelerated tensor operations and dynamic neural networks based on reverse mode automatic differentiation for every device that can run Swift - from watchOS to Linux
Algorithm
Algorithm is a library of tools that is used to create intelligent applications.
Fast sorted collections for Swift using in-memory B-trees
Algorithms and data structures in Swift, with explanations!
Swift implementation of the longest common subsequence (LCS) algorithm.
Analytics
☂️ Analytics abstraction layer for Swift
Animation
Physics-based animations for iOS, tvOS, and macOS.
A custom View with fancy collectionView animation
☄️Comets: Animating Particles in Swift
A DSL to make animation easy on iOS with Swift.
It's magic.
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together!
Elegant SVG animation kit for swift
Advanced Natural Motion Animations, Simple Blocks Based Syntax
Gemini is rich scroll based animation framework for iOS, written in Swift.
Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
Swift interpolation for gesture-driven animations
A Fast Animation Engine with an Intuitive API
An iOS library to natively render After Effects vector animations
🎨 Gradient animation effect like Instagram
Presentation helps you to make tutorials, release notes and animated pages.
Pulse animation for iOS
Simple Interface Core Animation. Run type-safe animation sequencially or parallelly
A library to simplify iOS animations in Swift.
Better Easing for SpriteKit in Swift
Swift library for choreographing animations on the screen.
A fantastic Physical animation library for swift
Type-safe CAAnimation wrapper. It makes preventing to set wrong type values.
ViewAnimator brings your UI to life with just one line
Your fast and friendly physics-based animation system.
API
Swift implementation of Github REST API v3
Google Directions API helper for iOS, written in Swift
👤 Framework to Generate Random Users - An Unofficial Swift SDK for randomuser.me
Swift Reddit API Wrapper
[DEPRECATED] A Twitter framework for iOS & OS X written in Swift
Instagram API client written in Swift
Swift client for Kubernetes
The Swift-est way to build native mobile apps that connect to Salesforce.
Instagram Private API Swift
App Routing
📱 Launch external apps, and deeplink, with ease using Swift!
Route URL schemes easily
LiteRoute is easy transition for your app. Written on Swift 4
🎯 Your easiest way to handle all URLs.
Declarative URL- and state-based router written in Swift.
RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern
A library for managing complex workflows in Swift
A URL Router for iOS, written in Swift
⛵️ Elegant URL Routing for Swift
App Store
Build, Measure and Grow iOS subscription business
A Simple and Lightweight framework for In App Purchase
A modern In-App Purchases management framework for iOS.
Lightweight In App Purchases Swift framework for iOS 8.0+, tvOS 9.0+ and macOS 10.10+ ⛺
Audio
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote).
AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.
A maestro of pitch detection.
Start recording when the user speaks
Reads an audio file and displays the waveform
ModernAVPlayer is a persistence AVPlayer wrapper
A framework for composing and transforming music in Swift
Soundable allows you to play sounds, single and in sequence, in a very easy way
Streaming and realtime audio manipulation with AVAudioEngine
SwiftySound is a simple library that lets you play sounds with a single line of code.
🗣 An overlay that gets your user’s voice permission and input as text in a customizable UI
Augmented Reality
Using $5 Google Cardboard to replicate Hololens
Combines the high accuracy of AR with the scale of GPS data.
ARKit Demo Application
Capture & record ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆.
Voxel graphics framework using ARKit + SceneKit
🦕 Unofficial Google Poly SDK in Swift – search, discover, and download 3D models and scenes
Authentication
Plug-n-Play login system for iOS written in Swift
Simple way to authenticate Instagram accounts on iOS.
Simple view controller to log in and retrieve an access token from LinkedIn.
LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
[In]visible ReCaptcha v2 for iOS
Swift framework for authenticating with the Spotify API
Bots
Telegram Bot SDK for Swift (unofficial)
Telegram Bot - written with Swift 5.2 / NIO, supports Linux, macOS
Cache
Delightful on-disk cache (written in Swift)
Nothing but Cache.
A Caching Library is written in Swift that can cache JSON, Image, Zip or AnyObject with expiry date/TTYL and force refresh.
A small key-value data cache for iOS, macOS and tvOS, written in Swift.
A simple but flexible cache
a NSURLCache subclass for handling all web requests that use NSURLRequest
LRU, type-safe, thread-safe memory cache class in Swift
Chart
Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
ChartView made in SwiftUI
Easy to use and highly customizable charts library for iOS
A simple and beautiful chart lib used in Piner and CoinsMan for iOS(https://github.com/kevinzhow/PNChart) Swift Implementation
An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift.
Line and area chart library for iOS
Easy to use and highly customizable charts library for iOS
A charts / plotting library for SwiftUI. Works on macOS, iOS, watchOS, and tvOS and has accessibility features built in.
A customizable radar chart in Swift
Chat
A lightweight framework to build chat applications, made in Swift
A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments
A community-driven replacement for JSQMessagesViewController
A UI framework for building messenger interfaces on iOS
Messenger Clone - Real-time iOS Chat with Firebase Firestore written in Swift
Colors
An intuitive iOS color picker built in Swift.
Advanced color manipulation for iOS.
Yet another extension to manipulate colors easily in Swift and SwiftUI
🌔 A curated collection of splendid 180+ gradients made in swift
Utility that lets you define UIColors in Swift as they've meant to be defined: as HEX values
Hue is the all-in-one coloring utility that you'll ever need.
Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
An action sheet styled color picker for iOS.
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!
HEX color handling as an extension for UIColor.
Convenience methods for creating color using RGBA hex string.
A simple and powerful library for using gradient layer, image, color
Command Line
A framework for writing terminal applications in Swift.
Compose beautiful command line interfaces in Swift
A pure Swift library for creating command-line interfaces
The smartest and most beautiful (POSIX compliant) Command line framework for Swift 🤖
A pure Swift replacement for readline
💊 steroids for Xcode Playgrounds
Add beautiful progress bars to your loops.
Straightforward, type-safe argument parsing for Swift
A powerful framework for developing CLIs in Swift
Swiftline is a set of tools to help you create command line applications.
A Swift framework for shell scripting.
A lightweight library for generating text tables.
Concurrency
⛓ A chainable interface for Swift's async/await.
A complete set of primitives for concurrency and reactive programming on Swift
Lightweight promises for iOS, macOS, tvOS, watchOS, and Linux
Easy, concurrent, asynchronous tasks in Swift.
⚡️ Lightweight full-featured Promises, Async & Await Library in Swift
A lightweight, pure-Swift library for manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand.
Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD).
Swift coroutines for iOS, macOS and Linux.
Throttler is a library helping you debounce and throttle without having to go to reactive (RxSwift, Combine)
Coroutines, structured concurrency and CSP for Swift on macOS and Linux.
Currency
Swift value types for working with money & currency
CBOR
Easy CBOR encoding and decoding for iOS, macOS, tvOS and watchOS.
Core Data
Super awesome Swift minion for Core Data (iOS, macOS, tvOS)
Core Data made simple.
Robust CoreData-CloudKit synchronization: offline editing, relationships, private, shared and public databases, field-level deltas, encrypted values, cacheable assets, and more.
Unleashing the real power of Core Data with the elegance and safety of Swift
Simple CoreData wrapper to ease operations
Graph is a semantic database that is used to create data-driven applications.
A swifter Core Data stack
JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. It also allows you to migrate to any other persistence framework with minimal effort.
A simple CoreData query language for Swift and Objective-C.
A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour.
CoreData/Realm sweet wrapper written in Swift
CSV
Read and write CSV files row-by-row or through Swift's Codable interface.
A swift package for read and write CSV file
Firebase
Firebase Cloud Firestore support library for iOS. 🧢
GraphQL
Build declarative GraphQL queries in Swift.
JSON
An Alamofire extension which converts JSON response data into swift objects using ObjectMapper
Functional JSON Parser - Linux Ready
Functional JSON parsing library for Swift
🏹 Parse JSON with style
[Probably deprecated] Swift 2/3 JSON unmarshalling done (more) right
Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable.
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
A reusable framework for parsing JSON in Swift.
[Deprecated] A shiny JSON parsing library in Swift Loved by many from 2015-2021
A handy swift json-object serialization/deserialization library
A type-safe JSON decoding library purely written in Swift
Fast JSON parsing for Swift
✌ Convert anything into anything in one operation; JSON data into class instances, hex strings into UIColor/NSColor, y/n strings to booleans, arrays and dictionaries of these; anything you can make sense of!
Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
Simple JSON Object mapping written in Swift
Pure Swift JSON encoding/decoding library
High performance JSONPath queries for Swift
The better way to deal with JSON data in Swift.
macOS app to generate Swift 5 code for models from JSON (with Codeable)
[Deprecated] The easy to use Swift JSON decoder
Key Value Store
Modern interface to UserDefaults + Codable support
💾 Swifty and modern UserDefaults
Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS
Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. UserDefaults
A lightweight wrapper over UserDefaults/NSUserDefaults with an additional layer of AES-256 encryption
💾 Safe, statically-typed, store-agnostic key-value storage written in Swift!
Key-Value store for Swift backed by LevelDB
Modern Swift API for NSUserDefaults
Why not use UserDefaults to store Codable objects 😉
Effortlessly synchronize UserDefaults over iCloud.
MongoDB
Native MongoDB driver for Swift, written in Swift
A stand-alone Swift wrapper around the mongo-c client library, enabling access to MongoDB servers.
Multi Database
Elegant library to manage the interactions between view and model in Swift
Store and retrieve Codable objects to various persistence layers, in a couple lines of code!
🛶 Your lightweight persistence toolbox
ORM
Vapor ORM (queries, models, and relations) for NoSQL and SQL databases
CRUD is an object-relational mapping (ORM) system for Swift 4+.
Other Data
Excel spreadsheet (XLSX) format parser written in pure Swift
Delightful framework for iOS to easily persist structs, images, and data
Simplified access to Apple's CloudKit
KeyPathKit is a library that provides the standard functions to manipulate data along with a call-syntax that relies on typed keypaths to make the call sites as short and clean as possible.
Solutions to LeetCode by Swift
Super lightweight DB written in Swift.
Safe and easy way to use FileManager as Database
Realm
Realm is a mobile database: a replacement for Core Data & SQLite
A concise Mantle-like way of working with Realm and JSON.
Safe and easy wrappers for RealmSwift
Unrealm is an extension on RealmCocoa, which enables Swift native types to be saved in Realm.
SQL drivers
A type safe MySQL client for Swift
A stand-alone Swift wrapper around the MySQL client library, enabling access to MySQL servers.
A stand-alone Swift wrapper around the libpq client library, enabling access to PostgreSQL servers.
SQLite
A toolkit for SQLite databases, with a focus on application development
A type-safe, Swift-language layer over SQLite3.
Basic SQLite wrapper for Swift 4.x and lightweight ORM for accessing underlying tables in an SQLite database
TOML
From TOML to Swift Codable types.
XML
Swift minion for simple and lightweight XML parsing
CheatyXML is a Swift framework designed to manage XML easily
The most swifty way to deal with XML data in swift 5.
Simple XML parsing in Swift
Easy XML parsing using Codable protocols in Swift
A simple way to map XML to Objects written in Swift
YAML
Load YAML and JSON documents using Swift
A Sweet and Swifty YAML parser.
ZIP
Swift framework for zipping and unzipping files.
Effortless ZIP Handling in Swift
Date
Swifty Date & Time API inspired from Java 8 DateTime API.
Building a better date/time library for Swift
A Swift Date extension helper
📆 Breeze through Date, DateComponents, and TimeInterval with Swift!
Easypeasy date functions. 🕛
📅 Swift4 Date extension library
🐔 Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.
A time and calendar manipulation library for iOS 9+, macOS 10.11+, tvOS 9+, watchOS 2+ written in Swift 4.
🕰 Type-safe time calculations in Swift
Intuitive date handling in Swift
NTP library for Swift and Objective-C. Get the true time impervious to device clock changes.
Dependency Injection
Lightweight Swift Dependency Injection Framework
A Coreader-like Dependency Injection μFramework
Deli is an easy-to-use Dependency Injection(DI).
Dependency Injection Framework for Swift, inspired by KOIN.
Simple Swift Dependency container. Use protocols to resolve your dependencies and avoid singletons / sharedInstances!
Dependency injection for iOS (Swift)
A micro-framework that leverages Swift Property Wrappers to implement the Service Locator pattern
Pure DI in Swift
Dependency injection framework for Swift with iOS/macOS/Linux
Powerful dependency injection for Objective-C ✨✨ (https://PILGRIM.PH is the pure Swift successor to Typhoon!!)✨✨
Dependency Injection framework for Swift (iOS/macOS/Linux)
Device
Light weight tool for detecting the current device and screen size written in swift.
Super-lightweight library to detect used device
DeviceKit is a value-type replacement of UIDevice.
Swift library to easily check the current device and some more info about it.
Luminous provides you a lot of information about the system and a lot of handy methods to quickly get useful data on the iOS platform.
A modern device detection and querying library.
UIDevice extensions that fill in the missing pieces.
Documentation
Soulful docs for Swift & Objective-C
Generate Markdown documentation from source code
Embedded Systems
A Swift library for hardware projects on Linux/ARM boards with support for GPIOs/SPI/I2C/PWM/UART/1Wire.
Events
A Swift binding framework
Write great asynchronous code in Swift using futures and promises
UI event handling using Apple's combine framework.
Easy Swift Futures & Promises.
Type-safe event handling for Swift
A Swift based Future/Promises Library for IOS and OS X.
Swift Apps in a Swoosh! A modern framework for creating iOS apps, inspired by Redux.
📬 A lightweight implementation of an observable sequence that you can subscribe to.
NoticeObserveKit is type-safe NotificationCenter wrapper.
📡 Helping you own NotificationCenter in Swift!
The easiest way to observe values in Swift.
Open source implementation of Apple's Combine framework for processing values over time.
Modern thread-safe and type-safe key-value observing for Swift and Objective-C
Promises for Swift & ObjC.
Cocoa framework and Obj-C dynamism bindings for ReactiveSwift.