DEV Community

Cover image for Made a CLI tool so I stop hand-writing typed SVG icon components — IconCodegen
Nibin Kurian
Nibin Kurian

Posted on

Made a CLI tool so I stop hand-writing typed SVG icon components — IconCodegen

 Hey all — I built IconCodegen, a small CLI tool that runs a local
dashboard for browsing icons and generating strictly-typed React
components from them.

The problem I kept running into: grabbing an SVG icon, converting
it to a React component by hand, and making sure the props were
typed correctly (React.SVGProps, no any) got old fast, especially across a few hundred icons in a design system.

What it does:
Searches 200,000+ open icons via Iconify (Lucide, Phosphor,
  Material Symbols, etc.) with live filtering by pack/style
Customize stroke width, size, and color before generating
Outputs typed .tsx or .jsx, arrow or standard function style
Zero runtime deps — generates raw svg components, no bundled icon font Also supports reverse-rendering private/premium icon packages(e.g. Untitled UI Pro) fully offline

Quick start:
  npx iconcodegen init
  npx iconcodegen

It's genuinely early — I built it a few weeks ago. Would love
feedback, bug reports, or feature requests if anyone tries it.

GitHub: https://github.com/nibin-org/iconcodegen
npm: https://www.npmjs.com/package/iconcodegen
Docs/demo: https://iconcodegen.vercel.app

Top comments (0)