How the ICO converter works
You give it one picture and it gives back one .ico. Inside that file sit four square copies of your picture at 16, 32, 48 and 256 pixels, each stored as a complete PNG.
That surprises people who remember .ico as a Windows bitmap format. It still can be one, but since Windows Vista an entry is allowed to hold PNG bytes instead, which is what browsers and Explorer both prefer now. So the container is thin: two bytes of zero, two saying "icon", two counting the entries, then sixteen bytes per entry carrying a width, a height, a byte length and an offset into the rest of the file. Four entries spend seventy bytes on that bookkeeping. Everything after it is your pictures.
Width and height each get one byte, and zero is the escape code meaning 256. That single byte is why 256 is the largest square anything can put in an .ico, and why the converter stops there rather than offering 512.
Sizes come out of your file rather than a fixed list. Fitted whole, the 480 × 120 test wordmark produced a 3,416-byte file holding all four sizes; cropped to its middle square it reaches only 120 pixels, so 256 dropped out and the file came to 548 bytes. The 512 × 512 test logo makes a 5,618-byte icon. A 64-unit SVG makes an 8,737-byte one, because vector art gets redrawn at 256 instead of stretched.
Whole picture or center square
Icons are square and most pictures are not, so the two buttons decide what happens to the difference. Whole picture shrinks yours until it fits inside the square, leaving clear space above and below a wide shot. Center square keeps the middle and discards the ends. On the test wordmark that difference is visible in the pixels: fitted, the 256 px copy is transparent at the top and carries the yellow cap at the left edge and the black cap at the right; cropped, the 48 px copy reads the same green at its corner and at its middle, because the caps were never inside the middle 120 × 120.
Whichever you pick, the swatches above the buttons redraw at 16, 32 and 48 before you convert, using the same code that writes the file.
When you'd reach for it
- A desktop shortcut or an installer. Windows wants an
.icoand will not take a PNG, and the 256 entry is what its large-icon view has to draw from. - A framework that asks for
favicon.icoand nothing else. Plenty of scaffolds still put exactly that filename in the template. - Turning a screenshot or a photo into an icon. JPG goes in as readily as PNG, and so do WebP, GIF, BMP and SVG.
- You have the picture in the wrong format. The tool reads the file's first bytes rather than its name, so a
.pngthat somebody exported as a JPEG still converts.
What this tool cannot do
It goes one direction. ICO in, nothing out. Reading an existing .ico back into PNGs is a different job and this page does not do it.
It refuses to enlarge. Sizes your picture cannot reach are left out and the line above the button says which. A 200 px source therefore yields a three-entry file, not a soft 256.
256 is the hard ceiling. One byte per dimension, as described above. If you need a 512, you need a PNG.
No renaming. logo.webp becomes logo.ico. That is deliberate, so you can find the file again in your downloads folder.
One picture per run. The converter takes a single file, because the shape choice and the swatches are about that one picture.
No transparency repairs. Whatever alpha your source has is carried through untouched. A JPEG has none, so its icon will be a solid square with hard edges.
Animation is dropped. An animated GIF or WebP contributes its first frame and nothing else.
Very old Windows will not read it. XP and Internet Explorer 10 want bitmap entries rather than PNG ones. Everything from Vista onward, and every current browser, reads the file this page writes.
Nothing is validated for you. The converter will happily pack a blurry photograph or a screenshot of text into an icon, and at 16 pixels neither will be readable. Look at the swatches first.
Frequently asked questions
What is an ICO file?
A container. It indexes several square pictures at different sizes so that whatever draws the icon can pick the one it wants: a browser tab takes 16 or 32, a Windows desktop takes 48 or 256. One file, several resolutions.
Which sizes should I put in it?
The four this page writes cover a browser tab, a bookmark bar, a file list and a Windows desktop. Entries in between those sizes get picked by nothing and only add weight.
Can I convert a JPG to ICO?
Yes, along with PNG, WebP, GIF, BMP and SVG. A JPEG carries no transparency, so expect a solid square.
Does the SVG stay sharp?
It does. The drawing is rasterized at 256 pixels and the smaller copies come down from there, so the result is a real 256 px render rather than an enlarged thumbnail. An SVG without a width, a height or a viewBox gets refused, because nothing in the file says how big it was meant to be.
Does my picture get uploaded?
No. The whole conversion happens inside your browser tab, and no part of your file reaches this site.
Why is the download row missing the usual percentage?
Because the two numbers do not compare. Your source might be a 4-megapixel photograph and the icon keeps 256 pixels at most, so a cheerful "−98%" would read as compression when it was resolution being thrown away on purpose. The row prints the icon's own size instead.
Where do I put the file?
For a website, the root folder, named favicon.ico. For a Windows shortcut, right-click the shortcut, choose Properties, then Change Icon, and point it at your .ico.
Can I make it from text or an emoji?
No. Bring a picture file; this page has no drawing tools in it.