Skip to content
IconMind
v0.3.61,041 icons · outline, duotone · three weights

Every icon,
drawn by
one rule.

Open-source icons for AI-era software — LLMs, agents, MCP, RAG and everything around them. Two variants across three weights — six drawings per icon — generated from one grid by a compiler that refuses a shape it cannot draw correctly.

1,041
icons
12
categories
MIT
licence
0 kB
runtime
Live customizer
26px · 2.00
Weight
Size26px

Each weight is a separate drawing, compiled from the same declaration — not one file with the stroke turned up.

Four ways in

Pick one — they are the same drawings.

Install

npm

Tree-shakeable: you ship the icons you import and nothing else. Same API in Vue, Svelte, Solid, Preact, React Native, Astro and Laravel — pick your target on any icon page.

Read the React docs →
import { Agent, VectorDatabase } from "@iconmind/react";

<Agent />
<Agent variant="duotone" weight="bold" />
<VectorDatabase size={32} color="#C2410C" />

// Each weight is its own drawing, not a stroke-width — and `variant`
// is narrowed per icon, so asking for a drawing an icon does not have
// is a compile error rather than a silent fallback.

Works with your stack

Ten packages, one generated source of truth: the same icon names, the same size, color, variant and weight props in every framework — learn the API once and carry it everywhere.

Why they look like one set

Compiled, not drawn twice

Every icon is one declaration. The generator emits all six cells from it, so a change to the corner radius is a change to 1041 icons rather than 1041 edits.

It refuses bad geometry

An anchor off the grid, a segment at 127°, a run too short to survive the bold weight, two strokes that would merge — the compiler stops before the file exists.

Every cell is the same drawing

Nothing is offset, derived or redrawn. The cells differ by a stroke width and a tint, so no two of them can drift apart.

One declaration, six cells

outline / thin

outline / regular

outline / bold

duotone / thin

duotone / regular

duotone / bold

Six files, one source. The weights are separate drawings — the thin cell is not the regular one with a smaller stroke-width, which is why the counters stay open at 16px and the bold one does not fill in.

Browse by category

A few of them

Free, and it stays free.

MIT licensed — commercial use, no attribution, no seat count, and no later version that takes it away.