Customize File Icons: Easy Ways to Change Icons in Windows
Want to make your folders stand out and be easier to find? Here are the best ways to customize your Windows folder icons to make file organization more efficient and visually distinct. We’ll cover three main methods:
- Icon Changer Software
- Free Icon Archives
- Create Your Own Custom Icons
We’ll also show you some Windows built-in ways to change folder icons without needing any extra software.
1. Icon Changer Software
These programs make it simple to tweak and customize folder icons on your system.
Folder Marker
Folder Marker is great for changing icons quickly. It supports batch processing, so you can change multiple folder icons in one go. It also allows importing icons in various formats like ICO, EXE, DLL, and BMP.
Features:
Feature | Details |
---|---|
Custom Icons | Supports ICO, EXE, DLL, ICL, CPL, BMP formats. |
Batch Processing | Change multiple folder icons at once. |
Context Menu | Right-click a folder to apply icons instantly. |
System Default Icon | Set a default folder icon across your system. |
I love Folder Marker for its speed and ease of use, especially when changing icons in batches.

File & Folder Tools
File & Folder Tools isn’t just for changing folder icons—it also offers additional file management functions. You can batch change icons and work with various file formats like ICO, DLL, and EXE.
Features:
Feature | Details |
---|---|
Batch Processing | Change icons for multiple folders simultaneously. |
Icon Support | Supports ICO, DLL, and EXE (not ICL). |
Portable | Run without installation—just execute the file. |
Additional Functions | Includes file attribute changes, duplicate finder, etc. |
If you’re looking for a tool that’s both efficient and multi-purpose, this one’s a keeper.

Rainbow Folders
Rainbow Folders focuses on adding color to your folders, making it an excellent choice when you want to brighten things up without changing the actual icon.
Features:
Feature | Details |
---|---|
Color Customization | Adjust hue and saturation to change folder color. |
Icon Styles | Offers three built-in icon styles: Classical, Typical, and Modern. |
Multi-Select | Change colors on multiple folders at once. |
Right-Click Menu | Quick access via right-click for easy customization. |
Rainbow Folders is great for quick and colorful changes without changing icons.


2. Where to Download Custom Icon Sets
If you need some fresh icons, these sites offer high-quality icon sets for download:
- Icon-Icons: Free icons categorized by themes. High resolution available.
- Flaticon – Custom Icons: The largest database of icons, with color and size customization.
- IconArchive: A wide variety of icons with advanced search filters by style, color, and size.
3. How to Make Your Own Folder Icons
If you’re feeling creative, you can create your own folder icons by following these steps:
- Choose a Photo Editing Tool
Use tools like GIMP or Photoshop to design or edit an image. Make sure it’s square-shaped and has a transparent background. - Convert to ICO Format
Convert your image to ICO format using online converters like ConvertICO or ICO Convert. - Apply the Icon
Right-click the folder > Properties > Customize > Change Icon. Browse for your custom ICO file.
4. Change Icons Using Windows Features
You can change folder icons without any third-party software. Here’s how:
Use Properties to Change One Folder Icon
- Right-click the folder > Properties.
- Click the Customize tab.
- Press Change Icon.
- Browse for your desired icon file or executable.

Manually Change One or Several Folder Icons
If other methods don’t work, you can manually change folder icons by editing the desktop.ini file.
- Show Hidden Files
Go to Control Panel > Folder Options, then select “Show hidden files” and uncheck “Hide protected operating system files.” - Create the desktop.ini File
- Right-click > New > Text Document, name it desktop.txt.
- Open and add: iniCopyEdit
[.ShellClassInfo] IconResource=C:\FolderIcon.ico,0
- Save and rename it to desktop.ini.
- Set the Read-only Attribute
Use Command Prompt to set the read-only attribute: pgsqlCopyEditattrib +r [path-to-folder]
- Folder Icon Change
The custom icon should appear immediately or after refreshing the folder.

Create a Desktop.ini Using a Batch Script
For convenience, you can download a simple Batch Script that automatically creates the desktop.ini file.

