A native-feeling SF Symbols picker for iOS, iPadOS, macOS and visionOS, designed to integrate seamlessly into your app.
Swift
52
109 commits
updated Mar 30, 2026
SymbolPicker

SymbolPicker is a SwiftUI package that provides a native, highly customizable symbol picker component for iOS, iPadOS, macOS, and visionOS. Built to integrate seamlessly with SwiftUI, it leverages Apple’s SF Symbols and offers a familiar interface for browsing and selecting symbols with flexible styling and color options. With support for dynamic type, accessibility, and platform-adaptive presentations, SymbolPicker is ideal for creating intuitive symbol selection experiences.
For detailed documentation, visit the SymbolPicker Documentation.
[Double], SwiftUI Color, or predefined SymbolColor), and filled/outline variants via SwiftUI modifiers.[Double] for RGBA, SwiftUI Color, or SymbolColor with precise styling via customColor(red:green:blue:alpha:).Explore additional SymbolPicker resources to deepen your understanding:
The SymbolPicker component is a SwiftUI View that adapts to each platform, offering a simple yet powerful API for integration and customization.
A minimal setup for a functional symbol picker across platforms:
import SwiftUI
import SymbolPicker
struct ContentView: View {
@State private var isPresented = false
@State private var symbolName = "star.fill"
var body: some View {
Button(action: { isPresented = true }) {
Image(systemName: symbolName)
.resizable()
.scaledToFit()
.frame(width: 50, height: 50)
}
.symbolPicker(isPresented: $isPresented, symbolName: $symbolName)
.symbolPickerSymbolsStyle(.filled)
.symbolPickerDismiss(type: .onSymbolSelect)
}
}
Enhance the symbol picker with color selection using [Double], SymbolColor, or SwiftUI Color, along with custom styles and platform-specific behaviors:
import SwiftUI
import SymbolPicker
struct ContentView: View {
@State private var isPresented = false
@State private var symbolName = "car.fill"
@State private var colorValues: [Double] = [0.906, 0.392, 0.416, 1.0]
var body: some View {
VStack {
Image(systemName: symbolName)
.foregroundStyle(Color(
red: colorValues[0],
green: colorValues[1],
blue: colorValues[2],
opacity: colorValues[3]
))
.font(.system(size: 64))
Button("Select Symbol") { isPresented.toggle() }
Text("Symbol: \(symbolName)")
}
.padding()
.symbolPicker(
isPresented: $isPresented,
symbolName: $symbolName,
color: $colorValues
)
.symbolPickerSymbolsStyle(.filled)
.symbolPickerDismiss(type: .onSymbolSelect)
}
}
The SymbolPicker package offers modifiers to customize its appearance, behavior, and interaction. Below are key examples from each category. For a complete list, refer to the SymbolPicker Documentation.
symbolPicker(isPresented:symbolName:): Presents the picker without color selection, ideal for simple symbol selection.symbolPicker(isPresented:symbolName:color:): Configures the picker with color binding supporting [Double] for RGBA, SwiftUI Color, or SymbolColor.symbolPickerSymbolsStyle(_:): Toggles between .filled (e.g., star.fill) and .outline (e.g., star) symbol variants.symbolPickerDismiss(type:): Configures dismissal behavior, with .onSymbolSelect to close the picker upon symbol selection.SymbolColor values (e.g., .red, .blue, .customColor(red:green:blue:alpha:)) for consistent styling.[Double] for RGBA values, SwiftUI Color, or SymbolColor.customColor(red:green:blue:alpha:) for precise color customization.Add SymbolPicker to your project via Swift Package Manager. The minimum version required is 1.0.0.
Package.swift:dependencies: [
.package(url: "https://github.com/SzpakKamil/SymbolPicker.git", from: "1.0.0")
]
https://github.com/SzpakKamil/SymbolPicker.git.You can install the SymbolPicker skill for your CLI agent to get expert guidance on SymbolPicker directly in your terminal.
npx skills add https://github.com/SzpakKamil/AgentSkills --skill SymbolPicker
npx dlx clawdhub@latest install symbolpicker
SymbolPicker is released under the MIT license.
108 commits
1 commits
Swift
100.0%
A native-feeling SF Symbols picker for iOS, iPadOS, macOS and visionOS, designed to integrate seamlessly into your app.
Swift
52
109 commits
updated Mar 30, 2026
SymbolPicker

