Local-first icon resolution

One query.
A local icon path.

Appicon resolves application names to local icon files for Waybar, Rofi, scripts, and AI tools. Consumers do not need their own download logic.

$ appicon resolve firefox
/home/me/.cache/appicon/svgl/firefox.svg

$ appicon resolve --json missing-app
{"query":"missing-app","path":null}
# A miss is safe. Your fallback stays visible.
Local pathsStable consumer contract
Cache firstWarm hits stay offline
Exit 1Misses are expected
Linux · macOS · WindowsOne portable CLI

Get started

Find your first icon.

Appicon runs in a terminal. You type an application name, and Appicon prints the location of an icon file on your computer.

1

Install Appicon

Pick the option that matches your system. If you are unsure, use the first option for your system.

2

Check the installation

appicon version

You should see the current version, v0.4.1.

3

Find an icon

appicon resolve firefox

Appicon prints a file path. Paste that path into the tool that needs the icon.

Arch Linux

Install the ready-made package

yay -S appicon-bin

You can use another AUR helper in place of yay.

Nix

Install the ready-made package

nix profile install github:bolens/appicon#appicon-bin

Other systems

Download a release

Choose the archive for your operating system and processor. Each release includes checksums.

Open the latest release

Resolution order

Your sources. In your order.

Appicon checks overrides, desktop themes, local packs, and enabled remote sources in order. Explain mode identifies the source behind each result.

  1. 01OverridesYour exact remaps win
  2. 02XDGDesktop files and themes
  3. 03Local packsCurated icon collections
  4. 04SVGLCache-first remote fallback
  5. Local pathReady for your consumer

Interfaces

One resolver for commands and MCP.

CLI and MCP

The same resolver powers shell commands and a thin stdio MCP server.

Offline-aware

Resolve from cache, explain misses, and prefetch the icons you depend on.

Restricted remote access

Remote hosts are allowlisted and credentials stay in environment variables.

Use Appicon

Common tasks.

You can start with one command. Add options only when you need them.

Find one icon

Use the application name that you see in your launcher.

appicon resolve discord

Find a small PNG

Use this for a bar or menu that cannot display SVG files.

appicon resolve --format png --size 24 firefox

Work without a network connection

Offline mode only uses icons that Appicon already has.

appicon resolve --offline firefox

Correct a wrong match

Tell Appicon which known icon to use for your application name.

appicon override set my-browser firefox

Get help

Start with a status check.

An icon does not match

Run appicon resolve --explain NAME. The result shows which source supplied the icon. Add an override if you want a different match.

Remote icons do not load

Run appicon status. Check that Appicon can reach its enabled sources. Offline and cached icons continue to work.

Your cache is too large

Run appicon cache stats, then appicon cache prune. Pruning removes old cached files without changing your settings.

You found a bug

Copy the output from appicon status and describe the name you tried. Do not include API keys.

Report the problem

Technical documentation

Building or integrating Appicon?

The repository documents source builds, configuration files, MCP tools, the daemon, icon packs, schemas, security, and packaging.

Open the repository