Generate cross-platform website icons using the Node.js favicons library.
Use this skill when the user needs to generate website icons, create a PWA icon set for a website, generate app icons for different platforms (iOS, Android, Windows), or produce a complete icon package including HTML tags and manifest files.
Ensure favicons is installed in the project before execution:
bash
npm install favicons
javascript
import { favicons } from "favicons";
const response = await favicons(source, configuration);
Use the bundled script to generate icons:
bash
node <skill-path>/scripts/generate_favicons.js <source-image> <output-directory> <config-JSON>
bash
# Basic usage
node scripts/generate_favicons.js ./logo.png ./dist
# Full configuration
node scripts/generate_favicons.js ./logo.png ./dist '{
"appName": "My App",
"appShortName": "App",
"background": "#2196F3",
"icons": {"android": true, "appleIcon": true, "windows": true}
}'
For detailed configuration options, refer to config_reference.md.
OptionDescriptionappNameApplication nameappShortNameApplication short name (displayed on desktop)pathIcon deployment path prefixbackgroundIcon background coloricons.androidGenerate Android iconsicons.appleIconGenerate Apple Touch iconsicons.faviconsGenerate generic favicons
javascript
{
icons: {
android: false, // Skip Android icons
appleStartup: false, // Skip Apple startup images
yandex: false // Skip Yandex icons
}
}
The generated directory contains:
manifest.json, browserconfig.xmlfavicon-tags.html (can be directly copied into <head>)Why are some icons missing? Some icons (such as macOS SVG, Windows tile silhouette effects) require additional module support; the project will follow up continuously.
Generation failed?
favicons package is installed correctly