For more ways to optimize your Windows experience besides changing folder icons, check out how you can print all file and folder contents or learn how to permanently delete sensitive files.
If you’re tired of empty directories cluttering your system, removing them is simple. Plus, if you need to extract icons from EXE files, tools like BeCyIconGrabber make the task easy.
You can even add a command to the Windows Explorer context menu for files and folders.
Big disadvantage comparing it to Foldermarker is that it takes a while; many users won’t understand.
Can this be helped?
Anybody?
I guess it depends on what the command is that is being used for the context menu.
I tried the original batch script –> didn’t work
I tried the corrections in the comment section –> didn’t work
I tried to fix the code on my own –> made progress but didn’t work
help?
If [%CD%] == [] goto :eof
attrib -S -H +A %CD%\desktop.ini
del desktop.ini
ECHO [.ShellClassInfo] >%CD%\desktop.txt
ECHO IconResource=%CD%\icon.ico,0 >>%CD%\desktop.txt
move %CD%\desktop.txt %CD%\desktop.ini
attrib +S +H -A %CD%\desktop.ini
attrib +R %CD%
attrib -R %CD%
When I change the icon path in the original script, it still works fine (Windows 10 64-bit).
Your script won’t work because of the %CD% variable. %CD% is the path to the current directory the batch file is in, not the target folder dropped onto the batch. That’s why %1 (or %~1) has to be used because it’s the argument variable for the script.
“del desktop.ini” will delete the ini from the wrong directory.
You also attrib +R and then -R which would undo the command.
This works for me:
If [%1] == [] goto :eof
::attrib -S -H +A “%~1\desktop.ini”
::del “%~1\desktop.ini”
ECHO [.ShellClassInfo] >”%~1\desktop.txt”
ECHO IconResource=%~1\icon.ico,0 >>”%~1\desktop.txt”
move “%~1\desktop.txt” “%~1\desktop.ini”
attrib +S +H -A “%~1\desktop.ini”
attrib +R %1
I’ve commented out lines 2 and 3 because you shouldn’t need to delete the original ini file and the script should overwrite it with a new ini automatically. Remove the “::” if you must use them.
For some reason %1 and %~1 do nothing on my system. That’s why I switched to %cd%. Do you have any idea why?
Without %1 no batch file will work if it requires an argument from the command line or drag and drop. %CD% is of no use because it’s just the variable for the current directory.
Add a pause command to the script and see what each line outputs so you can see what’s happening.
I can only assume you might have some sort of issue with third party software or something blocking the %1 variable.
I have installed Windows to my PC myself. Nothing fancy. I just changed the “temp folder” locations (so that Windows doesn’t keep working on my SSD)
Here’s what I see when I try any other variable:
dl.dropboxusercontent.com/s/idpvea4tr1b6g9v/cmd_GgDj4NcF2V.png
You misunderstand how the %1 (and %~1) variable works in this scenario. It has to be used inside a batch file and not as a standalone variable. It stores the argument you supply to the batch file.
For example, if you create a .BAT file with two lines of echo %1 and pause, then double click on it, you will just get “echo is on”. The %1 variable is empty.
If you run the same batch file from the command prompt with an argument of script.bat “this is a test”, you will get “this is a test”. The %1 variable contains “this is a test”.
If you drop file.exe onto the same batch file you will get something like C:\downloads\file.exe. The dropped file is the argument and the %1 variable contains its path and name.
As you can see, you have to use %1 inside batch scripts and you have to supply an argument to the script for the variable to contain data.
How to change icon of Windows folder (I mean C:\Windows in my case)? And is it safe?
This is great. I’m suddenly having an issue tho. When I drop it on the bat file now, the desktop.ini that created within the folder just says: [.ShellClassInfo]. That’s all I’m getting now. That’s weird. I haven’t changed anything.
So it has been working fine and then stopped working?
Have you changed any security settings or installed any new software?
re: creating a custom desktop.ini using a batch file-
my question is this if I may, in the code the location of icon is at C:/icon.ico.
What will I input instead as the location of icon file, since the icons are located inside individual folders (each folder should look differently based on the icon in each of ’em), and it’s named as “icon.ico”..
Thank you so much..
If the icon is inside each folder you are changing, change the C: for %1, so “%1\icon.ico”.
Thanks for the time in replying.
however, changing it as you said haven’t yielded anything.
Please correct me if Im doing it the wrong way..
If [%1] == [] goto :eof
ECHO [.ShellClassInfo] >%1\desktop.in
ECHO IconResource=%1\icon.ico,0 >>%1\desktop.in
move %1\desktop.in %1\desktop.ini
attrib +S +H %1\desktop.ini
attrib +R %1
thank you so much in advance….
Sorry, I missed out a character, use %~1 instead of %1, so the line should be:
ECHO IconResource=%~1\icon.ico,0 >>%1\desktop.in
Remember, you have to drop one folder at a time onto the batch file icon or it won’t work. I can add a multiple folder drop version if this one works for you.
Thanks for the time mate.
I wrote this as
If [%1] == [] goto :eof
ECHO [.ShellClassInfo] >%1\desktop.in
ECHO IconResource=%~1\icon.ico,0 >>%1\desktop.in
move %1\desktop.in %1\desktop.ini
attrib +S +H %1\desktop.ini
attrib +R %1
but still, havent changed a thing. been editing latel using “foldermarker”, bit it is so tiring doing?changing icons one folder at a time. a faster way would be highly appreciated. You”ve mentioned multiple folder drop version, it would be totally great.
Thanks in advance
Before worrying about multiple folders at once, you need to get one working first!
Have you put the icon inside the folder you are changing the icon for?
Is a desktop.ini being created inside the folder next to the icon? (you need show protected system files on to see it)
If there is a desktop.ini, what does it say?
Do you have UAC on? If so, try with it off.
Add a pause line to the script so the window will stay open and you can check for errors.
Try a test folder structure on the desktop to remove possible permission issues.
Hi, I have ico files in multiple folders, did you find a way to do this in the end?>?
I am trying to do the exact same thing…
Thanks
I have read a lot of posts already about changing folder icons, but cant seem to find that works for me.
I have a little collection of movies placed in folders. I placed movie poster in each folder, and recently, I placed an icon (converted from that poster thru a software) in each folder, and i want that each folder will look from the icon placed in each of them.
please help. icon file is named “icon.ico” Each folder contains: movie.mp4; movie.nfo; poster.jpeg; Trailer.mp4; icon.ico.
thanks in advance.
What about a shared folder from a NAS?
hi all
is it possible to have your own icon default folder. instead of the system default folder
many thanks
barry
Yes, you can.
@Create a Desktop.ini Using a Batch Script
is there a way to drop multiple folder into batch script at once ?