mcpField
I
icon-generator

icon-generator

github.com/dkyazzentwatwaDesign & UI12463 installsUpdated 29w ago
Repository

About icon-generator

icon-generator creates app icons for multiple platforms from a single source image. It is for developers preparing platform-specific assets, with size presets, batch output, and corner-shape options.

Key features

  1. 01iOS, Android, Web, macOS, and Windows support
  2. 02Batch sizes from one image
  3. 03Platform-specific size presets
  4. 04PNG, ICO, and ICNS formats
  5. 05Square or rounded corners

Use cases

  1. 01Generate iOS app icon sizes
  2. 02Prepare Android icon assets
  3. 03Create website and PWA icons
  4. 04Output Windows ICO icons

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill icon-generator

After installing, type/icon-generatorin Claude Code to confirm it loaded.

Bundled filesscripts/icon_generator.pyscripts/requirements.txt

Details

From the project README

Icon Generator

Generate app icons in all required sizes from a single image.

Features

  • Multi-Platform: iOS, Android, Web, macOS, Windows
  • Batch Generation: All sizes from one source
  • Smart Scaling: Maintain quality at all sizes
  • Format Support: PNG, ICO, ICNS
  • Presets: Platform-specific size sets
  • Rounding Options: Square or rounded corners

Quick Start

from icon_generator import IconGenerator

gen = IconGenerator()

# Generate all iOS icons
gen.load("logo.png")
gen.generate_ios("ios_icons/")

# Generate all favicon sizes
gen.load("logo.png")
gen.generate_favicon("favicon/")

# Generate specific sizes
gen.load("logo.png")
gen.generate_sizes([16, 32, 64, 128, 256, 512], "icons/")

CLI Usage

# Generate iOS icons
python icon_generator.py --input logo.png --preset ios --output-dir ios_icons/

# Generate Android icons
python icon_generator.py --input logo.png --preset android --output-dir android_icons/

# Generate favicons
python icon_generator.py --input logo.png --preset favicon --output-dir favicon/

# Custom sizes
python icon_generator.py --input logo.png --sizes 16 32 64 128 256 -o icons/

# Generate all platforms
python icon_generator.py --input logo.png --preset all --output-dir app_icons/

API Reference

IconGenerator Class
class IconGenerator:
    def __init__(self)

    # Loading
    def load(self, filepath: str) -> 'IconGenerator'

    # Generation
    def generate_ios(self, output_dir: str) -> List[str]
    def generate_android(self, output_dir: str) -> List[str]
    def generate_favicon(self, output_dir: str) -> List[str]
    def generate_macos(self, output_dir: str) -> List[str]
    def generate_windows(self, output_dir: str) -> List[str]
    def generate_pwa(self, output_dir: str) -> List[str]
    def generate_all(self, output_dir: str) -> Dict[str, List[str]]

    # Custom
    def generate_sizes(self, sizes: List[int], output_dir: str,
                      prefix: str = "icon") -> List[str]
    def generate_single(self, size: int, output: str) -> str

    # Options
    def set_rounding(self, radius_percent: float) -> 'IconGenerator'
    def set_padding(self, padding_percent: float) -> 'IconGenerator'
    def set_background(self, color: Tuple) -> 'IconGenerator'

Platform Sizes

iOS (App Store)
  • 20x20, 29x29, 40x40, 60x60, 76x76, 83.5x83.5
  • 1024x1024 (App Store)
  • @2x and @3x variants
Android
  • mdpi: 48x48
  • hdpi: 72x72
  • xhdpi: 96x96
  • xxhdpi: 144x144
  • xxxhdpi: 192x192
  • Play Store: 512x512
Favicon
  • 16x16, 32x32, 48x48
  • 180x180 (Apple Touch)
  • 192x192, 512x512 (PWA)
Windows
  • 16x16, 32x32, 48x48
  • 256x256 (ICO)

Dependencies

  • pillow>=10.0.0

Comments

Markdown supported