A Typesafe React component for rendering over 395+ original SVG icons for the most-used design & development tools, frameworks, and AI services.
- 🌐 tech-stack-icons.com — live search, preview, copy JSX/SVG
- 🎨 Figma Drag & Drop Plugin
- 📁 Figma File of Icons
- 395+ original SVG icons
- Light, Dark, and Grayscale variants
- Fully typed with TypeScript autocomplete
- Zero dependencies
- Optimized for 100% width and height scaling
- Works out of the box with Tailwind CSS and styled-components
npm install tech-stack-icons
# or
pnpm add tech-stack-icons
# or
yarn add tech-stack-icons
import StackIcon from "tech-stack-icons";
export default function Example() {
return (
<div style={{ width: 40, height: 40 }}>
<StackIcon name="nextjs" />
</div>
);
}
Prop | Type | Required | Description |
---|---|---|---|
name |
IconName |
✅ Yes | The ID of the icon (autocompletes in TypeScript) |
variant |
"light" | "dark" | "grayscale"
|
❌ No | Defaults to "light"
|
className |
string |
❌ No | CSS class for the wrapping <span>
|
style |
React.CSSProperties |
❌ No | Inline styles for the wrapper <span>
|
<StackIcon name="react" variant="dark" />
<StackIcon name="github" variant="grayscale" />
When using in a TypeScript project, the name
prop autocompletes based on the internal icon list:
import StackIcon, { IconName } from "tech-stack-icons";
const myIcon: IconName = "typescript";
<StackIcon name="tailwindcss" className="w-8 h-8 rounded" />
Icons are inserted as dangerouslySetInnerHTML
inside a <span>
, and are decorative by default.
If needed, you can wrap it in a <figure>
or manually add ARIA attributes like:
<figure role="img" aria-label="React logo">
<StackIcon name="react" />
</figure>
Icons are embedded inline (no file loading needed). You do not need to manage separate assets.
MIT — Made by Eugenio Ciccale