Uploadformulieren die afbeeldingen op 50 KB aftoppen kom je overal tegen: visumaanvragen, examenportalen, vacaturesites. Die limiet is echt, maar het gebruikelijke advies — maak er een screenshot van, of snijd bij tot het past — gooit veel meer kwaliteit weg dan nodig is.
Verklein de afmetingen vóór de kwaliteit
Een foto van 4000 pixels breed die je naar 50 KB perst, ziet er bij elke kwaliteitsinstelling modderig uit, omdat JPEG zijn budget besteedt aan detail dat niemand ooit te zien krijgt. Toont het formulier je foto op 600 pixels breed, schaal dan eerst terug naar ongeveer het dubbele daarvan.
De reden is simpel rekenwerk. Elke pixel kost bytes. Halveer je de breedte en de hoogte, dan gaat het aantal pixels door vier, en dat maakt ruwweg vier keer zoveel bytes per overgebleven pixel vrij — en bytes per pixel is precies wat bepaalt of een afbeelding scherp oogt of uitgesmeerd.
Laat een zoektocht het kwaliteitsniveau vinden
Een schuifje verzetten en opnieuw exporteren is gokwerk. Wat je wilt, is de hoogste kwaliteit die nog onder de limiet blijft — een zoekprobleem, geen smaakkwestie.
Een binaire zoektocht over de kwaliteitsparameter komt daar in een handvol coderingen op uit. Dat is wat de afbeeldingscompressor doet: hij codeert steeds opnieuw, versmalt daarbij telkens het bereik, en houdt het grootste bestand dat nog past. Het grootste dat past, is hetzelfde als het mooiste dat past.
Kies het formaat op de inhoud
Foto’s horen thuis in JPEG of WebP. Screenshots van tekst, diagrammen en logo’s horen thuis in PNG — door JPEG gehaald krijgen ze zichtbare randjes en worden ze vaak groter in plaats van kleiner. De redenering achter die scheiding, en waar AVIF past, staat in een afbeeldingsformaat kiezen.
Voor een foto op 50 KB gebruik je JPEG. Lossy WebP zou het op dit formaat beter doen — het houdt detail vast in ogen en haar waar JPEG blokkerige artefacten van maakt — maar ToolZool kan het niet maken: onze WebP-uitvoer is verliesloos, en die komt bij een portret niet in de buurt van 50 KB. JPEG is hier het enige uitvoerformaat met een kwaliteitsknop, en een harde groottelimiet vraagt nu juist om zo’n knop. Het is bovendien wat de meeste overheidsportalen sowieso accepteren, dus controleer de toegestane lijst voordat je naar iets anders grijpt.
Die zoektocht is precies wat de compressor voor je doet, en wat er gebeurt als een browser een afbeelding comprimeert loopt de stappen langs die hij bij elke ronde uitvoert: decoderen, hersamplen en coderen.
Wat te doen als het nog steeds niet past
Snijd bij voordat je inlevert. Een strakkere uitsnede rond het onderwerp haalt pixels weg waar je voor betaalde en die je niet nodig had. Bij een pasfoto doet bijsnijden tot hoofd en schouders vaak meer voor het eindresultaat dan wat voor gesleutel aan de encoder ook. ToolZool kan nog niet bijsnijden — doe dat in de foto-app op je telefoon of in een willekeurige beeldbewerker, en breng het bijgesneden bestand daarna hierheen.
Past het na het bijsnijden nog steeds niet, dan is de limiet misschien niet de limiet die je denkt. Een formulier dat een bestand van 45 KB weigert, handhaaft iets anders dan het aantal bytes, en waarom een uploadformulier je bestand weigert behandelt de drie andere controles die het kan uitvoeren.

