A Figma plugin built with React that helps designers and developers quickly edit and export SVG icons along with their metadata. This plugin is particularly useful for managing and maintaining icon libraries.
- Export selected frames as SVG icons
- Automatically generates metadata for each icon (name, dimensions, category)
- Add and edit tags for icons directly in the UI using a custom TagInput component
- Choose from preset tag categories
- Download all icons and metadata as a ZIP file
- Node.js (v14 or higher)
- npm or yarn
-
Clone this repository
-
Install dependencies:
npm install
or
yarn
-
Start the development server:
npm run dev
or
yarn dev
-
Open Figma Desktop app
-
Go to
Plugins > Development > Import plugin from manifest...
-
Select the
manifest.json
file from this project
To build the plugin for production:
npm run build
or
yarn build
- Select one or more frames in Figma
- Run the plugin from the Plugins menu
- Click "Export Selected Frames" to generate SVGs and metadata
- Edit tags for each icon if needed by clicking "Edit Tags"
- Click "Download All" to download a ZIP file containing the SVGs and a metadata.json file
The plugin uses a custom TagInput component that allows for intuitive tag entry:
- Type text and press Enter, comma, or space to create a tag
- Click "×" to remove a tag
- Press Backspace when the input is empty to remove the last tag
- Paste comma-separated values to add multiple tags at once
- Select from preset tag categories to quickly add common tags
src/plugin/code.ts
- The plugin code that interacts with the Figma APIsrc/ui/
- React components for the plugin UIsrc/ui/components/TagInput.tsx
- Custom tag input componentsrc/ui/components/TagEditor.tsx
- Editor for handling tag managementsrc/ui/components/IconResult.tsx
- Displays individual icon resultssrc/ui/components/App.tsx
- Main application component
dist/
- Built plugin files
- This plugin assumes that icon frames are named appropriately, with optional tags in square brackets (e.g., "Icon Name [tag1,tag2]")
- The plugin uses the current page name as the category for the icons
- When exporting, frames are converted to SVG with optimized settings
MIT