How to Change a File Type Icon in Windows 7 and Vista

Windows XP and earlier Operating Systems include the most useful File Types tab in the Folder Options applet. This tab was removed in Windows Vista and Windows 7 and replaced by Default Programs, which lacks many features that the File Types tab has. This forced users to look for third-party utilities to manage file type associations and customize the icons. This article provides information on how to manually change the icon for file types in Windows 7 and Vista.

Tired of editing the registry? You can automate the following task using Default Programs Editor. See our recent article Using Default Programs Editor to Change File Type Icons in Windows 7 and Windows Vista

Customizing the Icon for a File Type

For illustrative purposes, let’s assume that you have a custom file type .abc for which you want to change the icon.

1. Click Start, type Regedit.exe and press ENTER

2. Navigate to the following branch:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .abc \ UserChoice

Registry Branch Not Found?  As said earlier, let’s assume .abc is a custom file type, given for illustration purposes in this article. You need to replace .abc with the actual file type extension for which you want to change the icon.


3. In the right-pane, note down the value data for Progid (e.g. abcfile). This is the user chosen (via Default Programs) Programmatic Identifier for the file extension.

4. If the UserChoice branch does not exist, navigate to the following branch:


5. In the right-pane, note down the (default) value data (e.g. abcfile). This is the Prog ID for the file extension.

6. Navigate to the following key (where abcfile is the Prog ID noted in Step 2 or Step 4 above):

HKEY_CLASSES_ROOT \ abcfile \ DefaultIcon

Note: If the DefaultIcon key does not exist by default, you need to create it manually.

7. In the right-pane, double-click (default) and mention the path to your custom icon (.ico file or reference to an icon resource from a EXE/DLL file).

Hint: You may use the icon picker dialog box to choose an icon from a EXE/DLL file. To launch the icon picker dialog, right-click on a folder in your system, click Properties. Click the Customize tab, and click Change Icon… button. Use the icon picker to choose the icon and make a note of the index. The index starts from "0" and you need to proceed vertically when counting (top to bottom.)

Once noted down the icon index, simply cancel the icon picker dialog and close folder properties dialog.

For example, to set the 260th icon in Shell32.dll (contains a text pad icon), type the following path:


8. Exit the Registry Editor.

Restart Windows for the icon change to take effect. In case it doesn’t, you can force a icon refresh manually, or try rebuilding the icon cache using Disk Cleanup.

20 thoughts on “How to Change a File Type Icon in Windows 7 and Vista

  1. When setting file association to some portable exe program, this maual-working steps comes to handy.

  2. The icon change is a multi-level problem. There are several “levels” at which one could/should change the icon.
    The following might help in cases where the above mentioned solution did not succeed.
    Example: Installed software (e.g. Inkscape 64-bit build) does not contain an icon in its exe.
    Action: *.svg is assigned via: right click -> open with -> … select path to inkscape.exe
    Result: all *.svg files show the icon inkscape.exe does = none
    Solution: execute regedit, search for: inkscape.exe (name of *.exe you did assign to file type) continue until you locate: HKEY_USERS\…\…\Software\Classes\Applications\inkscape.exe\… (…\Applications\[your software].exe\…).
    Under inkscape.exe add DefaultIcon key. Now next to other folders (e.g. …\shell) inkscape.exe\DefaultIcon\ should be available. Now edit the default key to the path to the icon file you want to assign. In this case (including the “) “C:\Program Files\Inkscape-0.48\inkscape.ico” did result in the selected icon being displayed for all *.svg files (analogue the files you associated with your software).
    Note: Icon cache can be either refreshed by 1) using “Set default” for a random file with random program you use to edit it (e.g. right click *.txt-> open with the default txt program you open it with anyway)) 2) changing screen resolution from 32-bit to 16-bit and back again 3) Restarting the computer
    Below find a list of seemingly random, working exemplary icons paths as encountered from the registry:
    “C:\…\Program.exe”,0 or C:\…\Program.exe or C:\Windows\System32\imageres.dll,-109 (number as explained above) or “C:\..\program.ico” or “C:\…\Program.exe,0 (no second “) or X:\…\Program.ico or “C:\PROGRA~1\…\PROGRAM.DLL”,-114

  3. I’m having your problem Chris! Like you, I’ve tried all kinds of solutions and programs. NOTHING is working to fix this. It’s driving me nuts. I just don’t like looking at a black paper for my .mp3 files. Did you ever find a solution by chance?

  4. Ridiculously convoluted way to simply change a bloody icon.

    “One step forward, two steps back” seems to be the motto for Microsoft

  5. Nemo,
    Thank you very much! That solution worked very well for what I was attempting to do. I appreciate the help.

  6. It seems that Win7 occasionally overrides your setting. If so, find your “abcfile” (key) in HKEY_CURRENT_USER and delete the Win7 created UserChoice key (The Notepad icon grabbed one of my special textfile types with my own icon)

  7. go to


    Right clock on userchoice, select delete

    restart computer…..

  8. There is a much easier and safer solution (at least for Win 7). See if your issue is the same as mine: I had .mp4 files set to open with VLC. They were named as VLC files, VLC had them selected as a default file type in the ‘Set Your Default Programs’ dialogue, and VLC was also the default in the file ‘Properties’ tab in Explorer. BUT, the icon for mp4 files was not the VLC icon, it was the Windows Media icon.

    This solved it:

    In the start menu, type ‘default programs’ and then go to that menu. Pick the 2nd option, ‘Associate a file type or protocol with a program’. When the list populates, choose the file type and click the ‘change association’ button. Choose the desired program, EVEN IF IT IS THE SAME PROGRAM YOU ARE CURRENTLY USING. When you hit ‘ok’, you will see that the file type icon now matches the program icon.

    Let me know if this works for you!

  9. Unfortunately, the above above advice does not give answer to the following question: how to change a file type icon in win explorer when “abcfile” key does not exist in HKEY_CLASSES_ROOT, what is very common. In fact the advice is useless as it des not give clear solution to the problem. It does not change the fact, anyway, that producers of vista and win 7 seem to be rather brainless to cancel many useful functions of win xp (file icons, full row select etc.).

  10. I have done all these things, it seems. I’ve done the changes both within the registry editor and I threw two programs at this issue, File Types Manager and Default Programs Editor. Everything tells me I have made the necessary changes, and the icons I changed are pointing to the right files for new icon images. Yet all my icons are the same on the desktop – not one has actually changed. I can change the standard desktop icons through “personalize,” but not the file type icons at all. I’ve rebooted, changed users, refreshed the desktop, tried saving new files, opened and closed the files themselves. I get the feeling I am missing something really obvious because I can’t find anyone else having this problem.

Comments are closed.