Denji

Introduction

CLI tool for managing SVG icons in frontend projects

Denji is a CLI tool that simplifies icon management in frontend projects. It fetches icons from Iconify's vast library, converts them to optimized components, and maintains a centralized icons file.

Features

  • 200,000+ icons - Access icons from Iconify's collection (Lucide, Material Design, Heroicons, etc.)
  • Type-safe - Full TypeScript support with auto-completion
  • Multi-framework - Supports React, Preact, Solid, Qwik, Vue, and Svelte
  • Optimized - Generates clean, tree-shakeable components
  • Accessible - Built-in accessibility strategies (ARIA attributes, titles, roles)
  • Customizable - Lifecycle hooks for custom transformations
  • Zero dependencies - Lightweight CLI with no runtime overhead

About the Name

Named after Denji from Chainsaw Man. Short, memorable, perfect for CLI commands.

Denji from Chainsaw Man

Quick Start

Install Denji

npm i -D denji

Initialize project

denji init

Creates denji.json config and icons template file.

Add icons

denji add lucide:check mdi:home

Fetches icons from Iconify and adds to your project.

Use in your app

import { Icons } from "./icons";

function App() {
  return <Icons.Check className="size-4" />;
}

Next Steps

On this page