Generate simple icons using SFSymbols, emojis, or text. Just like Contacts and Reminders!


Simply create an SFIcon and use within an SFIconview. Modifiers still apply to the underlying SFSymbol Image and Text for further native customization.

let sfIcon: SFIcon = SFIcon(
    icon: .sfSymbol(systemName: "list.bullet"),
    iconStyle: .color(.white),
    shape: .circle,
    shapeStyle: .color(.red)

// ... in `View`

var body: some View {
    SFIconView(sfIcon: sfIcon)
        .fontWeight(.heavy) // The SFSymbol font will be heavy


An icon can be a defined SFSymbol systemName or String, about 2 uppercased characters can fit comfortably.

.sfSymbol("") .string("?") .string("SJ")
29DE0B2C-2FBE-494A-8ECD-E78F8A1E16D8 0AC4AB47-0865-4DA6-A9A7-FCB9D2289476 88512527-A41A-4F0F-83C5-F7FD902647D0


A sample project is provided for iOS, tvOS, and macOS. tvOS and macOS will generate a random icon and iOS has a customizable view that replicates the list creation from Reminders with emoji and text icon input.

iOS example


View Github