Icon-Symbols
For exporting or saving icons from an icon container.
- Active · last change 9-28-2026
- ★ 1 on GitHub
README
:computer: Icon-Symbols


Icons as parts of the graphical user interface of a computer system, in conjunction with windows, menus and a pointing device (mouse), belong to the much larger topic of the history of the graphical user interface that has largely supplanted the text-based interface for casual use.
Icons introduced in Windows 1.0 were monochrome; in Windows 1.x and 2.x, ICO and CUR files were raw binary images with no directory wrapper: 678 — each file contained a single such image, at 64×64 pixels for icons and 32×32 for cursors.: 134 The 64×64 icon size was designed for a 1024×1024 target display and was shown downscaled on the lower-resolution monitors of the era.
:speech_balloon: Structure
An ICO or CUR file is made up of an ICONDIR ("Icon directory") structure, containing an ICONDIRENTRY structure for each image in the file, followed by a contiguous block of all image data. Each image is stored either as a raw DIB (see DIB format) or as a complete PNG file (see PNG format). It is customary practice to store the image data in the same order as the entries in the image directory.
All values in ICO/CUR files are represented in little-endian byte order.
| Offset (bytes) | Field | Size (bytes) | Description |
|---|---|---|---|
| 0 | bWidth | 1 | Image width in pixels. Can be any number between 0 and 255. 0 means width is 256. |
| 1 | bHeight | 1 | Image height in pixels. Can be any number between 0 and 255. 0 means height is 256. |
| 2 | bColorCount | 1 | Number of colors in the color table. For paletted depths: 2 for 1 bpp, 16 for 4 bpp; 0 for 8 bpp and above. An incorrect value affects image selection scoring for icons. |
| 3 | bReserved | 1 | Reserved. Must be 0. |
| 4 | wPlanes | 2 | In icon format: Specifies color planes. Should be 0 or 1. In cursor format: Specifies the horizontal coordinates of the hotspot in number of pixels from the left. |
| 6 | wBitCount | 2 | In icon format: Specifies bits per pixel. In cursor format: Specifies the vertical coordinates of the hotspot in number of pixels from the top. |
| 8 | dwBytesInRes | 4 | Image data size in bytes. |
| 12 | dwImageOffset | 4 | Specifies the offset of the DIB or PNG data from the beginning of the ICO/CUR file. |
:speech_balloon: Examples
Icons (here are four examples from the Nuvola icon theme) are usually square and come in certain standard sizes.
Nuvola is a free software icon set under the GNU LGPL 2.1 license, created by David Vignoni. Originally created for desktop environments like KDE and GNOME, it is also available in packages for Windows and Mac. The final version, 1.0, contains almost 600 icons. The default set is in the PNG graphics format; an SVG version is also available.
The application icons, in particular, colourfully represent a wide variety of commonplace and easily recognised objects.
Windows Notepad Editor
:speech_balloon: Icon size and color-depth timeline
The standard color depths and pixel sizes shipped in system icons changed over successive releases, as summarized below.
| Release | Color depths (bpp) | Standard sizes (px) | Notes |
|---|---|---|---|
| Windows 1.x–2.x | 2 | 64 (icons), 32 (cursors) | Raw single image, no directory |
| Windows 3.x / NT 3.x | 1,4 | 32 | ICONDIR + DIB introduced; 1 bpp + 4 bpp paired |
| Windows 95 | 4 | 16, 32 | Higher depths supported by the shell but rarely shipped; 16 px is the small (taskbar/notification-area) icon size |
| Windows NT 4.0 / 98 / Me / 2000 | 4,8 | 16, 32, 48 | 8 bpp and 48 px introduced in NT 4.0; became common by 98/Me |
| Windows XP | 4, 8, 32 | 16, 32, 48 | 32 bpp with alpha channel introduced |
| Windows Vista / 7 | 4, 8, 32 | 16, 32, 48, 256 | 256 px added, stored as PNG |
| Windows 8 / 8.1 | 4, 8, 32 | 16, 20, 24, 32, 40, 48, 64, 256 | Eight-size ladder completed |
| Windows 10 / 11 | 32 | 16, 20, 24, 32, 40, 48, 64, 256 | Shipped icons are 32 bpp only |

