Quick start
Render your first icon in under a minute.
Assumes you have a React, Vue, or Svelte project running. If not, start with Installation.
1. Install
npm install @dev.icons/react
2. Import and render
import { _React, _Vue, Nextjs } from "@dev.icons/react";
export default function Stack() {
return (
<div className="flex gap-4">
<_React size={48} />
<_Vue size={48} />
<Nextjs size={48} alt="Next.js" />
</div>
);
}
Every icon file is a named export. The name is the file name split on - and PascalCased, so nextjs becomes Nextjs and nextjs-icon becomes NextjsIcon. The names React, Vue, Svelte, and Astro would clash with framework imports, so they get a _ prefix: _React, _Vue. Each icon page lists its exact component names.
3. Switch to monochrome
Full-color icons are the default. Import from the /mono subpath to get single-color variants that inherit currentColor.
import { _React } from "@dev.icons/react/mono";
<div className="text-accent">
<_React size={48} />
</div>
4. Make it interactive
Icons accept all SVG attributes: onClick, aria-label, role, etc.
import { GithubIcon } from "@dev.icons/react/mono";
<button
type="button"
aria-label="View on GitHub"
className="text-text-muted hover:text-accent transition-colors"
>
<GithubIcon size={24} />
</button>
That’s it
Browse the icon library for the full catalog, or read the React guide for props, tree-shaking, and SSR.