sketchyicons

sketchyicons ships as a Figma plugin now

sketchyicons is a Figma plugin now. Search the set by name, click a result, and it lands on the canvas as a real vector. Free, and it stays inside the file you already have open.

Why a plugin

Every target so far has been a package: an install command, an import line, a component. That is the right shape for a developer, and the wrong one for a designer picking an icon set inside a Figma file, who is not about to open a terminal for it. The plugin is the same catalogue without the install step.

How it works

  • Search. Type a name or an old alias. sketchyicons keeps both, so a renamed icon still turns up.
  • Place. Click a result. It lands in the middle of your current view, selected and ready to move.
  • Make it yours. Recolour it, resize it, group it with the rest of the frame. It behaves like anything else on the canvas.

The same hand

Every icon the plugin inserts starts as Lucide's exact geometry. A generator bows the straight runs and drifts each coordinate a fraction of a unit, seeded from the icon's own name, so a search for the same icon always draws the same wobble. Nothing here was drawn by hand either, including the version that lands on your canvas.

The icons are bundled at build time from the same geometry every other target reads, so the plugin makes no network request to insert one, and it follows Figma's own light or dark theme.

One layer, not four

Handing an SVG string to figma.createNodeFromSvgdoes exactly what the editor's own SVG import does, which is not quite what an icon plugin wants: a frame, with one vector layer per path inside it. A three path icon like feather became four layers on the first working version. The fix is one call, the same operation as Ctrl-E in the editor, run right after the icon lands:

packages/figma-plugin/src/main.ts
const imported = figma.createNodeFromSvg(svg);
const node = figma.flatten([imported], figma.currentPage);
node.name = iconName;

The layer panel now shows feather, singular, the way it should have from the start.

Try it

Read how it works or open it directly from Figma Community (opens in a new tab).

Keep reading