remix-icon
Guide for implementing RemixIcon - an open-source neutral-style icon library with 3,100+ icons in outlined and filled styles. Use when adding icons to applications, building UI components, or designing interfaces. Supports webfonts, SVG, React, Vue, and direct integration.
Best use case
remix-icon is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Guide for implementing RemixIcon - an open-source neutral-style icon library with 3,100+ icons in outlined and filled styles. Use when adding icons to applications, building UI components, or designing interfaces. Supports webfonts, SVG, React, Vue, and direct integration.
Teams using remix-icon should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/remix-icon/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How remix-icon Compares
| Feature / Agent | remix-icon | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Guide for implementing RemixIcon - an open-source neutral-style icon library with 3,100+ icons in outlined and filled styles. Use when adding icons to applications, building UI components, or designing interfaces. Supports webfonts, SVG, React, Vue, and direct integration.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# RemixIcon Implementation Guide
RemixIcon is a comprehensive icon library with **3,100+ meticulously designed icons** available in both outlined (`-line`) and filled (`-fill`) styles. All icons are built on a 24x24 pixel grid for perfect alignment and consistency.
## When to Use This Skill
Use RemixIcon when:
- Adding icons to web applications, mobile apps, or design systems
- Building UI components that need consistent iconography
- Implementing navigation, buttons, status indicators, or media controls
- Creating presentations, documents, or design mockups
- Need bilingual icon search (English + Chinese)
- Require both outlined and filled icon variants
## Quick Start
### Installation
**NPM (recommended for web projects):**
```bash
npm install remixicon
# or
yarn add remixicon
# or
pnpm install remixicon
```
**CDN (no installation):**
```html
<link
href="https://cdn.jsdelivr.net/npm/remixicon@4.7.0/fonts/remixicon.css"
rel="stylesheet"
/>
```
**React:**
```bash
npm install @remixicon/react
```
**Vue 3:**
```bash
npm install @remixicon/vue
```
## Icon Naming Convention
**Pattern:** `ri-{icon-name}-{style}`
Where:
- `icon-name`: Descriptive name in kebab-case (e.g., `arrow-right`, `home`, `user-add`)
- `style`: Either `line` (outlined) or `fill` (filled)
**Examples:**
```
ri-home-line # Home icon, outlined
ri-home-fill # Home icon, filled
ri-arrow-right-line # Right arrow, outlined
ri-search-line # Search icon, outlined
ri-heart-fill # Heart icon, filled
```
## Usage Patterns
### 1. Webfont (HTML/CSS)
**Basic usage:**
```html
<i class="ri-admin-line"></i>
<i class="ri-home-fill"></i>
```
**With sizing classes:**
```html
<i class="ri-home-line ri-2x"></i> <!-- 2em size -->
<i class="ri-search-line ri-lg"></i> <!-- 1.3333em -->
<i class="ri-heart-fill ri-xl"></i> <!-- 1.5em -->
```
**Available size classes:**
- `ri-xxs` (0.5em)
- `ri-xs` (0.75em)
- `ri-sm` (0.875em)
- `ri-1x` (1em)
- `ri-lg` (1.3333em)
- `ri-xl` (1.5em)
- `ri-2x` through `ri-10x` (2em - 10em)
- `ri-fw` (fixed width for alignment)
### 2. Direct SVG
**Download and use:**
```html
<img height="32" width="32" src="path/to/admin-fill.svg" />
```
**Inline SVG:**
```html
<svg viewBox="0 0 24 24" fill="currentColor">
<path d="...icon path data..."/>
</svg>
```
### 3. SVG Sprite
```html
<svg class="remix-icon">
<use xlink:href="path/to/remixicon.symbol.svg#ri-admin-fill"></use>
</svg>
```
```css
.remix-icon {
width: 24px;
height: 24px;
fill: #333;
}
```
### 4. React Integration
```jsx
import { RiHeartFill, RiHomeLine, RiSearchLine } from "@remixicon/react";
function MyComponent() {
return (
<>
<RiHeartFill
size={36} // Custom size
color="red" // Fill color
className="my-icon" // Custom class
/>
<RiHomeLine size={24} />
<RiSearchLine size="1.5em" color="#666" />
</>
);
}
```
### 5. Vue 3 Integration
```vue
<script setup lang="ts">
import { RiHeartFill, RiHomeLine } from "@remixicon/vue";
</script>
<template>
<RiHeartFill size="36px" color="red" className="my-icon" />
<RiHomeLine size="24px" />
</template>
```
## Icon Categories
Icons are organized into **20 semantic categories**:
| Category | Examples | Use Cases |
|----------|----------|-----------|
| **Arrows** | arrow-left, arrow-up, corner-up-left | Navigation, directions, flows |
| **Buildings** | home, bank, hospital, store | Locations, facilities |
| **Business** | briefcase, archive, pie-chart | Commerce, analytics |
| **Communication** | chat, phone, mail, message | Messaging, contact |
| **Design** | brush, palette, magic, crop | Creative tools |
| **Development** | code, terminal, bug, git-branch | Developer tools |
| **Device** | phone, laptop, tablet, printer | Hardware, electronics |
| **Document** | file, folder, article, draft | Files, content |
| **Editor** | bold, italic, link, list | Text formatting |
| **Finance** | money, wallet, bank-card, coin | Payments, transactions |
| **Food** | restaurant, cake, cup, knife | Dining, beverages |
| **Health & Medical** | health, heart-pulse, capsule | Healthcare, wellness |
| **Logos** | github, twitter, facebook | Brand icons |
| **Map** | map, pin, compass, navigation | Location, directions |
| **Media** | play, pause, volume, camera | Multimedia controls |
| **System** | settings, download, delete, add | UI controls, actions |
| **User & Faces** | user, account, team, contacts | Profiles, people |
| **Weather** | sun, cloud, rain, moon | Climate, forecast |
| **Others** | miscellaneous icons | General purpose |
## Finding Icons
### 1. Browse by Category
Visit https://remixicon.com and navigate categories to visually browse icons.
### 2. Search with Keywords
Use English or Chinese keywords. Icons have comprehensive tags for discoverability.
**Example searches:**
- "home" → home, home-2, home-3, home-gear, home-wifi
- "arrow" → arrow-left, arrow-right, arrow-up, arrow-down
- "user" → user, user-add, user-follow, account-circle
### 3. Consider Icon Variants
Many icons have numbered variants (home, home-2, home-3) offering stylistic alternatives.
## Best Practices
### Choosing Styles
**Line (Outlined) Style:**
- Use for: Clean, minimal interfaces
- Best with: Light backgrounds, high contrast needs
- Examples: Navigation menus, toolbars, forms
**Fill (Filled) Style:**
- Use for: Emphasis, active states, primary actions
- Best with: Buttons, selected items, important indicators
- Examples: Active nav items, primary CTAs, notifications
### Accessibility
**Always provide aria-labels for icon-only elements:**
```html
<button aria-label="Search">
<i class="ri-search-line"></i>
</button>
```
**For decorative icons, use aria-hidden:**
```html
<span aria-hidden="true">
<i class="ri-star-fill"></i>
</span>
```
### Performance
**For web applications:**
- Use webfonts (WOFF2: 179KB) for multiple icons
- Use individual SVGs for 1-5 icons only
- Use SVG sprites for 5-20 icons
- Prefer CDN for faster global delivery
**Font formats by size (smallest to largest):**
1. WOFF2: 179KB (recommended)
2. WOFF: 245KB
3. TTF: 579KB
4. EOT: 579KB (legacy IE support)
### Color and Sizing
**Use currentColor for flexibility:**
```css
.icon {
color: #333; /* Icon inherits this color */
}
```
**Maintain 24x24 grid alignment:**
```css
/* Good - maintains grid */
.icon { font-size: 24px; }
.icon { font-size: 48px; } /* 24 * 2 */
/* Avoid - breaks grid alignment */
.icon { font-size: 20px; }
.icon { font-size: 30px; }
```
### Framework Integration
**Next.js:**
```jsx
import '@/styles/remixicon.css'; // In _app.js or layout
import { RiHomeLine } from "@remixicon/react";
```
**Tailwind CSS:**
```html
<i class="ri-home-line text-2xl text-blue-500"></i>
```
**CSS Modules:**
```jsx
import styles from './component.module.css';
import 'remixicon/fonts/remixicon.css';
<i className={`ri-home-line ${styles.icon}`}></i>
```
## Advanced Usage
### Custom Icon Sizing with CSS
```css
.custom-icon {
font-size: 32px;
line-height: 1;
vertical-align: middle;
}
/* Responsive sizing */
@media (max-width: 768px) {
.custom-icon {
font-size: 24px;
}
}
```
### Icon Animations
```css
.spinning-icon {
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
```
### Dynamic Icons in React
```jsx
function IconButton({ iconName, filled = false }) {
const iconClass = `ri-${iconName}-${filled ? 'fill' : 'line'}`;
return <i className={iconClass} />;
}
// Usage
<IconButton iconName="home" />
<IconButton iconName="heart" filled />
```
## Design Tool Integration
### Figma Plugin
Install the official RemixIcon plugin for Figma:
- **Plugin:** RemixIcon
- **URL:** https://www.figma.com/community/plugin/1089569154784319246/remixicon
- **Feature:** Direct icon access within Figma workspace
### Copy to Design Tools
Icons can be directly copied from https://remixicon.com to:
- Sketch
- Figma (without plugin)
- Adobe XD
- Adobe Illustrator
### PowerPoint & Keynote
Use RemixIcon-Slides for direct integration:
- **Repository:** https://github.com/Remix-Design/RemixIcon-Slides
- **Feature:** Edit icon styles directly in presentations
## Common Patterns
### Navigation Menu
```html
<nav>
<a href="/home">
<i class="ri-home-line"></i>
<span>Home</span>
</a>
<a href="/search">
<i class="ri-search-line"></i>
<span>Search</span>
</a>
<a href="/profile">
<i class="ri-user-line"></i>
<span>Profile</span>
</a>
</nav>
```
### Button with Icon
```html
<button class="btn-primary">
<i class="ri-download-line"></i>
Download
</button>
```
### Status Indicators
```jsx
// React example
function StatusIcon({ status }) {
const icons = {
success: <RiCheckboxCircleFill color="green" />,
error: <RiErrorWarningFill color="red" />,
warning: <RiAlertFill color="orange" />,
info: <RiInformationFill color="blue" />
};
return icons[status];
}
```
### Input with Icon
```html
<div class="input-group">
<i class="ri-search-line"></i>
<input type="text" placeholder="Search..." />
</div>
```
## Troubleshooting
### Icons not displaying
**Check:**
1. CSS file is loaded: `<link href="remixicon.css" rel="stylesheet" />`
2. Class name syntax: `ri-{name}-{style}` (e.g., `ri-home-line`)
3. Font files are accessible (check browser Network tab)
4. No font-family override conflicting with `.ri-*` classes
### Wrong icon size
**Solutions:**
- Use size classes: `ri-lg`, `ri-2x`, etc.
- Set parent `font-size` property
- Ensure `line-height: 1` for proper alignment
- Use `vertical-align: middle` if needed
### Icons look blurry
**Causes:**
- Non-integer font sizes breaking pixel grid
- Browser zoom levels
- Transform properties causing subpixel rendering
**Fix:** Use multiples of 24px (24, 48, 72, 96) for crisp rendering
## Resources
- **Website:** https://remixicon.com
- **GitHub:** https://github.com/Remix-Design/RemixIcon
- **NPM:** https://www.npmjs.com/package/remixicon
- **React Package:** @remixicon/react
- **Vue Package:** @remixicon/vue
- **License:** Apache 2.0 (free for personal and commercial use)
- **Total Icons:** 3,100+
- **Current Version:** 4.7.0
## Support
- **Issues:** https://github.com/Remix-Design/RemixIcon/issues
- **Email:** jimmy@remixdesign.cn
- **Twitter/X:** @RemixDesignHQ
## Version History
- **v4.7.0** (Latest): 3,100+ icons with React and Vue packages
- Full changelog available on GitHub releasesRelated Skills
git-commit-formatter
生成符合 Conventional Commits 规范的 Git 提交信息。当用户要求生成提交、创建 commit 或写提交信息时使用
deploy-staging
将当前分支部署到测试环境。当用户要求部署、发布到测试或在 staging 环境测试时使用
code-reviewer
进行系统化的代码审查,检查代码质量、安全性和性能。当用户要求审查代码、review 或检查代码时使用
turborepo
Guide for implementing Turborepo - a high-performance build system for JavaScript and TypeScript monorepos. Use when setting up monorepos, optimizing build performance, implementing task pipelines, configuring caching strategies, or orchestrating tasks across multiple packages.
test-expert
Testing methodologies, test-driven development (TDD), unit and integration testing, and testing best practices across multiple frameworks. Use when the user needs to write tests, implement TDD, or improve test coverage and quality.
template-skill
Replace with description of the skill and when Claude should use it.
tailwindcss
Guide for implementing Tailwind CSS - a utility-first CSS framework for rapid UI development. Use when styling applications with responsive design, dark mode, custom themes, or building design systems with Tailwind's utility classes.
skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
shopify
Guide for implementing Shopify apps, extensions, themes, and integrations using GraphQL/REST APIs, Shopify CLI, Polaris UI, and various extension types (Checkout, Admin, POS). Use when building Shopify apps, implementing checkout extensions, customizing admin interfaces, creating themes with Liquid, or integrating with Shopify's APIs.
shell-scripting
Specialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices. Use when the user needs to write, debug, or optimize shell scripts or work with command-line tools.
shadcn-ui
Guide for implementing shadcn/ui - a collection of beautifully-designed, accessible UI components built with Radix UI and Tailwind CSS. Use when building user interfaces, adding UI components, or implementing design systems in React-based applications.
repomix
Guide for using Repomix - a powerful tool that packs entire repositories into single, AI-friendly files. Use when packaging codebases for AI analysis, generating context for LLMs, creating codebase snapshots, analyzing third-party libraries, or preparing repositories for security audits.