Figma Icon Exporter
A powerful Figma plugin for exporting icons effortlessly
Plugin Preview
About this plugin
đź“– Documentation
🎨 Demo File
---
🚀 About
Figma Icon Exporter streamlines the process of exporting icons from Figma. With it you can:
- Export icons as SVG files
- Save locally as a structured ZIP archive
- Upload icons directly to GitLab or GitHub with an automatic commit & merge/pull request
- Easily manage multiple Git providers
📦 How to Export Icons
Export locally:
- Open the plugin in Figma.
- Click Scan
- Select Download ZIP
- The plugin finds all slices, optimizes them as SVGs
- A ZIP download prompt will appear.
Use this method for local testing, design handoffs, or sharing assets externally.
Export to GitLab:
- Open the plugin in Figma.
- In Settings → Sync Provider, choose GitLab and enter your credentials.
- In the Exportertab, click Scan.
- Select Export to Repository.
- The plugin processes all slices and creates optimized SVGs.
- A new branch named `figma-icons-update-{timestamp}` is pushed.
- A Merge Request is automatically opened in GitLab.
- Assign reviewers and share the MR link.
Export to GitHub
- Open the plugin in Figma.
- In Settings → Sync Providerchoose GitHub and enter your credentials.
- In the Exporter tab, click Scan.
- SelectExport to Repository
- The plugin processes all slices and creates optimized SVGs.
- A new branch named
figma-icons-update-{timestamp}is pushed. - A Pull Request is automatically opened in GitHub.
⚙️ Configuration
🔑 GitLab access token:
- In GitLab, navigate to Settings → Access Tokens.
- Create a token with the
write_repositoryscope. - Copy the token and paste it into the plugin’s Settings panel.
🔑 GitHub Setup (Access Token):
The plugin creates a branch, commits your exported icons, and opens a pull request.
### Option A — Classic Personal Access Token (fastest)
- In GitHub, go to Settings → Developer settings → Personal access tokens (classic).
- Click Generate new token (classic).
- Choose scope(s):
- Private repos: check
repo(required). - Public-only repos: you can use
public_repoinstead. - Generate the token and copy it.
> Org repos with SAML SSO: after creating the token, click “Authorize” for your organization.
> Without this, GitHub will return 403 Resource not accessible by personal access token.
### Option B — Fine-grained Personal Access Token (recommended for least privilege)
- In GitHub, go to Settings → Developer settings → Personal access tokens → Fine-grained tokens.
- Click Generate new token.
- Resource owner: choose your user or the organization that owns the repo.
- Repository access: select Only selected repositories, then pick your target repo.
- Repository permissions (at minimum):
- Contents: Read and write (create branches/commits)
- Pull requests: Read and write (open the PR)
- (Optional) Actions: Read/Write only if you plan to call Actions APIs directly.
- Create the token and copy it.
- If the repo is in an organization with SSO, click Authorize for that org.
### Add token in the plugin
Open Settings in the plugin and fill:
- Repository owner (e.g. your GitHub username or your org name)
- Repository name (e.g.
design-system) - Token (paste the PAT from above)
Click Save, then run your export.
## GitLab Setup (Access Token)
The plugin creates a branch, commits your exported icons, and opens a merge request.
To do this via the GitLab REST API, your token must have API write access and your user/token
must have at least Developer role on the repository.
> Important: write_repository alone is not enough for the REST API (it only covers Git-over-HTTP).
> Use the api scope to call endpoints like “create branch”, “create commit”, and “create MR”.
### Option A — Personal Access Token (user-scoped)
- In GitLab, go to User menu → Edit profile → Access Tokens
- (on gitlab.com: Settings → Access Tokens).
- Create a token:
- Scopes: check
api(required). - (Optional) also check
read_repository/write_repositoryif you plan to use Git-over-HTTP, butapiis the key scope for the REST calls this plugin makes. - Set an expiry you’re comfortable with.
- Copy the token.
### Option B — Project Access Token (least privilege for a single repo)
- In your project, go to Settings → Access Tokens.
- Create a token:
- Role: Developer (or higher).
- Scopes: `api` (required).
- (`read_repository`/`write_repository` optional if you’ll use Git-over-HTTP.)
- Copy the token.
> You can also use a Group Access Token in Group → Settings → Access tokens with Role: Developer and Scope: `api` if the repo lives in a group.
### Add token in the plugin
Open Settings in the plugin and fill:
- GitLab domain (e.g., `https://gitlab.com` or your self-hosted URL)
- Project ID (numeric ID). Find it on the project’s Overview → Details page.
- Token (paste the PAT or Project token from above)
Click Save, then run your export.
🛠️Troubleshooting
- `403 Resource not accessible by personal access token`
- Classic token missing `repo` (private) or `public_repo` (public) scope.
- Fine-grained token not granted to this repository, or Contents/Pull requests are not Read & write.
- Organization uses SAML SSO → token not Authorized for the org.
- Branch creation fails on `main`
- Protected branches block direct pushes. The plugin creates a feature branch; ensure your token has Contents: write and that the base commit SHA exists.
- Still stuck?
- Regenerate a classic PAT with
repoto quickly rule out permissions issues.
Plugin Details
| Version | 10 |
|---|---|
| Created | August 2, 2025 |
| Last Updated | September 27, 2025 |
| Category | Import & export plugins |
| Creator | Sofian Charbaux |
| Stats | 18 installs, 3 likes |
| Pricing | Free |
Technical Details
- API:1.0.0
- UI:build/ui.js
- main:build/main.js
- Document Access:dynamic-page
- Network Access:
We use various external endpoints. Details: https://sofian-design.github.io/fivra/references/network-access.html
- Editor Types:figma
- Allowed Domains:
- *
More Like This
Discover other plugins in the Import & export plugins category.
html.to.design — by ‹div›RIOTS — Import websites to Figma designs (web,html,css)
Convert any website into fully editable Figma designs
Anima - Figma to Code React, HTML, CSS, Tailwind, MUI (DevMode Inspect React / HTML / Vue / CSS)
Anima - AI Powered Design to code
Figma to HTML
Convert Figma design to HTML