Skip to main content
go-swarm-icons

Icon Providers

Compare the built-in icon providers and pick the right source for your project's needs.

Every icon source implements the Provider interface: Get(name), Has(name), and All(). Register a provider under a prefix, and manager.Get("prefix:name") routes to it automatically.

The library ships with four implementations and one ready-made embedded set:

Provider Source Network Disk Best for
Directory .svg files in a folder No Yes Custom or brand icons
JSON Collection Iconify JSON file No Yes (or go:embed) Production icon sets
Iconify API HTTP API Yes No Prototyping, unknown sets
Chain Multiple providers Depends Depends Local-first with network fallback
Embedded Lucide go:embed in binary No No Quick start, Lucide-only projects

The Why go-swarm-icons? page has a decision tree for choosing between them, and the Performance & Caching guide covers throughput trade-offs.

Edit this page

Last updated: