Icon Renderer

Icon Renderer is a headless C++ engine for inspecting launcher icon resources in Android APKs and rendering them as PNG files. It is available as a native CLI, a C ABI library, and a WebAssembly module for browser applications.

It supports configurable density, SDK level, output size, icon shape, masks, and themed icons. Try the online demo.

Native performance

Bar chart of Icon Renderer native performance with Firefox for Android 153.0: APK inspection averages 13.7 milliseconds; rendering at 512, 1024, and 2048 pixels averages 31.6, 51.7, and 123.5 milliseconds.
Mean end-to-end wall-clock latency on a linear scale; error bars show one standard deviation.
OperationMean time
Inspect APK icon13.7 ms
Render 512 × 512 PNG31.6 ms
Render 1024 × 1024 PNG51.7 ms
Render 2048 × 2048 PNG123.5 ms

Native Skia Release build on an AMD Ryzen 7 7700, tested with the 126.2 MiB Firefox for Android 153.0 arm64-v8a APK containing an adaptive launcher icon. Results are end-to-end CLI wall-clock means. Each operation was benchmarked separately with 5 warm-up runs and 50 measured runs; hyperfine shell execution was disabled. Density 480, SDK 35, circle mask. Binary process startup is included.

Commercial licensing

Commercial licenses are available for teams and products that want to integrate Icon Renderer. Contact contact@zephyr-apps.com for licensing and pricing.