Open-source icon manager and icon font generator for Windows & macOS.
Import SVGs, organize icon libraries, edit colors, and generate production-ready icon fonts (SVG, TTF, WOFF, WOFF2, EOT) — all in one app.
Website · Download · Changelog
Bobcorn is a free, open-source desktop application for icon management and icon font generation. It helps designers and front-end developers organize large SVG icon libraries and generate production-ready icon fonts in every major format.
Who uses it: Individual designers, front-end developers, and enterprise teams (including ZTE and Shopee) who need to build and maintain custom icon font systems.
How it compares: Unlike browser-based tools like IcoMoon, Bobcorn is a native desktop app that handles large libraries (3,000+ icons) with fast local processing. Unlike macOS-only tools like IconJar, Bobcorn runs on Windows and macOS, and generates icon fonts — not just icon organization.
- SVG import — Drag-and-drop or file dialog, batch import from folders
- Group organization — Create, reorder, copy, and move icon groups
- Search & filter — Instantly find icons across your entire library
- Inline color editor — Hex picker, eyedropper, or any CSS color format with live preview
- Scales to thousands — Handles 3,000+ icons smoothly
- One-click export — Generate all font formats at once with real-time progress
- Output formats — SVG, TTF, WOFF, WOFF2, EOT font files
- Web assets — CSS (class & symbol), JS, and HTML demo page
- Project files — Save/reload
.icpprojects; exports include the project file automatically
- Group management — Create, reorder, copy, and move icons between groups
- Project files — Save/reload
.icpprojects; pick up exactly where you left off
- Cross-platform — Windows, macOS (Intel & Apple Silicon)
- Dark mode — One-click toggle, persisted across sessions
- Open source — MIT licensed, free forever
| Platform | Format | Link |
|---|---|---|
| Windows | .exe installer |
Download |
| macOS (Apple Silicon) | .dmg arm64 |
Download |
| macOS (Intel) | .dmg x64 |
Download |
| Format | Type | Description |
|---|---|---|
.svg |
Font | SVG font file |
.ttf |
Font | TrueType font |
.woff |
Font | Web Open Font Format |
.woff2 |
Font | WOFF2 (compressed, recommended for web) |
.eot |
Font | Embedded OpenType (IE compatibility) |
.css |
Web | Stylesheet with class names and unicode mappings |
.js |
Web | JavaScript icon definitions |
.html |
Web | Demo page with all icons and usage examples |
.icp |
Project | Bobcorn project file (save/restore full state) |
| Layer | Technology |
|---|---|
| Runtime | Electron 28 |
| UI | React 18 + Radix UI + Tailwind CSS + lucide-react |
| State | Zustand |
| Build | electron-vite (Vite-based) |
| Database | sql.js (SQLite compiled to WASM) |
| Types | TypeScript 5 |
| Test | Vitest (unit) + Playwright (E2E) |
| Packaging | electron-builder |
- Node.js 18+ (recommend fnm)
- npm 8+
# Install dependencies
npm install --legacy-peer-deps
# Start dev server with HMR
npx electron-vite dev# Production build
npx electron-vite build
# Run tests
npx vitest run # Unit tests
node test/e2e/acceptance.js # E2E acceptance (21 checks)
node test/e2e/full-e2e.js # Full E2E flow (15 steps)npm run package # Current platform
npm run package-win # Windows
npm run package-all # All platformsBobcorn supports internationalization (i18n). To add a new language:
- Copy
src/locales/zh-CN.jsontosrc/locales/<language-code>.json - Translate all values (do not change the keys)
- Register the language in
src/locales/index.ts:- Import the new JSON file
- Add it to the
resourcesobject - Add an entry to
supportedLanguages
- Submit a pull request
Missing translations will fall back to Chinese (zh-CN).
MIT — see LICENSE for details.



