Zo gebruik je het
- Plak een Base64-string of een data:image/webp;base64-URI. Elk ander afbeeldingsformaat werkt ook.
- Controleer het voorbeeld, het herkende formaat en de gedecodeerde grootte.
- Laat WebP staan bij Downloaden als om te converteren, of kies Origineel om de bytes precies zo op te slaan als ze zijn gedecodeerd.
- Download het .webp-bestand en vergelijk de grootte met die van de bron.
WebP-gegevens herkennen
WebP wordt opgeslagen in een RIFF-container, dezelfde verpakking die ook WAV-audio gebruikt. Het bestand begint met de ASCII-tekst RIFF, dus de Base64-vorm begint met UklGR; een paar bytes verderop bevestigt de markering WEBP dat de container een afbeelding bevat en geen geluid. Binnenin staat een afbeelding met verlies (VP8), een verliesvrije afbeelding (VP8L) of een uitgebreid bestand (VP8X) dat transparantie, animatie of metadata toevoegt. Het MIME-type is image/webp.
Waarom converteren naar WebP
Volgens metingen van Google zijn WebP-bestanden met verlies ongeveer 25 tot 34 procent kleiner dan JPEG's van vergelijkbare kwaliteit, en is verliesvrije WebP ongeveer 26 procent kleiner dan PNG. Anders dan JPEG heeft WebP een alfakanaal, dus transparante logo's en stickers worden netjes geconverteerd. Alle huidige grote browsers geven WebP weer.
Kleinere bestanden tellen dubbel als afbeeldingen inline staan: een lichtere afbeelding betekent ook een kortere Base64-string in je HTML, CSS of JSON. Na het converteren kun je het nieuwe bestand weer coderen met WebP naar Base64.
Het resultaat is niet altijd kleiner. Piepkleine pictogrammen, al goed gecomprimeerde foto's en vlakke afbeeldingen met weinig kleuren worden soms groter; dan is PNG of JPG de betere keuze. Converteren is hier ook een snelle manier om te testen hoeveel een bepaalde afbeelding zou winnen voordat je een buildpipeline aanpast: plak een Base64-PNG of -JPEG, download de WebP en vergelijk de twee groottes.
Converteren met Pillow
Voor batchtaken op een server kost dezelfde conversie maar een paar regels Python met de bibliotheek Pillow:
import base64, io
from PIL import Image
img = Image.open(io.BytesIO(base64.b64decode(b64_string)))
img.save('output.webp', 'WEBP', quality=80)
Veelgestelde vragen
Behoudt WebP transparantie?
Ja. WebP ondersteunt een volledig alfakanaal, zowel met verlies als verliesvrij, dus transparante gebieden blijven na de conversie transparant.
Kan ik een geanimeerde WebP behouden?
Download hem als Origineel om alle frames te behouden. Converteren gaat via een canvas, en dat legt slechts één stilstaand frame vast.
Is de WebP-uitvoer altijd kleiner dan de invoer?
Nee. Grote foto's en screenshots worden meestal kleiner, maar kleine of sterk geoptimaliseerde afbeeldingen kunnen groeien. Vergelijk de gedecodeerde grootte die de tool toont met de grootte van het gedownloade bestand.
Sommige software opent mijn WebP-bestand niet. Wat kan ik doen?
Oudere afbeeldingsviewers en kantoorprogramma's ondersteunen WebP soms niet. Plak dezelfde Base64 en download hem in plaats daarvan als PNG of JPG.