Skip to content

Caldis/bobcorn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

448 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bobcorn icon

Bobcorn

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.

Latest release Total downloads MIT License CI status

Website · Download · Changelog

Bobcorn — browse and manage thousands of SVG icons


What is Bobcorn?

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.

Features

Icon Management

  • 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

Batch select icons with multi-select mode and bulk operations

Icon Font Generation

  • 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 .icp projects; exports include the project file automatically

Export icon font dialog — choose formats and output path

Organization

  • Group management — Create, reorder, copy, and move icons between groups
  • Project files — Save/reload .icp projects; pick up exactly where you left off

Move icons to target group — select from groups like accessibility, arrows, automotive

General

  • Cross-platform — Windows, macOS (Intel & Apple Silicon)
  • Dark mode — One-click toggle, persisted across sessions
  • Open source — MIT licensed, free forever

Download

Platform Format Link
Windows .exe installer Download
macOS (Apple Silicon) .dmg arm64 Download
macOS (Intel) .dmg x64 Download

Export Formats

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)

Tech Stack

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

Development

Prerequisites

  • Node.js 18+ (recommend fnm)
  • npm 8+

Quick Start

# Install dependencies
npm install --legacy-peer-deps

# Start dev server with HMR
npx electron-vite dev

Build & Test

# 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)

Package

npm run package        # Current platform
npm run package-win    # Windows
npm run package-all    # All platforms

Contributing Translations

Bobcorn supports internationalization (i18n). To add a new language:

  1. Copy src/locales/zh-CN.json to src/locales/<language-code>.json
  2. Translate all values (do not change the keys)
  3. Register the language in src/locales/index.ts:
    • Import the new JSON file
    • Add it to the resources object
    • Add an entry to supportedLanguages
  4. Submit a pull request

Missing translations will fall back to Chinese (zh-CN).

License

MIT — see LICENSE for details.

About

The open-source icon manager and font generator for designers and developers. Import SVGs, organize into groups, edit colors, and export production-ready icon fonts in every format.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors