Which icon sizes should I use in my application?

We’ve covered icons in the past, but I thought it was a good idea to review this information because I often see applications that use incorrect icon sizes. At a high level, here are the icon sizes Windows Mobile developers need to be aware of:

Windows Mobile Professional and Classic devices (formerly known as “Pocket PC”):

  • Normal DPI: 16×16 (small) and 32×32 (large)

  • High DPI: 32×32 (small) and 64×64 (large)

Windows Mobile Standard devices (formerly known as “Smartphone”):

  • Normal DPI: 16×16 (small) and 32×32 (large)

  • High DPI: 22×22 (small) and 44×44 (large)

So which of these icons should you use and where?

Application icons:

Your application’s main icon (the first one embedded inside your .exe) is used in various places such as File Explorer, Task Manager, Start menu shortcuts, 3rd party memory management utilities etc. Since you cannot predict or control whether the user will see this as a large or small icon, you should support the maximum number of sizes for this icon (i.e. both small and large formats).

If you are creating a single .exe that is designed to run on all Windows Mobile devices, use an application icon with these sizes:

  • 16×16

  • 22×22

  • 32×32

  • 44×44

  • 64×64

If your .exe is only designed for “Pocket PC” devices, use an application icon with these sizes:

  • 16×16

  • 32×32

  • 64×64

If your .exe is only designed for “Smartphone” devices, use an application icon with these sizes:

  • 16×16

  • 22×22

  • 32×32

  • 44×44

“Feature” icons:

These are icons used within your own application. As a developer you can control the appearance of common controls such as ListViews and TreeViews used within your application, and hence you can decide which icon formats are most appropriate. For example, if you use a ListView control with the LVS_ICON style, you will need a “large” icon. If you use the LVS_REPORT style instead, you will need a “small” icon. To create applications that look great across all Windows Mobile devices (regardless of “Pocket PC” or “Smartphone”), support all the necessary icon formats – but no more than you really need. For example, if I know that my ListView will only use the LVS_REPORT style, my icon only needs to support the “small” sizes (16×16, 22×22 and 32×32). Similarly if my ListView only uses the LVS_ICON style, I only need the “large” sizes (32×32, 44×44 and 64×64).

Bottomline, treat your application icon and feature icons differently. And strive to support all the icon sizes that are necessary across different types of Windows Mobile devices. I hope this post helps you improve the look and feel of your applications. Please post comments if you need more clarification around icon size issues.

-Mel Sampat (PM, Windows Mobile shell team)

Comments (14)

  1. Jicea says:

    What about 320×320 devices with 43×43 and 21×21 icons sizes. If we don’t include such sizes in icon file, wouldn’t be icons stretched ?

    I recommend this link: http://blogs.msdn.com/windowsmobile/archive/2007/03/02/320×320-revisited.aspx


  2. caywen says:

    As a long time Windows (and now WinMo) dev, all this icon craziness has me in disbelief. The last app I wrote, I had to spend 2 days with Visual Studio’s horrible icon editor to make my app’s icon look right in all the different resolutions.

  3. Tsukrov Stanislav says:


    Sorry for offtopic.

    Is MUI-mechanism supported on WM 2003 (4.20)?

    It works fine on WM 2003 SE (4.21), but we cannot get it work on WM 2003.


  4. MarkO says:

    What color depths need to be included to support the widest range of devices? 4-bit, 8, 24, 32? Just 24?

  5. Jason says:

    can you tell me where can I get Device Command Shell tool?

    I really need this tool..

    thanks a lot..

  6. How do i add an icon to a application?

    Like win32 there’s no icon propertyy on the Main form.

  7. Doug Squires says:

    I’ve got a working DirectX, windows mobile 6 professional application on an at&t tilt – and i’m finally to the point of packaging it up into a cab file…  and for the life of me, i can’t get my icons to appear after installation on the "Programs" list (and yes, I’ve created icons in all the recommended sizes). help – anyone?

  8. Colmeister says:

    This talk of icon sizes is all very interesting but when are we going to get some news about WM7?  I’ve heard that it will in beta by the end of the year (don’t know if that’s true or not but it needs to be given the head-start enjoyed by the iPhone and others) but no details have emerged since the GUI brainstorming sketches that appeared in February.

    This seems in direct contrast to the new Windows 7 (Engineering 7) blog which is making an effort to connect with the community from a very early stage.

  9. CMC says:

    Is there an answer to the color depth question?

  10. kkarunakar says:

    Please check if you have mentioned correct registry entries for your app along with correct resource id of application icon.



  11. Daniel says:


    as a designer, which file-format should i prepare for the coders? .png in the various sizes, .ico including the various sizes?

    pls. enlighten me.

    thanks & regards


  12. Archis Gore says:

    I too would like to know an answer to the color depth question. If we put icons with 32-bit color depth, are they automatically adjusted to the lower depths?

  13. satty295 says:

    I am adding an Notification icon on Smartphone 6.1 on Titlebar . I added successfully using the CLSID_SHNAPI_OemNotif1 .However on non home screen icon can be displayed properly but when swichted to home screen the icon is displayed half cut . Could any one let us know why this happens and how to reslove. In fact i am using the 320 *320 screen.

  14. PTesta says:

    Woow very interesting post!

    A lot of question!  NO Answers!

    Where we may Found information about:

    How to use Icons and Images in Windows Mobile 6.xx???