Historietime: Hva er en .ico-fil? Ikonformatet i Windows
Ikonformatet i Windows — én fil med flere størrelser og fargedybder, en liten header og en katalog først, PNG-komprimerte bilder siden Windows Vista, et .cur-søsken for markører og favicon.ico som alle nettsteder fortsatt leverer.

TL;DR
En .ico er en Windows-ikonfil. Én fil kan inneholde flere bilder av samme ikon i ulike størrelser og fargedybder, og Windows velger det som passer best for skrivebordet, en tittellinje eller en dialogboks. Oppbyggingen er enkel: en header på 6 byte (reservert, type, antall bilder), én katalogoppføring på 16 byte per bilde, deretter bildedataene. Klassiske oppføringer er punktgrafikkdata (DIB) med en AND-maske for gjennomsiktighet; siden Windows Vista kan en oppføring være en komplett PNG, noe som gjorde 256×256-ikoner praktiske. Markørformatet .cur er nesten en tvilling (type 2 i stedet for 1, pluss et hotspot). På nettet begynte Internet Explorer 5 (mars 1999) å hente favicon.ico fra roten av nettsteder. For å få ut et vanlig bilde konverterer du .ico til PNG lokalt — Legacy File Converter gjør det på din egen PC, uten opplasting.
Hva er en .ico-fil?
En .ico-fil er ikonformatet i Windows. De fleste bildefiler inneholder ett bilde; en ICO-fil inneholder en ikonressurs — en liten samling bilder som alle viser samme ikon, hvert tegnet i en annen størrelse og/eller fargedybde. Microsofts egen forklaring, John Hornicks artikkel Icons datert 29. september 1995, sier det rett ut: én ICO-fil, eller en ikonressurs i en EXE eller DLL, kan inneholde flere ikonbilder med hver sin størrelse og/eller fargedybde.
Derfor kommer søket «hva er en .ico-fil» som regel fra noen som har funnet en i en programmappe, en nedlasting fra nettet eller et gammelt prosjekt og lurer på hvorfor bildeviseren bare viser en liten firkant — eller ingenting. Filen er gyldig; den er bare en beholder med ikonbilder, ikke et vanlig bilde. For beslektede formater på dette nettstedet, se Historietime: Hva er en .bmp-fil? og Historietime: Hva er en .png-fil?.
Tidlige Windows-ikoner og tiden med én størrelse
Ikoner har vært en del av Windows siden de tidligste skrivebordsmiljøene, men det tidlige systemet tenkte i én ikonstørrelse. Microsofts artikkel fra 1995 påpeker at de opprinnelige funksjonene som LoadIcon, ExtractIcon og DrawIcon stammet «fra 16-bitsdagene, da systemet bare definerte én ikonstørrelse», og at de strekker det de får til den store standardstørrelsen.
Med Windows 95 og de påfølgende Windows NT-versjonene holdt Windows rede på små og store ikoner for både system og skall, og nye funksjoner (Ex-variantene, LoadImage, DrawIconEx) kunne be om en bestemt størrelse. Veiledningen fra 1995 oppfordret utviklere til å levere minst 16×16 og 32×32 i 16 farger pluss 48×48 i 256 farger. Formatet hadde lenge kunnet romme uvanlige størrelser; det var Windows som tok igjen for å bruke dem.
Én fil, mange størrelser og fargedybder
Når Windows trenger et ikon, går det gjennom bildene i ressursen. Etter Microsofts regler fra 1995 velger det bildet med størrelsen nærmest den ønskede; deler flere den størrelsen, foretrekkes det som matcher skjermens fargedybde, ellers det dypeste som ikke overstiger den. Små størrelser er ikke bare forminskede kopier — designere tegner dem ofte på nytt slik at en 16×16-versjon forblir lesbar.
Microsofts ikonretningslinjer for Windows Vista oppga senere det fulle settet for programikoner som 16×16, 32×32, 48×48 og 256×256, med 32-biters grafikk (inkludert alfa) pluss palettversjoner i 8 bit og 4 bit for situasjoner som eksternt skrivebord. En liten .ico kan derfor romme et dusin bilder eller flere — akkurat det du ser når du åpner den i et ikonredigeringsprogram.
Mange bilder, ett ikon
Viser en bildeviser et annerledes eller bitte lite bilde, har den sannsynligvis valgt én oppføring av flere. Å konvertere til PNG betyr som regel å velge en oppføring — normalt den største — og eksportere den.
Slik er en .ico-fil bygd opp
Oppbyggingen får plass i ett avsnitt. Filen starter med en ICONDIR-header på tre ord à 2 byte: en reservert verdi som må være 0, en type som er 1 for ikoner, og et antall bilder. Deretter følger én ICONDIRENTRY per bilde — 16 byte hver — med bildets bredde, høyde, antall farger, plan, biter per piksel, antall byte bildedata og forskyvningen der dataene begynner i filen.
Hvert klassiske bilde er en DIB (enhetsuavhengig punktgrafikk) — en BITMAPINFOHEADER, en valgfri fargetabell, XOR-masken (fargepikslene) og en 1-biters AND-maske som markerer gjennomsiktige områder. Microsoft nevner en klassisk felle: høyden i headeren er den samlede høyden av begge maskene, så den ser dobbelt så stor ut som ikonets faktiske høyde. I samme familie bruker ikoner i EXE- og DLL-filer nesten de samme strukturene som RT_GROUP_ICON- og RT_ICON-ressurser.
PNG i ikonet siden Windows Vista
Større ikoner gjorde punktgrafikkdata tunge. En artikkel i MSDN Magazine fra 2008 om dekoding av Windows Vista-ikoner forklarer at de voksende punktgrafikkene tok for mye plass på disk og i minnet, så Microsoft valgte PNG: ikoner i Windows Vista kan bygge inn PNG-bilder i stedet for DIB-er, noe som gjorde 256×256-ikoner i 32 bit praktiske til en brøkdel av størrelsen. Microsofts Vista-retningslinjer sier at bare 256×256-bildet bør komprimeres, mens mindre størrelser beholdes i klassisk form.
Et bredde- eller høydefelt på én byte kan ikke lagre 256, så en 0 i katalogoppføringen leses som 256. For programvare skrevet før Vista er en PNG-komprimert oppføring ukjente data, og det er én grunn til at enkelte eldre verktøy feiler på moderne .ico-filer selv om Windows selv viser dem fint.
Gammelt verktøy, nytt ikon
Et redigeringsprogram fra Windows XP-tiden kan kanskje åpne de små punktgrafikkoppføringene i et moderne ikon, men feile på 256×256-PNG-oppføringen — eller avvise hele filen. Ikonet er ikke skadet; programmet er bare eldre enn PNG-i-ICO.
.cur — søsken for markører
Musepekere bruker et nesten identisk format med filtypen .cur. Microsofts artikkel fra 1995 sier at markører er «svært like ikoner» — så like at eksempelprogrammet for ikoner kunne lese .CUR-filer ved å lempe på én enkelt kontroll: header-typen 2 for markører i stedet for 1 for ikoner. MSDN-artikkelen fra 2008 gjentar regelen: det andre ordet er 1 for ikoner og 2 for markører.
Det viktige tillegget i en markør er hotspotet, pikselkoordinatene som regnes som pekerens spiss. Som Raymond Chen beskriver på The Old New Thing, begynner bilderessurser for markører med hotspotets x- og y-koordinater før punktgrafikkdataene. Animerte markører (.ani) er et eget format og ikke en del av denne leksjonen.
favicon.ico på nettet
.ico-formatet slapp ut av skrivebordet via nettleseren. Internet Explorer 5, utgitt i mars 1999, hentet en fil kalt favicon.ico fra roten av et nettsted når en bruker la det til i Favoritter, og viste ikonet i Favoritt-listen. Raymond Chen forklarte senere at IE bare så etter den når en side ble lagt til i Favoritter, ikke ved hvert besøk, for ikke å belaste serverne. Sider kunne også peke til en annen plassering med et link-element i HTML-en.
Nettlesere godtar i dag andre formater for nettstedsikoner, men mange nettsteder har fortsatt en favicon.ico i roten, og Microsofts IE-team påpekte at ICOs evne til å romme flere størrelser passer til de mange stedene et nettstedsikon dukker opp — faner, favoritter, snarveier. En .ico i Nedlastinger-mappen er derfor ofte bare et nettstedsikon lagret fra nettet.
Slik konverterer du .ico til PNG lokalt
Å gi .ico nytt navn til .png fungerer ikke: filen starter med ICONDIR-headeren, ikke en PNG-signatur, og kan inneholde mange bilder. En ekte konvertering leser katalogen, velger en oppføring — vanligvis den største —, dekoder punktgrafikk- eller PNG-dataene, bruker gjennomsiktighetsmasken og skriver en vanlig PNG som beholder alfakanalen. Velg JPG bare hvis du ikke trenger gjennomsiktighet.
Legacy File Converter åpner .ico-filer på din egen Windows-PC og konverterer dem til PNG eller JPG — ingenting lastes opp, noe som betyr noe når ikonene tilhører et kundeprosjekt eller et internt program. Det er en rolig måte å gjøre eldre filer som gamle ikonsett om til bilder ethvert program kan åpne. For nabotimer, se BMP, PNG og WebP.
Relatert lesing
Klar til å åpne de gamle filene dine?
Start gratis, og lås deretter opp ubegrenset konvertering med en Standard-lisens til $79.95 som betales én gang. Last ned installasjonsprogrammet for Windows – alle funksjoner for opptil 10 filer.
Gratis prøveversjon
Alle funksjonene i programmet · opptil 10 filer
Windows 10 eller 11
Samme gratis prøveversjon som alltid – last ned installasjonsprogrammet for Windows og konverter lokalt på PC-en din.
Direkte installasjonsprogram for Windows · offline MSI
Er dette trygt? — utgiver, installasjonsprogram og hjelp med SmartScreen
Krever Windows 10 eller 11. Ingen abonnementer. 100 % Windows-native.