abox.tools

Taal: Nederlands

Hoe je een favicon maakt die op zestien pixels nog leesbaar is

Een favicon is geen klein plaatje van je logo. Het is een set plaatjes op vaste formaten, in een houder die de meeste mensen nooit openen, en de kleinste ervan is degene die iedereen werkelijk ziet. Dit gaat over welke formaten je nodig hebt, welke bestanden ernaast horen, en wat je doet wanneer je logo de reis omlaag niet overleeft.

Open de tool Afbeelding naar ICO Eén plaatje erin. Elk formaat dat een browser, Windows of een Mac vraagt eruit.

Als Markdown bekijken

Het korte antwoord

Open Afbeelding naar ICO, sleep er een vierkant plaatje van minstens 256 pixels in, laat de voorkeuze op Website-favicon staan, en download favicon.ico. Zet hem in de wortel van je site, zodat hij antwoordt op https://jouwsite.nl/favicon.ico. Dat adres wordt door elke browser opgevraagd, of je HTML het nu noemt of niet, dus meer hoef je strikt genomen niet te doen.

Alles hieronder is het deel dat het verschil maakt tussen een icoon dat er technisch is en een dat leesbaar is: welke formaten erin gaan, wat iPhones en Android in plaats daarvan vragen, en wat je doet wanneer je logo het niet overleeft om zestien pixels breed te zijn.

Waarom het een set formaten is en geen enkel plaatje

Een .ico-bestand is een houder. Erin zitten meerdere complete plaatjes van hetzelfde ding op verschillende formaten, en wat het bestand leest kiest degene die het dichtst bij het benodigde formaat zit.

Dat klinkt als overbodigheid en dat is het niet. Een browser die je icoon op zestien pixels tekent heeft twee mogelijkheden: een versie van zestien pixels lezen die jij getekend hebt, of ter plekke een grotere verkleinen. Het tweede is slechter, en dat zie je ook, want een automatische verkleining van een gedetailleerd logo levert pap op, terwijl een versie van zestien pixels waar jij naar gekeken hebt iets is dat je hebt kunnen vereenvoudigen. De hele reden dat het formaat meerdere maten bevat, is om je die kans te geven.

Drie formaten is de conventie voor een website, en elk heeft een reden:

Alles wat groter is hoort in een png naast de .ico, niet erin, om redenen die bij de mobiele bestanden hieronder aan bod komen.

De lijst met voorinstellingen en de formaten die elk bevat: zestien, tweeëndertig en achtenveertig pixels voor een site-icoon, en een samenvatting van wat er in het bestand komt.
Een .ico is een houder, en dit is de lijst van wat erin gaat. De voorinstelling is een sluiproute naar de set die een browser echt opvraagt.

Het zestienpixelprobleem

Dit is het deel waar niemand je voor waarschuwt. Zestien pixels is zo'n vier millimeter op een gewoon scherm: een raster van 256 puntjes in totaal, minder dan het aantal letters in deze zin. Vrijwel niets dat ontworpen is om op een bord, een visitekaartje of een websitekop te werken, overleeft het om daartoe teruggebracht te worden.

Wat er verdwijnt, op volgorde:

De oplossing is geen instelling maar een andere tekening: een vereenvoudigd merk met één of twee vormen, hoog contrast, en geen tekst behalve één teken. Teken die versie met opzet op 32 of 48 pixels en gebruik hem als bron.

Wat een tool wel kan, is je het probleem laten zien voordat je het publiceert. De voorvertoning in Afbeelding naar ICO tekent elk formaat op zijn echte formaat op het scherm, en dat is de enige manier om dit te beoordelen. Een icoon van zestien pixels dat op vierenzestig getoond wordt ziet er prima uit en zegt je dus niets.

Een voorbeeldstrook met hetzelfde merkteken getekend op zestien, tweeëndertig, achtenveertig, vierenzestig en honderdachtentwintig pixels.
De versie van zestien pixels, naast die je hebt ontworpen. Dit is het beeld dat bepaalt of het merkteken vereenvoudigd moest worden.

Je logo is niet vierkant. Opvullen of bijsnijden?

Een icoon is altijd vierkant en de meeste logo's niet, dus er moet iets gebeuren. Er zijn drie antwoorden en ze zijn niet even goed.

Opvullen houdt het hele plaatje en zet er ruimte boven en onder. Het is de veilige standaard en de verkeerde keuze voor een breed woordmerk: iets dat drie keer breder is dan hoog in een vierkant passen, laat het een derde van de hoogte innemen, en dat is bij zestien pixels vijf pixels logo en elf pixels niets.

Bijsnijden naar het midden neemt het grootste vierkant uit het midden. Bij een combinatie van symbool en bedrijfsnaam ernaast snijdt dat vaak dwars door allebei. Beter is het om de bron eerst zelf bij te snijden tot alleen het symbool, en dat om te zetten.

Uitrekken drukt het plaatje plat om te passen. Er is vrijwel geen situatie waarin dit juist is, en het wordt vooral aangeboden zodat de tool het niet stilletjes doet.

Het algemene antwoord voor een breed logo: zet het logo niet om. Zet het deel ervan om dat op zichzelf werkt.

Transparant of een vaste achtergrond?

Transparant is voor een website meestal juist. Browsertabbladen zijn grijs, wit of bijna zwart, afhankelijk van de browser en het thema, en een transparant icoon staat op alle drie. Een icoon met een wit vlak erin geschilderd is een witte rechthoek in een donkere tabbalk.

