IconEditor

Reference · 6 min read

Windows icon sizes cheat sheet: every context explained

A Windows .ico is a container. The shell picks the entry closest to what it needs and scales only when it must. Here is what it needs, and where.

01 · The sizes

The sizes and where they show up

At 100 % display scaling. Seven entries cover every place Windows draws an application icon.

SizeWhere Windows uses itPriority
16×16Explorer list/details view, window title bar, taskbar small-icon mode, system tray, browser tabs, Alt+Tab list text rowsRequired
24×24Taskbar buttons (default), Start menu pinned list at 100 %, jump listsRequired
32×32Explorer small icons, Alt+Tab thumbnails, desktop "small icons", taskbar at 125–150 % scaling, Start pinned apps (Win 11)Required
48×48Desktop and Explorer "medium icons" (the default), file-open dialogs, Control PanelRequired
64×64Explorer medium icons at 125–150 % scaling, UAC promptRecommended
128×128Explorer "large icons" at high DPI, Windows 11 Start "all apps" at 200 %Recommended
256×256Explorer "extra large icons", tile/thumbnail views, Properties dialog, any place at 200–300 % scalingRequired

Windows has never used 20, 40 or 96 px entries from an .ico directly; it scales from a neighbour instead. Including them adds bytes without adding sharpness. The seven sizes above are what IconEditor exports.

02 · Scaling

High-DPI displays

At 150 % scaling, a "16-px" title bar icon is really 24 device pixels, and a "48-px" desktop icon is 72. Windows solves this by picking the next entry up (24 and 64 or 128) and scaling from there, which is why the intermediate sizes matter.

On a 4K monitor at 200 %, the 256 entry is doing most of the work even for "medium" icons — one more reason to draw that one carefully.

03 · Pixels

Colour depth and transparency

  • Store every entry as 32-bit BGRA. 8-bit palette entries were for Windows 98 — nothing needs them today.
  • The 256 px entry should be PNG-compressed. It is supported since Windows Vista and cuts the file from ~260 KB to a few KB. IconEditor does this automatically; smaller entries stay as classic BMP for compatibility with old resource tools.
  • A 1-bit AND mask is still written for each BMP entry. Modern Windows ignores it when alpha is present, but some legacy software reads it.

04 · The web

Favicons and the web

Same file, fewer sizes — plus the PNGs that phones want.

UseSizeFormat
Browser tab, bookmarks, history16, 32favicon.ico (multi-size) or PNG
Pinned tab / high-DPI tab48, 64PNG or the same .ico
iOS home screen180apple-touch-icon.png
Android / PWA192, 512PNG via web manifest
Scalable fallbackanySVG (rel="icon" type="image/svg+xml")

The .ico you export for a Windows app doubles as favicon.ico; add a PNG for Apple and a manifest for Android. The export dialog has the <link> snippet.

The Start menu and browser tab mock-ups from the Preview on Windows dialog, showing the 32 px and 16 px entries
The preview's Start menu / browser tab panel uses the 32 and 16 px entries — the same two a favicon needs.

05 · Checklist

Before you ship

  1. 01

    Draw 256, scale to 48/32/24/16 and retouch those by hand.

  2. 02

    Export all seven sizes, 32-bit, 256 as PNG.

  3. 03

    Preview on dark and light backgrounds.

  4. 04

    Reference the file from your resource script / project file.

Try it as you read

The editor is free, needs no account, and exports a Windows-ready .ico with all seven sizes.

Open the editor