# AnyIcon — Technical Specification & AI Documentation AnyIcon is a free, open-source, serverless, client-side icon generator developed by Lessmanual Technologies. It resizes a single high-resolution image asset into standard configurations required for web, desktop, and mobile platforms, bundling them into a ZIP archive. ## Core Architecture - **Paradigm:** 100% Client-Side. No servers, no database, no authentication, no analytics. - **Resizing Engine:** HTML5 Canvas API (Offscreen canvas scaling using browser interpolation). - **Favicon Compiler:** Custom binary builder creating ICO directories containing 16x16, 32x32, and 48x48 PNG frames via manual offsets. - **Compression:** In-memory package compression using `JSZip` and client download stream triggers. - **Tech Stack:** Next.js (Static Export), TypeScript, Tailwind CSS, Lucide React. - **Developer Agency:** Lessmanual Technologies (https://lessmanual.io). - **Code Repository:** https://github.com/zubulika/Any-Icon --- ## Sizing & Output Platform Specifications ### 1. Web Preset (30 Icons) Generated folders: `/WebIcons/*` - `favicon-16x16.png`, `favicon-32x32.png`, `favicon-48x48.png`, `favicon-96x96.png` - `favicon.ico` (Binary ICO combining 16, 32, and 48px PNG layouts) - Apple Touch Icons: `apple-touch-icon.png` (180x180), plus legacy sizes (57, 60, 72, 76, 114, 120, 144, 152px) - PWA/Chrome Manifest: `android-chrome-36x36.png` up to `android-chrome-512x512.png` - Microsoft Tile Icons: `mstile-70x70.png` up to `mstile-310x310.png` - Metadata: `og-image.png` (1200x630, letterboxed with background padding) ### 2. Windows Preset (19 Icons) Generated folders: `/WindowsIcons/*` - Standard Sizes: `icon-16x16.png` up to `icon-512x512.png` - ICO: `app.ico` (Multi-size ICO: 16, 24, 32, 48, 64, 128, 256px) - UWP Tiles: `StoreLogo.png` (50x50), `Square44x44Logo.png`, `Square71x71Logo.png`, `Square150x150Logo.png`, `Square284x284Logo.png`, `Square310x310Logo.png`, `Wide310x150Logo.png` - Splash: `SplashScreen.png` (620x300, letterboxed with background padding) ### 3. Mobile & Desktop (58 Icons) Generated folders: `/AllPlatformIcons/*` - **macOS Finder/Dock (.png):** 16x16 up to 512x512 (with Retina 2x sizing up to 1024x1024) - **iOS AppIcon (.png):** Spotlight, settings, notification, and home screen sizes (20pt @2x/3x up to 1024x1024 App Store icon) - **Android mipmap launcher (.png):** Standard and rounded variations for mdpi (48px) up to xxxhdpi (192px) - **Electron suite:** 16x16 to 512x512 PNGs + multi-size `app.ico` - **Linux hicolor app icons:** 16x16 up to 512x512 PNGs inside standard hicolor directory structures --- ## Implementation Reference Resizing algorithms are configured inside [generateIcons.ts](file:///e:/Repos/Any-Icon/anyicon-app/lib/generateIcons.ts). - `resizeImage()`: Direct canvas scaling. - `resizeImageLetterbox()`: Centers image inside standard sizing coordinates with white backdrop fills. - `resizeImageOG()`: Centers logo inside social card sizing with 60% padding. - `buildIco()`: Generates binary stream of standard Windows ICO containers containing multiple PNG entries.