Twee uitzonderingen die het weten waard zijn:

De bestanden die een website nodig heeft en die de .ico niet zijn

favicon.ico dekt browsers en Windows. Het dekt geen telefoons, en hier houden de meeste zelfgemaakte icoonsets te vroeg op. Drie andere platforms vragen om hun eigen bestanden, onder hun eigen namen, en geen ervan kijkt in een .ico:

Er is er nog een die makkelijk misgaat: Android-launchers snijden een adaptief icoon bij naar de vorm die de telefoon leuk vindt, of dat nu een cirkel, een squircle of een afgerond vierkant is, en alleen de middelste 80% van het beeld overleeft gegarandeerd. Een icoon dat van rand tot rand getekend is, raakt zijn hoeken kwijt. Dat is wat een maskeerbaar icoon is: hetzelfde plaatje met opzet klein binnen het vierkant getekend, apart opgegeven in het manifest.

De websiteset aanvinken in Afbeelding naar ICO levert al deze bestanden op, plus het manifest en het blok HTML dat ernaar wijst. Eén ding dat dat blok met opzet weglaat, is een <link> voor favicon.ico: browsers vragen dat adres uit zichzelf op, en het er ook nog bij noemen zorgt dat hetzelfde bestand twee keer opgehaald wordt.

Een Windows-app-icoon is een andere set

Is het icoon voor een programma in plaats van een site, dan veranderen de formaten. Wat de standaard-app.ico van Visual Studio zelf bevat, is 16, 32, 48 en 256: de drie shellformaten plus de grote waar het startmenu en de extra grote weergave van Verkenner uit tekenen.

Op een hi-dpi-scherm vraagt Windows ook om 20, 24, 40, 64 en 96, en herbemonstert die vanaf het dichtstbijzijnde formaat dat het heeft wanneer ze ontbreken. Of dat uitmaakt hangt van je icoon af: een vlakke vorm overleeft de herbemonstering, een gedetailleerde niet. Ze toevoegen verdubbelt ruwweg het bestand, en voor een programma stelt dat helemaal niets voor. Het rekensommetje ligt daar volstrekt anders dan bij een favicon, die door elke bezoeker opgehaald wordt.

Nog iets over grootte: bij het item van 256 zitten de bytes. Ongecomprimeerd opgeslagen is het in zijn eentje 264 KB; als png in het icoon opgeslagen meestal onder de 30. PNG-items zijn sinds Windows Vista leesbaar, dus de enige reden om ze te mijden is software die werkelijk ouder is dan dat, of een installatieprogramma of ingebedde tool die iconen zelf ontleedt.

Een Mac leest een heel ander bestand

Is het icoon voor een Mac-programma in plaats van een Windows-programma, dan geldt niets van het bovenstaande: macOS leest helemaal geen .ico. Het leest .icns, hetzelfde idee in een andere verpakking, ook weer meerdere formaten in één houder, met drie verschillen die het weten waard zijn.

Om er een te gebruiken: een applicatiebundel bewaart hem in JouwApp.app/Contents/Resources/ en noemt hem in Info.plist. Voor een map of een schijfkopie: selecteer de .icns in de Finder, druk op Command-C, kies daarna Toon info op het ding dat je wilt wijzigen, klik op het kleine icoon linksboven en druk op Command-V.

macOS-icoon aanvinken in Afbeelding naar ICO schrijft er een, met of zonder het Windows-bestand ernaast. Alles wat op beide platforms uitkomt wil ze allebei, en ze worden allebei in dezelfde ronde uit hetzelfde plaatje getekend.

Controleren of het gelukt is

Browsers houden favicons hardnekkiger in de cache dan vrijwel iets anders, dus “ik heb hem geüpload en er verandert niets” is meestal een cache in plaats van een fout. Twee dingen om te proberen voordat je weer bestanden gaat bewerken:

Op Windows kun je een .ico controleren door hem in een map te zetten en Verkenner door zijn weergaveformaten te laten lopen: klein, middelgroot, groot en extra groot tekenen verschillende items uit hetzelfde bestand, dus je kunt ze zien zoals het systeem ze ziet.

Op een Mac gaat een .icns open in Voorvertoning, dat elke plek langs de zijkant opsomt. Dezelfde truc werkt in de Finder: zet hem in een map en sleep de formaatschuif in de weergaveopties om hem tussen de plaatjes erin te zien wisselen.

Hier hoeft niets voor geüpload te worden

Een plaatje schalen is iets wat elke browser al jaren doet, en een .ico is een kop van zes bytes, zestien bytes per afbeelding, en dan de afbeeldingen. Er zit geen stap in het maken ervan die een server vereist, en de tool hier gebruikt er geen: de Content-Security-Policy van de pagina noemt elk adres dat hij mag benaderen, en geen ervan hoort bij deze site.

Dat is hier meer dan gewoonlijk het waard om om te geven. Een logo dat aan een gratis favicongenerator gegeven wordt, is nogal eens een merk dat nog niet uit is, want het icoon hoort bij de eerste dingen die gemaakt worden en bij de laatste die aangekondigd worden. Controleer je het liever dan dat je het aanneemt, laad dan de pagina, trek de stekker uit je internet en maak er alsnog een. Is het veilig om bestanden naar online omzetters te uploaden? zet nog drie controles op een rij die je op elke tool kunt loslaten.