https://github.com/steambap/png-to-ico
  
  
    convert png to ico format 
    https://github.com/steambap/png-to-ico
  
cli converter ico image image-processing png png-converter png-icon
        Last synced: 8 months ago 
        JSON representation
    
convert png to ico format
- Host: GitHub
 - URL: https://github.com/steambap/png-to-ico
 - Owner: steambap
 - License: mit
 - Created: 2016-09-13T01:48:25.000Z (about 9 years ago)
 - Default Branch: main
 - Last Pushed: 2025-01-01T01:32:29.000Z (10 months ago)
 - Last Synced: 2025-03-08T13:05:41.034Z (8 months ago)
 - Topics: cli, converter, ico, image, image-processing, png, png-converter, png-icon
 - Language: JavaScript
 - Homepage:
 - Size: 577 KB
 - Stars: 170
 - Watchers: 3
 - Forks: 22
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 - Contributing: CONTRIBUTING.md
 - License: LICENSE
 - Code of conduct: CODE_OF_CONDUCT.md
 
 
Awesome Lists containing this project
README
          # png-to-ico
[](https://github.com/steambap/png-to-ico/actions?workflow=CI)
> convert png to windows ico format
## Translations
[中文](README_CN.md)
## intro

## install
> npm install --save-dev png-to-ico
## usage
npm script:
```
png-to-ico electron.png > app.ico
```
npx script:
```
npx png-to-ico -- electron.png > app.ico
```
This way you can run the script without installing the package into your project
programming usage:
```JavaScript
const fs = require('fs');
const pngToIco = require('png-to-ico');
pngToIco('electron.png')
  .then(buf => {
    fs.writeFileSync('app.ico', buf);
  })
  .catch(console.error);
```
If you want to control what sizes should be in the icon file, pass an array of files:
```JavaScript
pngToIco(['electron16x16.png', 'electron32x32.png'])
  .then(buf => {
    fs.writeFileSync('app.ico', buf);
  });
```
## Why use png-to-ico?
When I work on an electron project, it's always a nightmare to create ico for windows.  
There're so many options out there like apps that make icon for you, photoshop plugin. But none of them satisfy me.  
I want a JavaScript module that works like the .NET ico tool, which automatically generate different sizes for ico file.  
Based on [pngjs](https://github.com/lukeapage/pngjs):
Simple PNG encoder/decoder library written entirely in JavaScript for Node, with zero external or native dependencies.  
In other words, png-to-ico is written purely in JavaScript, which is great for windows user.  
## license
[MIT](LICENSE)