Fast, open-source UI for SVGO – compress, optimize and minify SVGs right in your browser.
Inspired by SVGOMG but rebuilt from scratch with modern React, Tailwind CSS and Jotai.
• Drag-and-drop & Paste – drop an .svg anywhere or paste SVG markup/file.
• Real-time compression – runs SVGO in the browser; see size before/after and percentage saved instantly.
• Plugin toggles – enable / disable individual SVGO plugins, including multipass, prettify and more (state is persisted in localStorage).
• Markup & Image views – switch between rendered image and formatted SVG markup.
• Offline – everything happens client-side; no files leave your computer.
| Layer | Library / Tool |
|---|---|
| Front-end | React + TypeScript |
| Build | Vite |
| State | Jotai |
| Styling | Tailwind CSS |
| Icons | Lucide |
| Notifications | Sonner |
| Core | SVGO (browser build) |
# clone
git clone https://github.com/your-name/svgoui.git
cd svgoui
# install (uses pnpm ✨)
pnpm install
# start dev server
pnpm dev
# build for production
pnpm buildOpen http://localhost:5173 and start optimizing!
src/
├─ assets/ demo SVGs & images
├─ components/ reusable UI (action-bar, toast, nav-bar, …)
├─ context/ Jotai atoms for global state
├─ views/ page-level views (image, markup)
├─ App.tsx application root
└─ main.tsx Vite entry point
• Uses pnpm workspaces; if you prefer npm/yarn you can, but lockfile is .pnpm-lock.yaml.
• Tailwind utility classes prefer gap-* for spacing and Flexbox layout per coding guidelines.
• All new files / folders are kebab-case.
MIT © 2025 Rick Zhang