O confuzie frecventă este că a converti PNG în .ico înseamnă doar să schimbi extensia. Dacă redenumești logo.png în logo.ico, compilatoarele de resurse Visual Studio (rc.exe), instalatoarele Inno Setup, Electron Builder și build-urile Tauri resping fișierul cu antet invalid.
Utiliome construiește un buffer .ico little-endian, conform specificației, direct în browser, cu ArrayBuffer și DataView:
- Antet
ICONDIRde 6 octeți: scrie0x0000(rezervat),0x0001(tip1= iconiță Windows) și număruluint16de straturi. - Tabel
ICONDIRENTRYde 16 octeți pe strat: pentru fiecare rezoluție (16,24,32,48,64,128,256) scrie lățimea și înălțimea (0înseamnă256pxdin Vista încoace), planurile de culoare (1), biții pe pixel (32pentru RGBA), lungimea în octeți și offsetul exact. - Payload-uri PNG RGBA pe 32 de biți: concatenează fiecare cadru PNG reeșantionat la offsetul calculat.