ICO (Windows Icon) file format plugin for Photoshop
Copyright 2002-7 Toby Thain, email@example.com
The plugin gives Photoshop the ability to directly Open and Save Windows icon (.ICO) files.
Version 1.8b4 and later can also open .CUR (cursor) files.
Download the latest version here.
all versions 3.0-7.0, CS, CS2 on PowerPC Macintosh (OS X, OS 9 and Classic); CS3 on Intel Mac
- Photoshop 4.0 / MacOS 8.0 on 68K Macintosh
- Photoshop 5.0, 7.0 & CS on Windows 98/NT and XP.
- Paint Shop Pro 9 (may not work correctly with earlier versions due to PSP plugin compatibility issues)
- reported to work with Photoshop Elements 2.0 and 3.0 (Mac US$79.99/Win US$89.99. Prices at time of writing)
Free software - donation suggested
This program is free software licensed under the terms of the GNU General Public License.
If you use this program and like it, please use PayPal
to send the author what you think it is worth (US$5 suggested):
The program is fully supported. Please contact the author with any bug reports, suggestions or comments.
- Vista notes (Due to the number of problems reported with it,
Vista is NOT recommended):
- Restart before installing;
- put plugin in C:\Program Files (x86)\Adobe\Photoshop CS\Plug-Ins\File Formats.
- Move the plugin into the "File Formats" folder
inside your Photoshop Plugins folder:
- On Windows, ICOFormat.8bi
- On OS X/Classic, icoformat (CS2/Mac version is ICOFormat_cs2.plugin)
- On 68K MacOS, icoformat(68K)
- If using Corel PSP Photo X2, put the plugin in C:\Program Files\Corel\Corel Paint Shop Pro Photo X2\Languages\EN\PlugIns
- Quit and relaunch Photoshop, if it's already running.
To use the plugin
- Use Photoshop's Open command (File menu) to open .ICO files (which will now appear
in the file browser)
- Use Photoshop's Save command to create .ICO files.
- If you are not sure if the plugin is correctly installed, look for "ICO (Windows Icon)"
under Photoshop's "About Plug-in" menu (on Windows, look under "Help"; on OS X, under "Photoshop").
If it is not listed:
- check you have downloaded the correct version (Windows/Mac)
- is it in the "File Formats" subdirectory of Photoshop's "Plugins" folder?
- have you quit and re-launched Photoshop?
- If you are running Vista and see the error "plugin entry point not found",
try restarting and reinstalling, or see this post.
- The plugin is not a Filter or Import/Export plugin, so don't look for it there.
It appears as a format option when Opening or Saving (eligible images).
- The ICO format does not allow images more than 256 pixels high or wide.
- Only Bitmap, Grey Scale, Indexed and RGB mode images, no more than 8 bits per channel,
can be saved as ICO.
- Using Windows98? If you see messages about "Assertion Failed", please download this alternative build.
(Thanks to Qwerky for pointing out this issue.)
- Reads and writes .ICO files of 1,4,8 bits as Indexed mode images, and 16,24,32 bit as RGB mode
- If an input file contains multiple icons, a dialog box prompts to select one
(indicates pixel size and colour depth of each contained icon).
ICO files created by the plugin contain one icon only.
How to add a "favourites" icon (favicon, favicon.ico) to your web site
- Create the file named favicon.ico with your desired graphic, and put it at the root level
of your web site. (If you want Internet Explorer to recognise it, it must be 16x16 pixels in size.)
- Put a tag as follows in the
<HEAD>...</HEAD> section of your top-level HTML page (home page):
<LINK REL="SHORTCUT ICON" HREF="favicon.ico">
...and many others.
The ICO format has an inherent 1 bit transparency mask (0 = opaque, 1 = transparent), called the AND bitmap.
- When reading or saving an RGB mode image in Photoshop 6.0 or later, layer transparency is used for the mask
- If the image is Indexed mode, and uses a "transparent index", this will be used to set the icon mask
- In other cases, the ICO mask is treated as an alpha channel (black = 0 = opaque, white = 255 = transparent)
Saving indexed mode images
To ensure output files are as compact as possible, the smallest pixel depth is chosen
sufficient to represent the colours used by the icon:
- RGB mode: no colour table
- Indexed/Grey Scale mode with >16 colours: 8 bits per pixel (up to 256 colours in colour table)
- Indexed/Grey Scale mode with >2 colours: 4 bits per pixel (up to 16 colours in colour table)
- Bitmap or Indexed/Grey Scale mode with 2 or fewer colours: 1 bit per pixel (up to 2 colours in colour table)
A note on file sizes (Mac only)
Do not be alarmed if the Mac Finder shows an unexpectedly large file size for ICO files saved out of Photoshop.
The ICO itself is stored in the data fork and is as small as possible (see above).
The Finder's size calculation is increased by Photoshop's prolific "metadata" in the resource fork,
and does not truly reflect the size of the ICO data. (This is stored for all files saved out of Photoshop,
regardless of format, and whether image thumbnails and previews are enabled in Preferences.)
Finder's "K" size is also affected by the volume's minimum allocation size (often 4 or 8K depending on partition size).
On upload to a web site, the data fork alone is copied and the resource fork is stripped, and so this extra data
(and Finder's padded figure) has no effect or relevance whatsoever. The "true" logical size of the ICO file
can be confirmed in OS X's Terminal with
ls -l in the icon's directory (or
files -x br in MPW Shell).
The plugin can create 32-bit icons with 8-bit alpha transparency. This will occur in two cases:
- in Photoshop 6.0 or later, saving a layered RGB image (i.e. not flattened)
- in any version of Photoshop, saving a flat RGB image with 2 or more alpha channels.
In the first case, the layer transparency will be used as the ICO alpha.
The 1-bit "AND mask" is taken from the first alpha channel, or if there is no available alpha channel,
is derived from layer transparency.
In the second case, the first alpha channel is used to create the 1-bit "AND mask",
and the second alpha channel becomes the 8-bit ICO alpha.
In both cases, the colour data is set to zero (black) where the icon is transparent.
This should produce the desired result (complete transparency over the background).
Still confused, or having trouble?
Don't hesitate to write to us.