Guides

How Windows Icons Are Stored in EXE Files

A Windows program’s icon is stored inside the .exe itself, in the file’s resource section, as one or more RT_ICON images tied together by an RT_GROUP_ICON directory. The icon you see in Explorer is not a separate file — it is a resource embedded in the executable’s PE (Portable Executable) structure. Knowing how that works explains why one program can show a crisp icon at every size, and how to pull the icon back out.

This guide covers the PE resource layout, why an icon is really several images in one, and how to extract an icon from an EXE — including DLLs — directly in your browser.

The PE format and its resource section

Every Windows .exe and .dll follows the Portable Executable (PE) format. Besides the code the program runs, a PE file contains a resource section (named .rsrc) that holds non-code assets: icons, cursors, menus, version information, dialog layouts and embedded images. The resource section is a small tree, organised first by resource type, then by name/ID, then by language.

Icons live under two resource types in that tree: RT_ICON and RT_GROUP_ICON.

Why an icon is several images in one

What looks like a single icon is actually a set of images at different sizes and colour depths — 16×16, 32×32, 48×48, 256×256, and so on. Windows picks the closest match for wherever the icon is displayed: a small one in a list view, a large one on the desktop. This is exactly what an .ico file is: a container of multiple bitmaps.

Inside the EXE, each of those individual images is stored as its own RT_ICON resource. On its own, an RT_ICON is just one bitmap; nothing links it to the others.

How RT_GROUP_ICON ties them together

The glue is RT_GROUP_ICON. This resource is a small directory that lists all the images belonging to one logical icon: for each, it records the width, height, colour depth and — crucially — the resource ID of the matching RT_ICON. When Windows needs “the application icon”, it reads the RT_GROUP_ICON directory, then fetches the RT_ICON entries it points to.

To rebuild a usable .ico file from an executable, a tool has to do the same thing: read the group directory, collect the referenced RT_ICON images, and reassemble them into a single icon file. Grabbing one RT_ICON in isolation gives you only one size.

One executable, many icons

A program can contain many icon groups — the main application icon, document-type icons, toolbar graphics, and more. System DLLs are the extreme case: files like shell32.dll and imageres.dll hold hundreds of the icons Windows uses across its interface. That is why an icon extractor that handles DLLs as well as EXEs is so useful.

How to extract the icon

To pull the icon out, you need a tool that parses the PE resource tree, reads the RT_GROUP_ICON directories and reassembles the referenced RT_ICON images. Drop the file into the icon extractor: it lists every icon group in the executable and lets you download each one at full size — all in your browser, so the .exe is never uploaded. Because it reassembles the stored images, you get every size the program shipped, not a single screenshot.

If you are inspecting an installer or an executable more broadly, the EXE extractor and the archive & executable tools cover the rest of what a PE file holds.

Frequently asked questions

Where is the icon stored inside an EXE file?
In the executable’s PE resource section (.rsrc), as RT_ICON images grouped by an RT_GROUP_ICON directory. It is embedded in the file, not stored separately.

How do I extract an icon from an EXE or DLL?
Open the file in a tool that reads the PE resource tree, such as the icon extractor, and download the icon. DLLs like shell32.dll often contain hundreds of icons.

Why does one icon have several sizes?
Windows needs the icon at different sizes for different places (lists, the desktop, the taskbar). Each size is a separate RT_ICON image, and the RT_GROUP_ICON directory ties them into one logical icon.

Can I get the icon at full resolution?
Yes. The images are stored in the file, so a proper extractor rebuilds the full icon — including the largest size, often 256×256 — rather than capturing what is on screen.

Can a single EXE contain more than one icon?
Yes. Applications usually have a main icon plus document and toolbar icons, and system DLLs can hold hundreds.

Last updated: 16 August 2026.

About Abrar

Abrar builds EasyExtract's free, browser-based extraction tools and writes these guides on getting data out of files — PDFs, spreadsheets, images, archives and Office documents. Every tool runs entirely in your browser, so nothing you open is ever uploaded.

Keep reading