Skip to main content

icoextract

Build Status Packaging status

icoextract is an icon extractor library for Windows executables (.exe/.dll/.mun). It also includes a thumbnailer script (exe-thumbnailer) for Linux desktops.

This project is inspired by extract-icon-py, icoutils, and others.

icoextract aims to be:

  • Lightweight
  • Portable (cross-platform)
  • Fast on large files

Installation

Dependencies

  • Python 3.10+
  • pefile
  • Pillow - optional, for exe-thumbnailer
  • nefile - optional, for Win16 / NE EXE support

Installing from source

You can install the project via pip: pip3 install icoextract[thumbnailer]

On Linux, you can activate the thumbnailer by copying exe-thumbnailer.thumbnailer into the thumbnailers directory:

  • /usr/local/share/thumbnailers/ if you installed icoextract globally
  • ~/.local/share/thumbnailers if you installed icoextract for your user only

The thumbnailer should work with any file manager that implements the Freedesktop Thumbnails Standard: this includes Nautilus, Caja, Nemo, Thunar (when Tumbler is installed), and PCManFM. KDE / Dolphin uses a different architecture and is not supported here.

Distribution packages

You can install icoextract from any of these distribution repositories:

Packaging status

Usage

icoextract ships icoextract and icolist scripts to extract and list icon resources inside a file.

Note: recent versions of Windows (Windows 10 1903+) have moved icons from system libraries (shell32.dll, etc.) into a new C:\Windows\SystemResources folder. icoextract can extract these .mun files natively, but the .dlls themselves no longer contain icons.

For API docs, see https://projects.jlu5.com/icoextract.html

usage: icoextract [-h] [-V] [-n NUM] [-i ID] [-v] input output

Windows executable icon extractor.

positional arguments:
  input          input filename (.exe/.dll/.mun)
  output         output filename (.ico)

options:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit
  -n, --num NUM  index of icon to extract
  -i, --id ID    resource ID of icon to extract
  -v, --verbose  enables debug logging
usage: icolist [-h] [-V] [-v] input

Lists group icons present in a program.

positional arguments:
  input          input filename

options:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit
  -v, --verbose  enables debug logging

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icoextract-0.3.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icoextract-0.3.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file icoextract-0.3.0.tar.gz.

File metadata

  • Download URL: icoextract-0.3.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for icoextract-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8fb4584671662e61814a48e3f2fed30d083a1aede68947a0cb07ddb7f59238ec
MD5 efe84e517320d52c1dfee39d73ef47b6
BLAKE2b-256 aeed047f86acc1dc9b3b04f7ddc01be520b45e71fb4ec40d782f611125553814

See more details on using hashes here.

File details

Details for the file icoextract-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: icoextract-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for icoextract-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e5604a2b25da6a7ffbb21144fc3a4851375dd0773a18e11b994c69790688e39
MD5 f6b62cbe30c746ec3caa23a51e678a7a
BLAKE2b-256 11a93a289916ced3d658cc1f5f67a6be80af0c6acb0a77998d077a3f567bb816

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page