Skip to content

Extract Apple system symbols as clean SVG vectors from the command line

License

Notifications You must be signed in to change notification settings

dannolan/sigilcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sigil

Extract 8,000+ Apple system symbols as clean SVG vectors from the command line.

9 weights. Custom colors. Batch export. JSON mode. One command.

Install

Homebrew

brew tap dannolan/tools
brew install sigilcli

From source

git clone https://github.com/dannolan/sigilcli.git
cd sigilcli
make install

Quick start

# Get an SVG to stdout
sigil star.fill

# Save to a file
sigil star.fill -o star.svg

Weights

Every symbol comes in 9 weights — from ultralight to black.

sigil star.fill --weight ultralight -o star-ultralight.svg
sigil star.fill --weight bold -o star-bold.svg
sigil star.fill --weight black -o star-black.svg

Export all 9 at once into a directory:

sigil star.fill --all-weights -o ./star-weights/
# Outputs: star.fill-ultralight.svg, star.fill-thin.svg, ... star.fill-black.svg

Colors

By default SVGs use currentColor so they inherit color from CSS. Or set a specific color:

sigil heart.fill --color "#FF3B30" -o heart.svg
sigil cloud.fill --color royalblue -o cloud.svg

Combine with --all-weights to get every weight in a color:

sigil star.fill --all-weights --color "#FF9500" -o ./orange-stars/

Finding symbols

# List everything
sigil --list

# Fuzzy search — matches all terms
sigil --search arrow right
sigil --search cloud fill

# Pipe-friendly search
sigil --list | grep heart

# Count them all
sigil --list | wc -l

Batch export

Pipe a list of symbol names via stdin to export them all at once:

echo "star.fill\nheart.fill\ncloud.fill" | sigil --batch -o ./icons/

Skips symbols that don't exist and reports errors without stopping.

JSON mode

Add --json to any command for structured output — useful for scripting and AI agents.

# Single symbol
sigil star.fill --json
{
  "name": "star.fill",
  "weight": "regular",
  "scale": "medium",
  "width": 84.14,
  "height": 80.38,
  "svg": "<svg ...>"
}
# Batch with JSON report
echo "star.fill\nheart.fill" | sigil --batch --json -o ./icons/
{
  "exported": [
    { "name": "star.fill", "width": 84.14, "height": 80.38, "file": "./icons/star.fill.svg" },
    { "name": "heart.fill", "width": 75.24, "height": 69.35, "file": "./icons/heart.fill.svg" }
  ],
  "errors": [],
  "total": 2
}
# Search as JSON
sigil --search arrow right --json

# List as JSON
sigil --list --json

Quiet mode

Suppress status messages with --quiet / -q — only SVG output goes to stdout:

sigil star.fill -o star.svg --quiet

All options

ARGUMENTS:
  <symbol-name>           Symbol name (e.g. 'star.fill')

OPTIONS:
  -o, --output            Output file path (or directory with --all-weights/--batch)
  -w, --weight            ultralight | thin | light | regular | medium |
                          semibold | bold | heavy | black (default: regular)
  -s, --size              small | medium | large (default: medium)
  -c, --color             Fill color, any CSS value (default: currentColor)
  --point-size            Point size for the glyph (default: 100)
  --precision             Decimal precision for coordinates (default: 3)
  --all-weights           Export all 9 weights as separate files
  --list                  List all available symbol names
  --search <terms...>     Fuzzy search for symbols matching all terms
  --batch                 Read symbol names from stdin, one per line
  --json                  Output as JSON instead of raw SVG
  -q, --quiet             Suppress status messages

Requirements

  • macOS 13+
  • Xcode Command Line Tools (for building from source)

License

MIT

About

Extract Apple system symbols as clean SVG vectors from the command line

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •