Skip to content
ColorKit

Free image to ICO converter

Image to ICO, cropped square first

Free, no signup, and the cropping happens before the conversion: drag the square selection across your photo, zoom in to 4×, choose one size between 16 and 256 px, and download a single-frame .ico. At 32 px the file is 4,286 bytes however large the photograph was, because a small frame is stored uncompressed. Underneath, the same crop is rendered at 16, 32 and 48 px against a mock tab strip — that preview is the point of the page, since a photograph that looks fine in the crop box is often unrecognizable in the 256 pixels a tab actually gives it.

  • 100% free
  • No signup
  • Square crop, 1× to 4×
  • One frame, 16 to 256 px
  • True-size preview

JPEG, PNG, WebP, GIF or SVG. A phone photo arrives the right way up — browsers have applied the EXIF orientation tag since 2020.

Press Ctrl+V anywhere on the page to drop in a photo from the clipboard — no need to click the field first.

How to turn a photo into an ICO file

Crop, size, check at 16 px — the third step is the one people skip.

  1. Open the picture and put the subject inside the square

    Drag the image behind the square viewport to move it, use the arrow keys for a two-percent nudge or Shift with an arrow for ten, and the zoom slider to close in from 1× to 4×. The crop always reads the original pixels rather than the preview, so zooming to 4× on a 4,000 px photograph still samples a 1,000 px region at full detail. A phone photo comes in the right way up: browsers have honoured the EXIF orientation tag since Chrome 81, Firefox 77 and Safari 13.1.

  2. Pick the one size the file will carry

    32 px is the safe default and the size a browser tab asks for on a normal display. Choose 16 only if you know the icon will never be shown larger, and 256 only if it will be a Windows thumbnail — those two are the extremes of the same file format. If your crop leaves empty corners, turn the fill on and pick a color rather than shipping transparent gaps that will render as black on some surfaces.

  3. Judge it at 16 px, then save

    The preview strip renders the crop at 16, 32 and 48 px at true pixel size, with the 16 px version sitting in a mock tab next to a page title. This is the honest test and it is where most photographs fail: 16 px is 256 pixels in total, roughly a two-hundredth of one percent of a phone photo. The distinct-color count under the download button tells you the same story in a number.

Technical specifications

OutputA single-frame .ico. Up to 48 px the frame is uncompressed 32-bit BMP; from 64 px it is a PNG frame, where storing raw pixels stops being reasonable
Exact file sizes1,150 bytes at 16 px, 4,286 at 32 and 9,662 at 48 — header, directory entry, pixels and mask — regardless of what went in
Crop controlLocked to 1:1, zoom from 1× to 4× in steps of 0.05, dragged with a pointer or nudged by 2% per arrow key and 10% with Shift
ResamplingCanvas drawImage with imageSmoothingQuality set to high; a 4,000 px source lands on 1,024 pixels at 32 px and 256 pixels at 16 px
Color retainedCounted on the finished frame and shown with the file size. A 16 px icon cannot exceed 256 distinct colors because it has only 256 pixels
OrientationEXIF rotation is applied by the browser during decode — Chrome 81, Firefox 77 and Safari 13.1 and later — so a portrait phone photo is upright before cropping
TransparencyAlpha survives into the frame's BGRA bytes and into the 1-bit mask; empty corners stay transparent unless a fill color is switched on
Accepted inputAny still image the browser decodes — JPEG, PNG, GIF, WebP, SVG — with a 10 MB ceiling. No minimum, though enlarging a 64 px source to a 256 px icon only enlarges its pixels

Frequently asked questions

Why does my photograph turn to mush at 16 px?

Because 16×16 is 256 pixels and a face, a landscape or a product shot needs more than that to be recognizable. What survives a downscale of that violence is a silhouette and one or two dominant colors, so the crops that work are the ones built out of a single high-contrast shape: one letter, one object against an empty background, a logo mark. If the subject only reads once you have described it, it will not read in a tab.

What happens to the parts of my photo outside the square?

They are discarded — the square selection is the picture, and everything else is cropped away rather than squashed in. That is the difference between this page and a converter that letterboxes: a 16:9 screenshot squeezed into a square distorts every face in it, and one padded to a square wastes half the pixels on empty bars. Move the square to what matters and let the rest go.

Which single size should I pick if I can only have one?

32×32. It is what a browser tab requests on a standard-density display, it downscales to 16 acceptably, and Windows will accept it wherever a small icon is needed. The reason to want several sizes in one file is that each can be drawn differently rather than merely resampled, and that is a job for a multi-frame container instead of this page.

Will a transparent background survive the conversion?

Yes. The frame is written as 32-bit BGRA, so every pixel keeps its own alpha byte, and a matching one-bit mask is generated alongside it for older readers. Leave the fill switched off and transparency passes straight through from a PNG or an SVG; switch it on and the empty area is painted before the artwork is drawn, which is what you want if the icon will sit on a dark taskbar.

Why is the .ico larger than the JPEG I started with?

Because a small ICO frame is not compressed at all. A 32 px file comes to 4,286 bytes — a 6-byte header, a 16-byte directory entry, 4,096 bytes of pixels and 128 bytes of mask — whether the source was a 3 MB photograph or a flat square of one color. Sizes from 64 px up switch to a PNG frame here for exactly that reason, since an uncompressed 256 px frame would be 270,376 bytes.

Can I just rename photo.png to photo.ico?

No, and the reason is worth knowing: an ICO file starts with a directory that says how many pictures are inside and where each one begins, and a PNG has no such thing at its front. Browsers are forgiving enough that a renamed file sometimes displays in a tab, which is how the myth survives; Windows, icon editors and installers are not, and will report the file as corrupt.

About shrinking a photograph into an icon

The arithmetic decides this before any software does. A 12-megapixel phone photo holds twelve million pixels; a 32 px icon holds 1,024 and a 16 px icon holds 256. Getting from one to the other means throwing away 99.99% of the information and hoping the remainder still means something, and hope is the wrong tool — the crop is where the decision is actually made. A tight square around one object survives, because a silhouette and a dominant color are cheap to encode at any resolution. A group photo, a landscape or a screenshot of a page does not survive at all, and no amount of sharpening afterwards recovers detail that is no longer sampled.

The second thing worth knowing is what the resampler does to fine structure. A canvas downscale with high smoothing averages a whole block of source pixels into each destination pixel, so a one-pixel line in the original contributes a fraction of its color to one output pixel and vanishes into the background. That is why a logo with hairline strokes or small type reduces to a grey haze while a solid shape stays crisp, and it is why redrawing beats scaling whenever the artwork is geometric rather than photographic. If the mark started life as flat color, tracing it back to paths with PNG to SVG and rendering from the vector produces a far cleaner 16 px than any downscale of the bitmap will.

A one-frame .ico is the right answer more often than the internet suggests — for a desktop shortcut, an installer, a Windows application resource or a quick tab icon on an internal tool, one 32 px frame is the whole requirement. When the file has to serve a real website you want several frames and the rest of the icon set, which is what the favicon generator produces, and the ICO converter is where you go to pack several sizes into one container and inspect the result. If the photograph turns out not to work at icon size, two neighbors generate something that does: the avatar generator derives a stable identicon from a name, and the placeholder image generator draws a labelled square you can hold the slot with in the meantime.

Where the photo is cropped

Every number on this page is worked out by JavaScript running in the tab you are reading it in. Nothing you type, paste or open is uploaded, logged or kept, which is also why the tools carry on working after you disconnect from the network.

The crop and the resize happen on a canvas element in this tab, so the full-resolution photograph is never transmitted anywhere — a detail that matters more here than elsewhere on the site, because personal photos are what this page is usually pointed at.