Swiftpack.co - LiveUI/Awesome as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
FontAwesome 5 Swift implementation for iOS, tvOS & macOS
.package(url: "https://github.com/LiveUI/Awesome.git", from: "2.3.0")


Font Awesome Slack Version License Platform

Super easy to use library containing the brand new Font Awesome 5, completely redesigned for Swift 4


Get help using and installing this product on our Slack, channel #help-awesome


Awesome is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AwesomeEnum'

for Carthage just add:

github "LiveUI/Awesome"

for Swift Package Manager

  1. You can add in your project settings under Swift Packages or File -> Swift Packages -> Add Package to enter the following url and select version to complete.
  1. If you want to add in package.swift manifest file add under dependencies.
.package(url "https://github.com/LiveUI/Awesome", from: 2.0.0)


Import will be slightly different for Cocoapods/Carthage/SPM. Sorry for the confusion of names but some unreasonable fellow has already registered an Awesome pod before us :).


import AwesomeEnum


import Awesome

Swift Package Manager

import Awesome

All icons are available through autogenerated enums like this:

let image = Awesome.Solid.handScissors.asImage(size: 40.0)
// or
let image = Awesome.Brand.android.asImage(size: CGSize(width: 40, height: 40), color: .red, backgroundColor: .blue) // :trollface:
// or
let attributedText = Awesome.Regular.envelopeOpen.asAttributedText(fontSize: 17, color: .red, backgroundColor: .blue)

Font Awesome Pro

The Font Awesome Free files are included and loaded for you out of the box. Font Awesome Pro licensing terms don't allow to publish the font files however, so we can't add those for you. As such you will need to manually add the fonts to your project and register them before using them:

// AppDelegate application(_:didFinishLaunchingWithOptions:)

// Load all fonts
AwesomePro.loadFonts(from: Bundle.main)

// Load only some fonts
AwesomePro.loadFonts(from: Bundle.main, only: [.brand, .solid])

//For registering fonts use Bundle.module
let resourceURLString = Bundle.module.url(forResource: fontName, withExtension: nil)

The filenames have to match Font Awesome's naming scheme (fa-brands-400.ttf, fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf). You only have to include the fonts you are using.

Once the fonts are registered you can use the AwesomePro enum just as you'd use the Awesome enum, except that you now have access to all Font Awesome Pro icons.



Awesome is available under the MIT license. See the LICENSE for more info. All fonts are property of Font Awesome!


Stars: 59
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

Swift Package Manager
1 week ago
  • updated FA font files

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics