Hoe zet ik een PNG om naar een ICO-bestand?
Sleep de PNG op deze pagina, laat 16, 32 en 48 px aangevinkt staan en download het resultaat. Alles draait in de browser, dus de afbeelding wordt nooit geüpload. Op de commandoregel is het gebruikelijke equivalent magick logo.png -define icon:auto-resize=48,32,16 favicon.ico.
Waarom ziet mijn pictogram er vaag uit op kleine formaten?
Bijna altijd omdat het bestand één grote afbeelding bevat en alles wat klein is een browser is die hem ter plekke verkleint. Zodra het pixelraster krimpt bestaat er geen verliesvrije omzetting — dunne lijnen en fijn detail verdwijnen onder ongeveer 24 px, hoe goed het resamplen ook is, dus de kwaliteit wordt bepaald door welke formaten je inpakt en niet door de converter. Pak een echte laag van 16 px in, en vereenvoudig bij een gedetailleerd logo de tekening voor die laag in plaats van hem te schalen.
Moeten de afbeeldingen erin PNG of ongecomprimeerde bitmap zijn?
PNG, tenzij je een reden hebt om dat niet te doen: het is een orde van grootte kleiner en wordt door elke huidige browser en elke Windows-versie sinds Vista gelezen. Ongecomprimeerde bitmaps blijven in de praktijk de vakere keuze, vooral omdat ImageMagick er standaard naar omzet, en ze zijn de veiligere gok voor heel oude software. De pagina toont beide bestandsgroottes zodat je op het getal kunt beslissen.
Waarom is er geen optie voor 512 px?
De directory slaat elke zijdelengte in één byte op, dus de grootste waarde die uit te drukken is, is 255, en 0 is gereserveerd om 256 te betekenen. Er is geen manier om 512 te schrijven. Converters die het aanbieden, produceren een directory-entry die de afbeelding erachter niet beschrijft, en dat is een goede manier om een pictogram te krijgen dat sommige software weigert te tonen.
Blijft een PNG met een transparante achtergrond ook als ICO transparant?
Ja. Het alfakanaal wordt volledig weggeschreven, en het 1-bitmasker dat oudere software in plaats daarvan leest, wordt eruit afgeleid in plaats van leeg gelaten — juist dat masker is wat een transparante achtergrond verandert in een zwart vierkant in tools die het leeg laten. Een half transparante pixel telt in het masker als transparant zodra zijn alfa onder de helft zakt, en dat is de enige beschikbare keuze omdat het masker één bit per pixel heeft.
Kan ik een SVG omzetten naar ICO?
Ja, en een vectorbron is de best mogelijke invoer omdat elk formaat uit de geometrie wordt getekend in plaats van uit een bitmap te worden herbemonsterd. Eén kanttekening: alles wat de SVG over het netwerk ophaalt — een gelinkte afbeelding, een extern lettertype, een geïmporteerde stylesheet — wordt tijdens het omzetten geblokkeerd zonder dat er een fout optreedt. De pagina controleert op die verwijzingen en waarschuwt je.
Heb ik nog steeds een favicon.ico in de hoofdmap van de site nodig?
Het is de moeite waard om hem te hebben, maar het is niet meer het hoofdpad. De HTML-specificatie zegt dat browsers /favicon.ico mogen opvragen, en alleen wanneer de pagina geen icon-link-element heeft. Een link-element is wat browsers als eerste horen te gebruiken; het bestand in de hoofdmap dekt feedlezers, crawlers en al het andere dat jouw HTML nooit uitleest.
Heeft Google een ICO-bestand nodig voor zoekresultaten?
Nee. De favicon-documentatie van Google accepteert BMP, GIF, ICO, PNG, JPEG, PPM en TIFF, vraagt om een vierkante afbeelding van minstens 8 px en raadt aan om boven 48 px te gaan zodat hij er op verschillende oppervlakken goed uitziet. Eén grote PNG voldoet daaraan; de .ico is voor al het andere.
Waarom toont mijn browser maar één formaat als ik een .ico open?
Omdat een afbeeldingselement je niet meer kan geven. Geef een browser een .ico met meerdere formaten en hij kiest er één uit — in de praktijk de grootste — en de rest is onbereikbaar. Elke laag opsommen betekent de container rechtstreeks uitlezen, en dat is wat het tabblad ICO → PNG op deze pagina doet.
Wat betekent het als de directory en de afbeelding het oneens zijn over het formaat?
Het betekent dat het bestand intern niet klopt, en decoders gaan daar tegenovergesteld mee om: sommige vertrouwen de directory en tekenen uiteindelijk niets, andere vertrouwen de beeldgegevens en geven die correct weer. Dat is een klassieke oorzaak van een pictogram dat op de ene machine werkt en op de andere onzichtbaar is, dus deze pagina signaleert het zodra je een bestand opent.
Kan deze tool ICO-bestanden openen die andere converters weigeren?
Vaak wel. Lagen die als paletbitmap zijn opgeslagen — vier of acht bits per pixel — worden nog steeds door verschillende bekende favicons gebruikt en veel converters weigeren ze botweg. Kapotte lagen worden bovendien één voor één afgehandeld, dus één onleesbaar formaat houdt de rest niet tegen bij het exporteren. De lijst markeert ook elke ingesloten PNG-laag die Firefox weggooit: zijn ICO-decoder accepteert alleen 8-bits RGB of RGBA, dus een PNG met een palet of in grijswaarden verdwijnt daar. De eigen site van Mozilla heeft een pictogram uitgeleverd met precies dat probleem — de laag van 64 px is een palet-PNG die Firefox zelf laat vallen, en alleen de andere lagen houden het pictogram zichtbaar.
Wordt mijn afbeelding ergens geüpload?
Nee. Het bestand wordt met de File API van de browser gelezen, op een canvas op deze pagina getekend en door lokaal draaiende JavaScript in de container ingepakt. Geen enkel verzoek draagt de afbeelding ergens heen, wat je kunt bevestigen in het netwerkpaneel van je ontwikkelaarstools — of door de pagina te laden, offline te gaan en hem toch om te zetten.