Swift
repo: matteocrippa/awesome-swift
category: Programming Languages
related: iOS · Vapor
Awesome Swift
| Awesome | Linux | Projects | Updated |
|---|---|---|---|
| :penguin: | 1099 | April 10, 2026 |
In parternship with:
Contents
- Guides
- Boilerplates
- REPL
- Editor Support
- Benchmark
- Converters
- [Other Awesome Lists](#other-awesome-lists)
- Dependency Managers
- Patterns
- Misc
- Libs
- Accessibility
- AI
- Algorithm
- Analytics
- Animation
- API
- App Routing
- App Store
- Audio
- Augmented Reality
- Authentication
- Bots
- Cache
- Chart
- Chat
- Colors
- Command Line
- Concurrency
- Currency
- Data Management
- Date
- Dependency Injection
- Device
- Documentation
- Embedded Systems
- Events
- Files
- Fonts
- Game Engine
- Games
- Gesture
- Hardware
- Images
- Key Value Coding
- Keyboard
- Kit
- Layout
- Localization
- Location
- Logging
- Maps
- Math
- Natural Language Processing
- Network
- OCR
- Optimization
- Quality
- Scripting
- SDK
- Security
- Streaming
- Styling
- SVG
- System
- Testing
- Text
- Thread
- UI
- Utility
- Validation
- Version Manager
- Video
- Serverless
Guides
An awesome list of Swift related guides.
Newsletter
- Open Source Updates for Swift Projects - A bi-weekly newsletter to give you the latest updates on popular and unknown open source projects written or related to Swift.
Official Guides
- API Design Guidelines - Official Swift API design guidelines.
- Apple eBook - Official Apple eBook for Swift beginners.
- Getting Started - Find information about the how to use the Swift programming language.
- Introducing SwiftUI - Official SwiftUI tutorial with 4+ hours of content and interactive tutorials.
Style Guides
- Airbnb - Airbnb's Official Style Guide.
- Google - This style guide is based on Apple’s excellent Swift standard library style and also incorporates feedback from usage across multiple Swift projects within Google.
- LinkedIn - LinkedIn's Official Style Guide.
- Raywenderlich - Raywenderlich guide, a must read.
Third party Guides
- 30 Days of Swift - A cool 30 days tutorial.
- About Swift - A playground about the Swift language.
- Awesome Swift Education - An organized list of essential Swift Language Topics.
- Conferences.digital - Watch conference videos in a native macOS app.
- [Developing iOS Apps with Swift](https://podcasts.apple.com/us/podcast/developing-ios-11-apps-with-swift/id1315130780) - Stanford course by Paul Hegarty.
- Hacking With Swift - Complete training course that teaches app development through 30 hands-on projects, for free.
- [Ray Wenderlich Tutorials, Videos, Podcasts and books](https://www.kodeco.com) - High quality programming tutorials.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
- Swift Education - A community of educators sharing materials for teaching Swift and app development.
- swift-tips - A series of useful tips by Vincent Pradeilles.
- SwiftDoc - Auto-generated documentation.
- SwiftGuide CN - A Chinese written guide.
- SwiftTips - A collection of useful tips by John Sundell.
Boilerplates
- iOS project template - iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Model-View-Presenter template - A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.
- Swift Module Template - An opinionated starting point for awesome, reusable modules.
REPL
- Online Swift Playground - Online Swift Playground.
- SwiftFiddle - Playground for making, sharing, and embedding Swift code.
Editor Support
Support for your favorite editors.
Emacs
- swift-mode - Emacs support, including partial flycheck error support.
Google Colaboratory
- swift-colab - Run Swift in a browser.
Vim
- swift-vim - Vim runtime files.
- vim-polyglot - Language pack for vim that includes vim-swift.
Benchmark
- xcprofiler - Command line utility to profile compilation time.
Converters
- Swiftify - Objective-C to Swift online code converter and Xcode extension.
- Zolang :penguin: - A DSL for generating code in multiple programming languages.
Other Awesome Lists
Check out apps on these projects:
- Awesome iOS Interview - List of the questions that helps you to prepare for the interview.
- awesome-macOS - A curated list of awesome applications, softwares, tools and shiny things for macOS.
- example-ios-apps - An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
- open-source-ios-apps - A collaborative list of open-source iOS Apps.
- open-source-mac-os-apps - Awesome list of open source applications for macOS.
Dependency Managers
Dependency manager software for Swift.
- Accio - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage.
- Carthage - A new dependency manager.
- CocoaPods - The most used dependency manager.
- Mint - A package manager that installs and runs Swift command line tools.
- swift-package-manager - SPM is the Package Manager for the Swift Programming Language.
- Swiftly - Swift CLI toolchain installer to install different versions of Swift.
Patterns
- App Architecture - A sample Code of the App Architecture Book.
- CleanArchitectureRxSwift - Example of Clean Architecture of iOS app using RxSwift.
- Design-Patterns-In-Swift - Design Patterns.
- GoodReactor - ⚛️ GoodReactor is a Redux-inspired Reactor framework for communication between the View Model, View Controller, and Coordinator.
- Reactant - Reactant is a reactive architecture for iOS.
- ReduxUI - Redux framework for easy use with SwiftUI.
- SimplexArchitecture - A Simple architecture that decouples state changes from SwiftUI's View
- Spin - Provides a versatile Feedback Loop implementation working with RxSwift, ReactiveSwift and Combine.
- StateViewController - Stateful UIVIewController composition — the MVC cure for Massive View Controllers.
- [SwiftUI Atom Properties](https://github.com/ra1028/swiftui-atom-properties) - A Reactive Data-Binding and Dependency Injection Library for SwiftUI x Concurrency.
- The Composable Architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
- Viperit - Viper Framework for iOS.
Misc
Miscellaneous Swift related projects
- Beak - A command line interface for your Swift scripts.
- BetterCodable - Level up your
Codablestructs through property wrappers. The goal of these property wrappers is to avoid implementing a custominit(from decoder: Decoder)throws and suffer through boilerplate. - CodableWrappers - A Collection of PropertyWrappers to make custom Serialization of Codable Types easy.
- Forked - Generalized approach to managing shared data in Swift applications to support Local-first apps.
- Fugen - A command line tool for exporting resources and generating code from your Figma files.
- MemberwiseInit -
@MemberwiseInitis a Swift Macro that can more often provide your intendedinit, while following the same safe-by-default semantics of Swift’s memberwise initializers. - Model2App - Turn your data model into a working CRUD app.
- Surmagic - Create XCFrameworks with ease! A Command Line Tool to create XCFramework for multiple platforms at one shot! iOS, Mac Catalyst, tvOS, macOS, and watchOS.
- SwagGen :penguin: - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
- Swiftbrew - Homebrew for Swift packages.
- SwiftGen - A suite of tools to auto-generate code for various assets of your project.
- SwiftKit - Start your next Open-Source Swift Framework 📦.
- SwiftPlate - Easily generate cross platform framework projects from the command line.
- Toybox - Xcode Playground management made easy.
- Tuist - An open source command line tool to create, maintain and interact with your Xcode projects at scale.
- xc - A tool to open the Xcode project file by the specified version.
- xcbeautify - Little beautifier tool for xcodebuild.
- XcodeGen - Tool for generating Xcode projects from a YAML file and your project directory.
- xcodeproj - A library to read, update and write Xcode projects and workspaces.
Libs
Here you can find a list of snippets and libs for your Swift projects.
Accessibility
- Capable - Keep track of accessibility settings, leverage high contrast colors, and use scalable fonts to enable users with disabilities to use your app.
AI
Libs for AI based projects (Machine Learning, Neural Networks etc). back to top
- CoreML-Models - A collection of unique Core ML Models.
- DL4S - Automatic differentiation, fast tensor operations and dynamic neural networks from CNNs and RNNs to transformers.
- EdgeRunner - Fast, local LLM inference for Apple Silicon. Built in Swift and Metal from the ground up.
- Espresso - Compile transformers directly for Apple's Neural Engine.
- Fazm - A voice-controlled AI agent for macOS using accessibility APIs and ScreenCaptureKit.
- OpenAI - Swift package for OpenAI public API.
Algorithm
- Algorithm - A toolset for writing algorithms and probability models.
- BTree - Fast sorted collections for Swift using in-memory B-trees.
- swift-algorithm-club - Algorithms and data structures, with explanations.
- SwiftLCS :penguin: - implementation of the longest common subsequence (LCS) algorithm.
Analytics
Analytics related libraries to easily track your app usage back to top
- Aptabase - Open Source, Privacy-First and Simple Analytics for Swift Apps.
- Scout - Production-grade logging SDK for iOS apps using CloudKit as a backend.
- Tracker Aggregator - Versatile analytics abstraction layer.
- Umbrella - Analytics abstraction layer.
Animation
Libs to help with animation back to top
- Advance - A powerful animation framework for iOS, tvOS, and OS X.
- AnimatedGradient - Animated linear gradient library written with SwiftUI
- ChainPageCollectionView - Fancy two-level collection view layout and animation.
- CocoaSprings - Interactive spring animations for iOS/macOS.
- Comets - Animating Particles.
- Ease - Animate everything with Ease.
- EasyAnimation - A library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
- Elephant - Elegant SVG animation kit.
- FlightAnimator - Natural Blocks Based Core Animation Framework.
- Gemini - Gemini is rich scroll based animation framework.
- IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
- Interpolate - Interpolation framework for creating interactive gesture-driven animations.
- lottie-ios - An iOS library to natively render After Effects vector animations.
- Pastel - Gradient animation effect like Instagram.
- Poi - Poi makes you use card UI like tinder UI .You can use it like tableview method.
- Presentation - A library to help you to make tutorials, release notes and animated pages.
- Pulsator - Pulse animation for iOS.
- Sica - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly.
- Spring - A library to simplify iOS animations.
- SpriteKitEasingSwift - Better Easing for SpriteKit.
- spruce-ios - Choreograph animations on the screen.
- Stellar - A Physical animation library.
- TheAnimation - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values.
- ViewAnimator - Brings your UI to life with just one line.
- YapAnimator - Your fast and friendly physics-based animation system.
API
Quick libs to get access to third party API services back to top
- GitHubAPI - Implementation of GitHub REST API v3.
- GitHubRestAPISwiftOpenAPI - Scheduled generated GitHub's REST API as Swift code from OpenAPI specification.
- PXGoogleDirections - Google Directions API helper.
- RandomUserSwift - Framework to Generate Random Users - An Unofficial SDK for randomuser.me.
- reddift - reddit API wrapper.
- SwiftDisc - Discord API library for bots and integrations.
- Swifter Twitter - Twitter framework.
- Swiftkube :penguin: - Swift client for Kubernetes.
- SwiftlySalesforce - Framework for rapid development of native iOS apps that integrate with Salesforce.
- SwiftyInsta - Private and Tokenless Instagram RESTful API.
- YouTubeKit - Interact with the YouTube API without an API key.
App Routing
Internal app routing systems. back to top
- Appz - Launch external apps and deeplink with ease.
- Crossroad - :oncoming_bus: Crossroad is an URL router focused on handling Custom URL Schemes.
- LightRoute - Routing between VIPER modules.
- Linker - Lightweight way to handle internal and external deeplinks for iOS.
- MonarchRouter - Declarative state- and URL-based router. Complex automatic View Controllers hierarchy transitions. Time-tested server-side conventions.
- RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
- SwiftCurrent - Manage complex workflows wherever Swift can be built. It comes with built-in support for UIKit, Storyboards, and SwiftUI.
- SwiftRouter - A URL Router for iOS.
- SwiftUIRoutes - A minimal and flexible router for SwiftUI apps.
- URLNavigator - Elegant URL Routing.
App Store
Libs to help with apple app store, in app purchases and receipt validation. back to top
- Apphud - Lightweight library to easily handle auto-renewable subscriptions with no backend required.
- AppReview - A tiny library to request review on the AppStore via SKStoreReviewController.
- Flare - A framework that simplifies working with in-app purchases on iOS, macOS, tvOS, and watchOS, with full support for both StoreKit 1 and StoreKit 2.
- InAppPurchase - A Simple, Lightweight and Safe framework for In App Purchase.
- merchantkit - A modern In-App Purchases management framework for iOS.
- SwiftyStoreKit - Lightweight In App Purchases framework.
Audio
Libs to work with audio back to top
- AudioKit - Powerful audio synthesis, processing and analysis, without the steep learning curve.
- AudioPlayer - A wrapper around AVPlayer with some cool features.
- AudioPlayerSwift - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps.
- Beethoven - An audio processing library for pitch detection of musical signals.
- FDSoundActivatedRecorder - Start recording when the user speaks.
- FDWaveformView - An easy way to display an audio waveform in your app.
- FluidAudio - SDK for real-time on-device audio intelligence on iOS/macOS (diarization, identification, VAD, separation, embeddings, ASR), with CoreML models converted directly from PyTorch to leverage Apple Neural Engine performance.
- ModernAVPlayer - Persistence AVPlayer to resume playback after bad network connection even in background mode.
- MusicKit - A framework for composing and transforming music.
- Soundable - Soundable allows you to play sounds, single and in sequence, in a very easy way.
- SwiftAudioPlayer - Simple audio player for iOS that streams and performs realtime audio manipulations with AVAudioEngine.
- SwiftySound - Simple library that lets you play sounds with a single line of code.
- voice-overlay-ios - An overlay that gets your user’s voice permission and input as text in a customizable UI.
Augmented Reality
- ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens.
- ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
- ARKit-Navigation - Navigation in augmented reality with MapKit.
- ARVideoKit - Capture & record ARKit videos, photos, Live Photos, and GIFs.
Authentication
Easy way to manage auth in your apps. back to top
- Cely - A Plug-n-Play login framework.
- LinkedInSignIn - Simple view controller to log in and retrieve an access token from LinkedIn.
- LoginKit - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
- ReCaptcha - [In]visible ReCaptcha for iOS.
- SpotifyLogin - Authenticate with the Spotify API.
Bots
Libs to build bot back to top
- Telegram Bot SDK :penguin: - Unofficial SDK.
- Telegrammer :penguin: - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.
Cache
- AwesomeCache - Manage cache easy.
- Cache - Nothing but Cache.
- CachyKit - A Caching Library that can cache JSON, Image, Zip or AnyObject with expiry date/TTYL and force refresh.
- Cachyr - A small key-value data cache for iOS, macOS and tvOS.
- Carlos - A simple but flexible cache.
- EVURLCache - If you want to make your app still works when it's offline.
- MemoryCache - Type-safe memory cache.
- Monstra - Memory cache framework with TTL, priority-based eviction, and avalanche protection.
Chart
- Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
- ChartView - Swift package for displaying beautiful charts effortlessly
- FLCharts - Easy to use and highly customizable charts library for iOS.
- ScrollableGraphView - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
- SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
- SwiftCharts - Highly customizable charts for iOS.
- SwiftUICharts - A charts / plotting library for SwiftUI. Works on macOS, iOS, watchOS, and tvOS and has accessibility and Localization features built in.
- TKRadarChart - A customizable radar chart.
Chat
Libs to get access to build chat app back to top
- Chatto - A lightweight framework to build chat applications.
- ExyteChat - SwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker
- InputBarAccessoryView - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
- MessageKit - A community-driven replacement for JSQMessagesViewController.
- MessengerKit - A UI framework for building messenger interfaces.
- Real-time Chat with Firebase - Functional real-time chat app with Firebase Firestore using MessageKit.
Colors
Interesting snippets related to color management and utility. back to top
- ChromaColorPicker - An intuitive and fun iOS color picker.
- ColorKit - Advanced color manipulation for iOS.
- DynamicColor - An extension to manipulate colors easily.
- Gradients - A curated collection of splendid 180+ gradients.
- Hue - Hue is the all-in-one coloring utility that you'll ever need.
- PrettyColors - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
- SheetyColors - An action sheet styled color picker for iOS.
- SwiftGen-Colors - A tool to auto-generate
enumsfor yourUIColorconstants. - SwiftHEXColors - HEX color handling as an extension for UIColor.
- UIColor-Hex-Swift - Hex to UIColor converter.
- UIGradient - A simple and powerful library for using gradient layer, image, color.
Command Line
Create command line applications. back to top
- Ashen - A framework for writing terminal applications in Swift. Based on The Elm Architecture.
- Commander :penguin: - Compose beautiful command line interfaces.
- Guaka :penguin: - The smart and beautiful (POSIX compliant) command line framework.
- LineNoise :penguin: - A zero-dependency replacement for readline.
- Mocker - Docker-compatible container CLI for macOS, built on Apple's Containerization framework.
- nef - A set of command line tools that lets you have compile time verification of your documentation written as Xcode Playground.
- Progress.swift :penguin: - Add beautiful progress bars to your command line.
- Swift Argument Parser - Straightforward, type-safe argument parsing for Swift.
- SwiftCLI :penguin: - A powerful framework that can be used to develop a CLI.
- Swiftline - A set of tools to help you create command line applications.
- SwiftShell - A library for creating command-line applications and running shell commands.
- SwiftyTextTable :penguin: - A lightweight library to generate text tables.
Concurrency
Easier ways to work with concurrency. back to top
truncated — full list on GitHub
