LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

sfsym

Export Apple SF Symbols as SVG, PDF, or PNG

TLDR

Install from the project tap via Homebrew
$ brew install yapstudios/tap/sfsym
copy
Export a symbol as SVG (format inferred from extension)
$ sfsym export [heart.fill] -o [heart.svg]
copy
Export a PNG with a custom color and canvas size
$ sfsym export [star.fill] --color [#FFD60A] --size [48] -o [star.png]
copy
Render a palette (multi-color) symbol
$ sfsym export [person.2.fill] --mode [palette] --palette [#4F46E5,#22D3EE] -o [out.svg]
copy
List every available symbol (8,300+)
$ sfsym list
copy
Search the catalogue for a keyword
$ sfsym list --search [magnifyingglass]
copy
Browse symbols in a category
$ sfsym list --category [weather] --limit [10]
copy
Batch-process many exports from stdin (~800/sec)
$ cat [jobs.txt] | sfsym batch
copy

SYNOPSIS

sfsym command [options]

DESCRIPTION

sfsym is a command-line tool that renders Apple's SF Symbols directly through the operating-system symbol renderer, no Xcode required. It produces crisp SVG, PDF, or PNG assets in any weight, mode, color, or size supported by the system — useful for design pipelines, documentation generation, icon build steps, and web exports.The tool bundles a universal binary that runs on Apple Silicon and Intel Macs, so it can be dropped into CI. For batch workflows the batch subcommand accepts stdin requests and reaches roughly 800 exports per second because it reuses a single rendering context. Machine-readable metadata is available through info, modes, and schema, making sfsym easy to wrap from scripts and editor plugins.

PARAMETERS

-f FORMAT

Force output format: svg, pdf, or png.
--mode MODE
Rendering mode: monochrome, hierarchical, palette, multicolor.
--weight WEIGHT
Font weight of the symbol: ultralight, thin, light, regular, medium, semibold, bold, heavy, black.
--size N
Canvas size in points (1–2048). PNG output uses 2× pixel density.
--color HEX|NAME
Primary color. Accepts short and long hex (#RGB, #RRGGBB, #RRGGBBAA) or a named system color.
--palette C1,C2,...
Comma-separated palette colors used with --mode palette.
-o PATH
Output file; - writes to stdout.
--json
Produce structured output for info/list/schema.

COMMANDS

export NAME -o FILE

Render a single SF Symbol. The output format (svg/pdf/png) is inferred from the file extension unless -f is given.
batch
Read repeated export invocations from stdin, one per line.
list
Enumerate symbol names; supports --search, --category, --limit.
info NAME
Dump geometry and layer metadata for a symbol as JSON.
modes NAME
List the rendering modes supported by a symbol.
colors
Print all named colors accepted by --color.
categories
Print Apple's symbol taxonomy.
schema
Machine-readable CLI description for automation.

CAVEATS

Requires macOS 13 (Ventura) or later; the symbol catalogue is whatever the host OS provides, so newer symbols only render on matching macOS versions. Apple's SF Symbols license restricts redistribution of the glyphs — exports are for use inside Apple platforms or with appropriate licensing.

HISTORY

sfsym is developed by Yap Studios and released under the MIT license, building on the public SF Symbols rendering APIs introduced by Apple in 2019.

SEE ALSO

Copied to clipboard
Kai