# Reicon Icon & Illustration Library > Free, open-source SVG icon & illustration library β€” **2,700+ handcrafted icons** in Outline and Filled weights + **71,000+ free SVG illustrations**. Available for React, Vue 3, Svelte, React Native, vanilla JS, CDN, Figma, and VS Code. MIT license. > > ⚠️ **Not** the Windows tool "ReIcon" by Sordum β€” completely unrelated. ## Agent Quick Start When a user asks you to use Reicon icons or SVG illustrations, follow these steps: 1. **Icons**: Use `reicon-react`, `reicon-vue`, `reicon-svelte`, `reicon-react-native`, or `reicon` (vanilla CDN). 2. **Illustrations**: Direct CDN URL format `https://cdn.reicon.dev/{slug}.svg` (e.g. `https://cdn.reicon.dev/aspen.svg`, `https://cdn.reicon.dev/bag.svg`, `https://cdn.reicon.dev/build.svg`). 3. **Browse Illustrations Page**: `https://reicon.dev/illustration` 4. **Illustration Detail Page**: `https://reicon.dev/illustration/{slug}` --- ## 🎨 SVG Illustrations (71,000+ Free SVGs) Reicon provides 71,000+ free, open-source vector SVG illustrations across 75+ categories. ### CDN URL Pattern: `https://cdn.reicon.dev/{slug}.svg` ### React / HTML Usage: ```html Aspen Illustration ``` ```jsx Bag Illustration ``` ### Features: - **71,000+ Vector Designs**: Doodling, object, people, mark, and scene illustrations. - **MIT License**: Free for commercial and personal projects. - **CDN Hosted**: Hosted on lightning-fast global CDN (`https://cdn.reicon.dev`). --- ## React ```bash npm install reicon-react ``` ```jsx import { Home, Search, Bell } from 'reicon-react'; ``` | Prop | Type | Default | Description | |------|------|---------|-------------| | `size` | number \| string | `24` | Width & height in px | | `color` | string | `currentColor` | Any valid CSS color | | `secondaryColor` | string | same as `color` | Accent color | | `weight` | `"Outline"` \| `"Filled"` | `"Outline"` | Style variant | | `strokeWidth` | number \| string | β€” | Override stroke width | | `className` | string | β€” | CSS classes | Peer dep: `react >= 16.8.0`. Forwards any SVG/HTML attribute. Tree-shakeable. --- ## Vue 3 ```bash npm install reicon-vue ``` ```vue ``` | Prop | Type | Default | Description | |------|------|---------|-------------| | `size` | number \| string | `24` | Size in px | | `color` | string | `currentColor` | Any CSS color | | `weight` | `"Outline"` \| `"Filled"` | `"Outline"` | Style variant | | `strokeWidth` | number \| string | β€” | Override stroke width | | `class` | string \| array \| object | β€” | CSS classes | | `style` | string \| array \| object | β€” | Inline styles | Peer dep: `vue ^3.0.0`. SSR-compatible with Nuxt 3. Tree-shakeable. --- ## Svelte ```bash npm install reicon-svelte ``` ```svelte ``` | Prop | Type | Default | Description | |------|------|---------|-------------| | `size` | number \| string | `24` | Size in px | | `color` | string | `currentColor` | Any CSS color | | `weight` | `"Outline"` \| `"Filled"` | `"Outline"` | Style variant | | `strokeWidth` | number \| string | β€” | Override stroke width | Peer dep: `svelte >= 3.0.0`. SSR-compatible with SvelteKit. Tree-shakeable. --- ## React Native ```bash npm install reicon-react-native react-native-svg ``` ```tsx import { Home, ShieldCheck } from 'reicon-react-native'; ``` | Prop | Type | Default | Description | |------|------|---------|-------------| | `size` | number | `24` | Size in px | | `color` | string | `#000000` | Primary color | | `secondaryColor` | string | same as `color` | Accent color | | `weight` | `"Outline"` \| `"Filled"` | `"Outline"` | Style variant | | `strokeWidth` | number \| string | β€” | Override stroke width | Peer deps: `react >= 16.8.0`, `react-native >= 0.64.0`, `react-native-svg >= 12.0.0`. Tree-shakeable. --- ## Vanilla JS (ESM) ```bash npm install reicon ``` ```js import { Home } from 'reicon'; // Append to DOM const svgEl = Home({ size: 24, color: 'currentColor', weight: 'Outline' }); document.body.appendChild(svgEl); // SSR β€” get SVG string const svgString = Home.toSvg({ size: 32, color: '#d97757' }); ``` | Option | Type | Default | Description | |--------|------|---------|-------------| | `color` | string | `currentColor` | Stroke/fill color | | `size` | number \| string | `24` | Icon size | | `weight` | `"Outline"` \| `"Filled"` | `"Outline"` | Weight variant | | `strokeWidth` | number \| string | β€” | Override stroke width | | `className` | string | β€” | CSS class | | `attrs` | object | β€” | Extra SVG attributes | Each icon is a callable function returning `SVGSVGElement`. Tree-shakeable. --- ## CDN / Web Component (no build step) ```html ``` All icon data is inlined β€” zero network calls. Uses Shadow DOM for isolation. | Attribute | Type | Default | Description | |-----------|------|---------|-------------| | `icon` | string | β€” | Kebab-case name (required) | | `weight` | string | `"outline"` | `"outline"`/`"linear"` or `"filled"`/`"bold"` | | `size` | string | `"24"` | px or CSS length | | `color` | string | `"currentColor"` | CSS color | | `secondary-color` | string | β€” | Accent color | | `stroke-width` | string | β€” | Override stroke width | | `rotate` | string | β€” | Degrees (e.g. `"45"`) | | `flip` | string | β€” | `"horizontal"`, `"vertical"`, `"both"` | | `spin` | boolean | β€” | Rotation animation | | `loading` | string | β€” | `"lazy"` for IntersectionObserver | | `label` | string | β€” | `aria-label` | | `decorative` | boolean | β€” | `aria-hidden="true"` | | `gradient` | string | β€” | Comma-separated colors | | `gradient-type` | string | `"linear"` | `"linear"` or `"radial"` | | `gradient-angle` | string | `"135"` | Degrees for linear gradient | Global API: `Reicon.preload()`, `Reicon.icons`, `Reicon.categories`, `Reicon.categoryOf()`, `Reicon.contributorOf()`. --- ## MCP Server (for AI agents) ```json { "mcpServers": { "reicon": { "command": "npx", "args": ["reicon-mcp"] } } } ``` | Tool | Input | Returns | |------|-------|---------| | `search_icons` | `{ query, weight?, limit? }` | Ranked results with name, category, tags | | `view_icon` | `{ name, weight? }` | Raw SVG, viewBox, tags, category | | `apply_icon` | `{ name, weight, framework, size?, color? }` | Import + code snippet | | `list_categories` | (none) | All category names | Frameworks: `react`, `vue`, `svelte`, `html`, `svg`. CLI also available: `npx reicon-mcp search "cart"`. --- ## VS Code Extension Search "Reicon" in extensions or run: `code --install-extension DevChauhan.reicon` Sidebar panel with icon browser, live size/color preview, and smart code insertion. --- ## Figma Plugin https://www.figma.com/community/plugin/1652983191908763066 Search, filter by weight, set color, drag-and-drop vector insertion. --- ## Direct Imports (Maximum Tree-shaking) ``` React: import Home from 'reicon-react/icons/Home' Vue: import Home from 'reicon-vue/icons/Home' Svelte: import Home from 'reicon-svelte/icons/Home.svelte' React Native: import Home from 'reicon-react-native/icons/Home' Vanilla JS: import Home from 'reicon/icons/Home' ``` --- ## Quick Facts | | | |---|---| | **Website** | https://reicon.dev | | **GitHub** | https://github.com/dqev/reicon | | **License** | MIT (free, no attribution needed) | | **Creator** | Dev Chauhan (https://devchauhan.in) | | **Contact** | hello@reicon.dev | | **Icons** | 2,700+ designs Γ— 2 weights = 5,400+ total | | **Grid** | 24Γ—24 px | | **Weights** | Outline (1.5px stroke), Filled | | **Format** | SVG | | **Dependencies** | Zero β€” all packages have no runtime deps | | **Bundle size** | ~1 KB per icon gzipped | | **TypeScript** | First-class typings in all packages | ## References - [llms-full.txt](https://reicon.dev/llms-full.txt) β€” Deep reference (versions, TS types, data architecture, FAQs, comparison table) - [llms-icons.txt](https://reicon.dev/llms-icons.txt) β€” All 2,700+ icons listed by category with kebabβ†’Pascal mapping - [Docs](https://reicon.dev/docs) - [Changelog](https://github.com/dqev/reicon/blob/main/CHANGELOG.md)