MingCute Icons as SF Symbols for Swift — fill-based icons converted via SwiftDraw.
All icons are available as type-safe Swift properties with full support for SwiftUI, UIKit, and AppKit. Each icon comes in two variants: _line (outline) and _fill (solid).
| Platform | Minimum Version |
|---|---|
| iOS | 14.0 |
| macOS | 11.0 |
| watchOS | 7.0 |
| tvOS | 14.0 |
| visionOS | 1.0 |
Add the package to your project in Xcode:
- Go to File → Add Package Dependencies...
- Enter the repository URL:
https://github.com/lcandy2/MingCuteIcon.git
Or add it to your Package.swift:
dependencies: [
.package(url: "https://github.com/lcandy2/MingCuteIcon.git", from: "1.0.0")
]Then add "MingCuteIcon" to the dependencies of your target.
import MingCuteIcon
// Image
Image(mingCute: .heart_line)
Image(mingCute: .arrow_left_fill)
// Label (iOS 17+ / macOS 14+)
Label("Search", mingCute: .search_2_line)
Label("Favorites", mingCute: .heart_fill)import MingCuteIcon
let heartImage = UIImage(mingCute: .heart_line)
let searchImage = UIImage(mingCute: .search_2_line)import MingCuteIcon
let heartImage = NSImage(mingCute: .heart_line)
let searchImage = NSImage(mingCute: .search_2_line)Icons use snake_case Swift property names converted from the original MingCute underscore naming:
| MingCute File | Swift Property | SF Symbol Identifier |
|---|---|---|
heart_line.svg |
.heart_line |
heart-line |
heart_fill.svg |
.heart_fill |
heart-fill |
arrow_left_line.svg |
.arrow_left_line |
arrow-left-line |
home_1_fill.svg |
.home_1_fill |
home-1-fill |
The library includes icons across 26 categories:
| Category | Description |
|---|---|
| arrow | Directional and navigation icons |
| building | Architecture and structure icons |
| business | Commerce and professional icons |
| contact | Communication and connection icons |
| crypto | Cryptocurrency-related icons |
| design | Design and creative tools |
| development | Software development icons |
| device | Hardware and gadget icons |
| editor | Text editing and content icons |
| education | Learning and academic icons |
| emoji | Expressive and decorative icons |
| file | Document and file type icons |
| food | Culinary and nutrition icons |
| logo | Brand and company logos |
| map | Geography and location icons |
| media | Audio, video, and entertainment |
| nature | Plants, animals, and natural elements |
| other | Miscellaneous icons |
| part | UI component parts |
| shape | Geometric shapes |
| sport | Athletic and recreation icons |
| system | Operating system icons |
| transport | Vehicle and travel icons |
| user | Profile and account icons |
| weather | Climate and atmospheric icons |
| zodiac | Astrological sign icons |
For the complete list of all icons, see MingCuteIcon+All.swift.
Importing MingCuteIcon includes all symbols in your app bundle (Xcode does not tree-shake asset catalogs). The compiled asset catalog is estimated at 3–5 MB — comparable to other icon libraries like PhosphorSymbols and Iconoir-Swift.
If you only need a few icons and want to minimize bundle size, you can copy individual .symbolset folders from Symbols/ directly into your project's .xcassets catalog — no need to add the full package.
The conversion pipeline downloads SVG icons from the mingcute-design/mingcute-icons GitHub repository and converts them to SF Symbol format:
- Download — Sparse-clone the SVG directory from the GitHub repository
- Extract — Parse SVG files, strip metadata paths, normalize fill colors
- Convert — Transform each SVG to SF Symbol format via SwiftDraw (
--format sfsymbol) - Catalog — Generate an
.xcassetsasset catalog with.symbolsetentries - Codegen — Generate
MingCuteIcon+All.swiftwith type-safe static properties
To re-run the conversion (e.g., after an upstream update):
# Install dependencies
brew install swiftdraw
# Run conversion
./update_symbols.shOr with options:
# Point to a local copy of the repo
node Scripts/convert.mjs --repo-dir /path/to/mingcute-icons
# Custom output paths
node Scripts/convert.mjs --output Sources/MingCuteIcon --symbols SymbolsA GitHub Actions workflow (.github/workflows/convert.yml) automates updates:
- Runs weekly (Monday) and on manual dispatch
- Clones the latest icons from GitHub
- Converts all icons and runs
swift build+swift test - Creates a tagged release if changes are detected
- MingCute Design — Original icon design
- SwiftDraw — SVG to SF Symbol conversion
- UntitledUIIcons — Inspiration for the conversion pipeline
The conversion tooling is MIT licensed. MingCute Icons are subject to their own Apache 2.0 license.