SymbolPicker is a SwiftUI package that provides a native, highly customizable symbol picker component for iOS, iPadOS, macOS, and visionOS. Built to integrate seamlessly with SwiftUI, it leverages Apple’s SF Symbols and offers a familiar interface for browsing and selecting symbols with flexible styling and color options. With support for dynamic type, accessibility, and platform-adaptive presentations, SymbolPicker is ideal for creating intuitive symbol selection experiences.
For detailed documentation, visit the SymbolPicker Documentation.
[Double], SwiftUI Color, or predefined SymbolColor), and filled/outline variants via SwiftUI modifiers.[Double] for RGBA, SwiftUI Color, or SymbolColor with precise styling via customColor(red:green:blue:alpha:).Explore additional SymbolPicker resources to deepen your understanding:
The SymbolPicker component is a SwiftUI View that adapts to each platform, offering a simple yet powerful API for integration and customization.
A minimal setup for a functional symbol picker across platforms:
import SwiftUI
import SymbolPicker
struct ContentView: View {
@State private var isPresented = false
@State private var symbolName = "star.fill"
var body: some View {
Button(action: { isPresented = true }) {
Image(systemName: symbolName)
.resizable()
.scaledToFit()
.frame(width: 50, height: 50)
}
.symbolPicker(isPresented: $isPresented, symbolName: $symbolName)
.symbolPickerSymbolsStyle(.filled)
.symbolPickerDismiss(type: .onSymbolSelect)
}
}
Enhance the symbol picker with color selection using [Double], SymbolColor, or SwiftUI Color, along with custom styles and platform-specific behaviors:
import SwiftUI
import SymbolPicker
struct ContentView: View {
@State private var isPresented = false
@State private var symbolName = "car.fill"
@State private var colorValues: [Double] = [0.906, 0.392, 0.416, 1.0]
var body: some View {
VStack {
Image(systemName: symbolName)
.foregroundStyle(Color(
red: colorValues[0],
green: colorValues[1],
blue: colorValues[2],
opacity: colorValues[3]
))
.font(.system(size: 64))
Button("Select Symbol") { isPresented.toggle() }
Text("Symbol: \(symbolName)")
}
.padding()
.symbolPicker(
isPresented: $isPresented,
symbolName: $symbolName,
color: $colorValues
)
.symbolPickerSymbolsStyle(.filled)
.symbolPickerDismiss(type: .onSymbolSelect)
}
}
The SymbolPicker package offers modifiers to customize its appearance, behavior, and interaction. Below are key examples from each category. For a complete list, refer to the SymbolPicker Documentation.
symbolPicker(isPresented:symbolName:): Presents the picker without color selection, ideal for simple symbol selection.symbolPicker(isPresented:symbolName:color:): Configures the picker with color binding supporting [Double] for RGBA, SwiftUI Color, or SymbolColor.symbolPickerSymbolsStyle(_:): Toggles between .filled (e.g., star.fill) and .outline (e.g., star) symbol variants.symbolPickerDismiss(type:): Configures dismissal behavior, with .onSymbolSelect to close the picker upon symbol selection.SymbolColor values (e.g., .red, .blue, .customColor(red:green:blue:alpha:)) for consistent styling.[Double] for RGBA values, SwiftUI Color, or SymbolColor.customColor(red:green:blue:alpha:) for precise color customization.Add SymbolPicker to your project via Swift Package Manager. The minimum version required is 1.0.0.
Package.swift:dependencies: [
.package(url: "https://github.com/SzpakKamil/SymbolPicker.git", from: "1.0.0")
]
https://github.com/SzpakKamil/SymbolPicker.git.You can install the SymbolPicker skill for your CLI agent to get expert guidance on SymbolPicker directly in your terminal.
npx skills add https://github.com/SzpakKamil/AgentSkills --skill SymbolPicker
npx dlx clawdhub@latest install symbolpicker
SymbolPicker is released under the MIT license.
108 commits
1 commits
Swift
100.0%