Icons and vectors
The small square a browser tab wants, and the drawing it came from.
- Convert SVG to PNGRasterise an SVG at whatever pixel width you need.
- Generate a favicon setOne image in, and the icon files a browser, an iOS home screen and an Android launcher each ask for.
- Convert ICO to PNGPull an image out of an icon file, at the largest size somebody put in it.
- Convert PNG to ICOWrite an icon file carrying the entry sizes a shell, a tab strip and a shortcut each ask for separately.
About these tools
An icon is not a small picture. It is several pictures of different sizes in one file, and the program displaying it picks whichever fits the slot it has. A tab strip asks for 16 pixels, a bookmarks bar for 32, a pinned tile for 150. Hand any of them a single large image and it downsamples on the fly, which is how a legible mark turns into four grey smudges at the size it is actually seen.
ICO is the container built for that. It holds a directory of entries, each with its own dimensions and its own embedded PNG or bitmap, and it is still what a browser fetches when nothing else is declared. Reading one back out means choosing which of the sizes inside you wanted.
Vectors sit here because they are where icons should start. An SVG has no resolution until something draws it, so rasterising at 512 and rasterising at 16 are two different renders rather than one render and a resize. The difference shows up on hairlines: a one-pixel stroke drawn at 16 is a pixel, and the same stroke scaled down from 512 is a grey blur.