Skip to content

Custom Icon Sets

The Iconify SDK allows you to easily integrate your own proprietary or custom-designed icons alongside the standard open-source collections.

Section titled “Option 1: Using the CLI sync (Recommended)”

The easiest way to add custom icons is to provide them in the standard Iconify JSON format.

  1. Prepare your JSON: Create a JSON file (e.g., my_icons.json) following the Iconify JSON Specification.
  2. Add to iconify.yaml:
    custom_sets:
    - data/custom/my_icons.json
  3. Generate: Run dart run build_runner build.

The builder will automatically pick up your custom icons and generate type-safe constants for them.

If you prefer to load icons dynamically at runtime, you can inject them directly into a MemoryIconifyProvider.

final customProvider = MemoryIconifyProvider();
customProvider.putIcon(
const IconifyName('custom', 'logo'),
const IconifyIconData(
body: '<path d="..." fill="currentColor"/>',
width: 24,
height: 24,
),
);
// Add to your IconifyApp
IconifyApp(
config: IconifyConfig(
customProviders: [customProvider],
),
child: MyApp(),
)

You can use the Iconify Tools (Node.js) to convert a folder of SVG files into a standard Iconify JSON collection. This is the best way to manage large internal icon libraries.