tech-stack-icons
Version:
A Typesafe React component for rendering over **395+ original SVG icons** for the most-used design & development tools, frameworks, and AI services.
107 lines (76 loc) โข 2.99 kB
Markdown
# Tech Stack Icons
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**](https://tech-stack-icons.com/) โ live search, preview, copy JSX/SVG
- ๐จ [**Figma Drag & Drop Plugin**](https://www.figma.com/community/plugin/1292847256216210035/tech-stack-design-stack-icons)
- ๐ [**Figma File of Icons**](https://www.figma.com/community/file/1095337897898466786/tech-stack-icons-design-stack-icons)
## โจ Features
- 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
## ๐ฆ Installation
```bash
npm install tech-stack-icons
# or
pnpm add tech-stack-icons
# or
yarn add tech-stack-icons
```
## ๐งฑ Usage
```tsx
import StackIcon from "tech-stack-icons";
export default function Example() {
return (
<div style={{ width: 40, height: 40 }}>
<StackIcon name="nextjs" />
</div>
);
}
```
## ๐งฉ Props
| 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>` |
## ๐จ Variants
```tsx
<StackIcon name="react" variant="dark" />
<StackIcon name="github" variant="grayscale" />
```
## โ
TypeScript Autocomplete
When using in a TypeScript project, the `name` prop autocompletes based on the internal icon list:
```tsx
import StackIcon, { IconName } from "tech-stack-icons";
const myIcon: IconName = "typescript";
```
# ๐งช Example: Styled with Tailwind
```tsx
<StackIcon name="tailwindcss" className="w-8 h-8 rounded" />
```
# ๐ช Accessibility
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:
```jsx
<figure role="img" aria-label="React logo">
<StackIcon name="react" />
</figure>
```
## ๐ Folder structure
Icons are embedded inline (no file loading needed). You do not need to manage separate assets.
## ๐ License
MIT โ Made by [Eugenio Ciccale](https://www.plusuidesign.com/about/)