Linux Icon Generator & .desktop Creator
Enterprise-grade tool for Linux packaging. Generate FreeDesktop-compliant icon themes, validate .desktop entries, and export assets for AppImage, Flatpak, and Debian packages.
Drag & Drop Source Image
or .desktop file to parse
Live Environment Preview
About
In the Linux ecosystem, application integration relies on strict adherence to the FreeDesktop.org (XDG) specifications. A seamless user experience depends on correct .desktop file syntax, MIME type associations, and a complete hierarchy of icon resolutions. Missing a single resolution like 48×48px can cause an application to appear broken in legacy file managers, while incorrect Categories can hide the app from system menus entirely.
This tool is an industrial-strength generator designed for package maintainers and developers. Unlike basic resizers, it implements a full Compliance Engine. It handles multi-resolution scaling with alpha-channel preservation, enforces correct Exec argument syntax (e.g., %F vs %u), and validates against the registered XDG Category list. It is optimized for modern packaging formats including AppImage, Flatpak, and Snap, ensuring your software integrates natively into GNOME, KDE Plasma, XFCE, and other desktop environments.
Formulas
Icon scaling utilizes a bicubic interpolation logic to minimize aliasing artifacts when downsampling from high-resolution sources. The target directory structure is strictly defined:
For the .desktop file, the Categories logic follows a set intersection rule. A valid entry requires:
Where MainCategories includes AudioVideo, Development, Education, Game, Graphics, Network, Office, Settings, System, and Utility.
Reference Data
| Key | Type | Required | Description & Validation Logic |
|---|---|---|---|
| Type | string | TRUE | Must be Application, Link, or Directory. This tool defaults to Application. |
| Name | localestring | TRUE | Specific name of the application (e.g., "Mozilla Firefox"). |
| GenericName | localestring | FALSE | Generic description (e.g., "Web Browser"). Used in tooltips and list views. |
| Exec | string | TRUE | Command to execute. Must accommodate arguments: %f (single file), %F (file list), %u (URL). |
| Icon | string | TRUE | Icon name (no extension) or absolute path. Must match the generated file name. |
| Categories | string list | TRUE | Semicolon-separated list. Must include a Main Category (e.g., Utility). |
| MimeType | string list | FALSE | File types the app can open. Example: image/png;image/jpeg;. |
| StartupNotify | boolean | FALSE | If TRUE, the cursor changes to a spinner while the app launches. |