Icons

All 11k Nerd Font glyphs, and Iconify's 200k as SVG

palupdated 2026-10-27ReferenceIn pal's registry

Open in pal

In pal's registry: the button shows it in pal, which asks before installing; the command does the same from a terminal. This page can't see what your pal has installed.

Icons: The Nerd Font grid, Recent first, then the sets in order
The Nerd Font grid, Recent first, then the sets in order
Icons: Searching `github` finds the mark in every set at once, a section per set: Font Awesome, Codicons, Octicons and the rest
Searching `github` finds the mark in every set at once, a section per set: Font Awesome, Codicons, Octicons and the rest
Icons: The freedesktop icon names the SDK's xdg() maps to a glyph
The freedesktop icon names the SDK's xdg() maps to a glyph
Icons: Copy the glyph, its code point, its nf- name or the CSS class
Copy the glyph, its code point, its nf- name or the CSS class
Icons: Iconify Icons: `arrow` across Material Design Icons, Tabler, Lucide and the rest, each tile its SVG
Iconify Icons: `arrow` across Material Design Icons, Tabler, Lucide and the rest, each tile its SVG
1 of 5

What it does

Search every Nerd Font glyph by name and copy it, its code point or its class name. A second grid covers the 200k icons Iconify hosts and copies them as SVG.

  • All 10,995 Nerd Font glyphs (Material Design, Font Awesome, Codicons, Octicons and more) in one grid
  • Search by name (account circle), by nf- name or by code point (f0009)
  • enter copies the glyph, cmd+enter its code point; the nf- name and CSS class copy too
  • Your last twelve picks lead in a Recent section
  • Iconify: 200k icons from Tabler, Lucide, Phosphor, Simple Icons and more, copied as SVG or a data URL
  • The freedesktop icon names scripts can use, each with its glyph

Palettes 3

  • Nerd Font iconsiconsgridcatalog

    The glyphs of the Symbols Nerd Font the app bundles, by set; recently copied glyphs first.

    • ↵Copy glyph
    • ⌘↵Copy code point
    • ⌘⇧NCopy name
    • ⌘⇧CCopy CSS class
  • Freedesktop icon namesfreedesktopgridcatalog

    The freedesktop icon names pal maps to a glyph (`xdg()` in the SDK), for a script's `icon_xdg`.

    • ↵Copy name
    • ⌘↵Copy glyph
    • ⌘⇧UCopy code point
  • Iconify Iconsiconifygrid

    Every set Iconify hosts, searched over its API as you type; the tiles are the SVGs. Copy the SVG, the name, a data URL, open the icon's page or save the file.

    • ↵Copy SVG
    • ⌘↵Copy name (mdi:home)
    • ⌘⇧DCopy as data URL
    • ⌘OOpen on icon-sets.iconify.design
    • ⌘SSave the SVG to a folder

Actions

  • Copy glyphThe character itself.↵
  • Copy code pointU+F0009⌘↵
  • Copy namenf-md-account_circle; on a freedesktop row, enter copies the name.⌘⇧N
  • Copy CSS classnf nf-md-account_circle⌘⇧C
  • Copy SVGOn an Iconify tile: the whole SVG, currentColor kept.↵
  • Copy as data URLOn an Iconify tile: data:image/svg+xml;utf8,... for an { image } icon or a CSS background.⌘⇧D
  • Open on IconifyThe icon's page on icon-sets.iconify.design.⌘O
  • Save SVGThe SVG into the save_to folder, -2 when the name is taken.⌘S

Settings

Extension, [extensions.icons]

sets
none list

Set prefixes the Iconify search is limited to (mdi, tabler, lucide, phosphor, simple-icons). Empty: every set.

save_to
~/Downloads path

Where Save SVG puts an Iconify icon. ~ is expanded.

Nerd Font icons, [palettes.icons]

columns
10 number

Tiles per row in the grid.

Iconify Icons, [palettes.iconify]

columns
8 number

Tiles per row in the grid.

Defaults shown. Change them in pal's settings window or in the config file.

The README

Everything Icons does, key by key, from the extension's own README.md

Icons

Two grids of glyphs to copy into a script's icon, a bar item or a config, and a third over Iconify's sets for an SVG.

Nerd Font icons is every glyph in the Symbols Nerd Font the app bundles (app/src/assets/fonts, Nerd Fonts 3.5.1): 10995 glyphs, one section per set in a fixed order (Material Design, Font Awesome, Codicons, Octicons, Devicons, Seti, Weather, Font Logos, Font Awesome Extension, Powerline, Powerline Extra, Pomicons, IEC Power, Custom, Extra, Indent). The tile is the glyph, the name is the set's name with spaces (account circle), the code point is the subtitle and the nf-md-account_circle name a keyword, so md-account or f0009 finds it. The last twelve picked lead in a Recent section, kept in the extension's storage.

The detail pane (cmd+i) names the set and the Nerd Fonts version, the code point, the CSS class and the \u{f0009} escape; it does not draw the glyph large, since the pane's text is the UI font and only the icon box uses the bundled symbols font.

Freedesktop icon names is the 114 freedesktop names the SDK's xdg() maps to a glyph (sdk/src/icons.ts, what a script's icon_xdg may say), each drawn with its glyph and its Nerd Font name as the subtitle. pal draws only the names in that table, so nothing larger is listed: a name outside it would render as nothing.

Iconify Icons searches every set Iconify hosts (Material Design Icons, Tabler, Lucide, Phosphor, Simple Icons, Heroicons and the rest, some 200k icons) over its public API as you type: /search?query= for the names, then one /<prefix>.json?icons= per set for the SVG bodies, 250 ms after the last keystroke, cached per word and per icon for the process. Each tile is the icon's own SVG, filled mid-grey so it reads on both the light and the dark panel (Iconify draws in currentColor, which a picture cannot inherit); the set is the section. Enter copies the SVG with currentColor kept, cmd+enter the mdi:home name, cmd+shift+d a data:image/svg+xml url (what an { image } icon or a CSS background takes), cmd+o opens the icon's page on icon-sets.iconify.design, cmd+s writes <prefix>-<name>.svg into the save_to folder (-2 when the name is taken). Nothing typed lists nothing; no hit, a rate limit or an unreachable API is one hint row. The sets setting narrows a search to those prefixes.

Keyboard

In any grid, arrows move across and down the tiles and Enter runs the first action of the tile under the cursor.

Nerd Font icons:

keys action
enter Copy glyph: the character itself
cmd+enter Copy code point: U+F0009
cmd+shift+n Copy name: nf-md-account_circle
cmd+shift+c Copy CSS class: nf nf-md-account_circle
cmd+i The detail pane

Freedesktop icon names:

keys action
enter Copy name: folder-open
cmd+enter Copy glyph
cmd+shift+u Copy code point

Iconify Icons:

keys action
enter Copy SVG: the whole file, currentColor kept
cmd+enter Copy name: mdi:home
cmd+shift+d Copy as data URL
cmd+o Open on icon-sets.iconify.design
cmd+s Save SVG into the save_to folder

Setup

Nothing to install and no permission. The glyph table is generated: bun run icons/build.ts fetches glyphnames.json at the pinned release and writes data.json (282 KB, [name, code] pairs by set), committed; bump the version in the script together with the font.

Iconify needs the network and no key. Settings, [extensions.icons]:

key type default what
sets list [] Set prefixes the Iconify search is limited to (mdi, tabler, lucide, phosphor, simple-icons). Empty: every set.
save_to path ~/Downloads Where Save SVG puts an Iconify icon. ~ is expanded.

Per palette, [palettes.icons.settings] and [palettes.iconify.settings]:

key type default what
columns number, 4 to 16 10 (Iconify 8) Tiles per row in the grid. Read once when the extension loads: after a change, Settings > Restart extension host.

The freedesktop grid is 10 columns, not configurable.

A listing is eleven thousand rows (about 3.4 MB over the host's pipe) on every start, as the palette has no ttl; the rows carry the least they can for that (the set is the section, the code is in the subtitle).

What it does not do

  • Draw a glyph outside the bundled font: the tiles are the Symbols Nerd Font the app ships, so a glyph a newer Nerd Fonts release added is not in the table until the font and build.ts are bumped together.
  • Show the glyph large in the detail pane (the pane's text is the UI font).
  • Paste: every palette copies.
  • Recolour an Iconify SVG: the copy keeps currentColor; the data url keeps it too (a CSS background shows it black).
  • Search Iconify offline: the tiles are fetched per search, nothing is bundled; a search that failed is not cached, so cmd+r asks again.
  • List the larger freedesktop icon set of pal v1: only the names pal can draw are rows.

Platforms

macOS and Linux, the same on both: the font is bundled, nothing is read from the system; Iconify is api.iconify.design over https.