WebP-afbeelding (.webp)

RFC Standaard

WebP is een modern afbeeldingsformaat ontwikkeld door Google dat superieure verliesvrije compressie en compressie met verlies (lossy) biedt voor webafbeeldingen, met ondersteuning voor zowel alfakanaaltransparantie als geanimeerde frames.

JPG naar WEBP converteren

Gratis JPG-naar-WEBP-converter in uw browser. Converteer bestanden direct op uw apparaat.

WebP online comprimeren

Privé - bestanden verlaten uw apparaat niet

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen WebP-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen WebP-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

52 49 46 46 ?? ?? ?? ?? 57 45 42 50

ASCII-WEERGAVE: RIFF????WEBP

Standaardisatie: RFC 6386 / RIFF Container Specification

Technische specificaties

ContainerarchitectuurResource Interchange File Format (RIFF)-container met FourCC 'WEBP'
CompressieVoorspellende VP8-intraframecodering met verlies en verliesvrije ruimtelijke VP8L-entropiecodering
Bytevolgorde (endianness)Little-Endian voor RIFF-chunkgroottes en containertags
KleurruimtensRGB, Ingebedde ICC-profielen (via de uitgebreide VP8X-header)
Kanalen en structuurRGB + alfa (8-bit per kanaal)
Maximale afmetingen16.383 x 16.383 pixels (gehele getallen zonder teken van 14 bits)
TransparantieVolledige 8-bit alfakanaaltransparantie in zowel de modus met verlies als de verliesvrije modus
Streaming en progressiefProgressieve decodering ondersteund via incrementele VP8-blokdecodering

Technische vergelijkingsmatrix: WebP versus concurrenten

Technisch kenmerkWebP (Huidig)JPEGPNGAVIF
Ondersteunde compressiemodiZowel met verlies (VP8) als verliesvrij (VP8L)Alleen met verliesAlleen verliesvrijZowel met verlies (AV1) als verliesvrij
AlfatransparantieJa (zowel met verlies als verliesvrij)NeeJaJa
AnimatieondersteuningJa (meerdere frames met vertraging per frame)NeeVereist APNG-extensieJa (AVIF-afbeeldingssequenties)
HDR / breed kleurengammaAlleen 8-bits sRGB8-bits standaard8-bits en 16-bits10-bits en 12-bits native HDR
BrowserondersteuningOndersteund door veel huidige browsers; dekking is afhankelijk van browserversie en platformBrede ondersteuning; beschikbaarheid varieert per product en versieBrede ondersteuning; beschikbaarheid varieert per product en versieOndersteund door veel huidige browsers; beschikbaarheid varieert

Veelvoorkomende beschadigingen en gids voor hex-herstel

Browser kan de WebP-afbeelding niet weergeven of toont een pictogram van een beschadigde afbeelding.

Oorzaak: De lengteheader van de RIFF-payload (bytes 4-7) komt niet overeen met de werkelijke lengte in bytes op de schijf.

Herstel: Bereken de totale bestandsgrootte minus 8 bytes opnieuw en pas het Little-Endian geheel getal zonder teken van 4 bytes op offset 0x04 aan.

De decoder stopt met de fout 'Invalid FourCC: Expected WEBP'.

Oorzaak: Bytes 8-11 bevatten niet de ASCII-tekens 'WEBP'.

Herstel: Controleer of offset 0x08 0x57 0x45 0x42 0x50 ('WEBP') bevat en of de chunkheader overeenkomt met 'VP8 ' of 'VP8L'.

Beveiligingsanalyse en aanvalsvectoren voor parsers

Het parseren van WebP werd na CVE-2023-4863 intensief op beveiliging onderzocht, wat leidde tot brede versterking van de sandboxing in alle grote webbrowsers.

Bekende aanvalsvectoren

  • CVE-2023-4863: heap-bufferoverflow in de functie BuildHuffmanTable van libwebp bij het parseren van ongeldige verliesvrije Huffman-tabellen, waardoor code op afstand kan worden uitgevoerd.
  • Integeroverflow bij het decoderen van te grote canvasafmetingen voor animatieframes.

Aanbevolen beveiligingspraktijken: Zorg ervoor dat alle client- en serverbibliotheken libwebp 1.3.2 of later gebruiken. Decodeer WebP-bestanden in worker-threads met een geheugensandbox.

Historische oorsprong en mijlpalen

2020Safari 14 heeft WebP-ondersteuning toegevoegd; browsercompatibiliteit varieert per versie en platform.
2012WebP voegt verliesvrije compressie (VP8L), alfakanaaltransparantie en animatie toe.
2010Google brengt WebP uit als opensource-afbeeldingsformaat om de webprestaties te verbeteren.

Belangrijkste voordelen

  • WebP met verlies kan bij een vergelijkbare visuele kwaliteit kleinere bestanden produceren dan JPEG, hoewel de resultaten per afbeelding en encoder verschillen.
  • Verliesvrije WebP kan voor sommige afbeeldingen kleinere bestanden produceren dan PNG; de resultaten variëren per afbeelding en encoder.
  • Eén verenigd formaat verwerkt foto's, afbeeldingen met transparantie en lichtgewicht geanimeerde clips.

Technische beperkingen

  • Maximale afmetingen beperkt tot 16.383 x 16.383 pixels, waardoor panoramische beelden met een zeer hoge resolutie niet mogelijk zijn.
  • Ondersteunt alleen 8-bit kleurdiepte (geen native 10-bit of 12-bit HDR-ondersteuning).
  • Het coderen van complexe afbeeldingen met verlies vereist meer CPU-cycli dan met verouderde JPEG-encoders.

Interessante technische weetjes

  • WebP is gebaseerd op de intrapredictie-algoritmen voor keyframes van de opensource-videocodec VP8 van Google.
  • De RIFF-container die door WebP wordt gebruikt is exact dezelfde containerarchitectuur die wordt gebruikt door klassieke Microsoft AVI- en WAV-bestanden.
  • Bestandsgroottes van geanimeerde WebP en GIF zijn afhankelijk van de animatie-inhoud en coderingsinstellingen, dus vergelijk de uitvoer voor elke animatie.

Veelgestelde technische vragen

Kan WebP zowel PNG als JPEG volledig vervangen?

WebP is een handige optie voor veel webafbeeldingen, maar vervangt PNG of JPEG niet in elke workflow. Kies een formaat op basis van afbeeldingsinhoud, transparantiebehoeften en de browsers of software die uw doelgroep gebruikt.

Waarom is verliesvrije WebP-compressie efficiënter dan PNG?

Verliesvrije WebP gebruikt ruimtelijke voorspellers, kleurentransformaties, een kleurencache en entropiecodering. De bestandsgrootte in vergelijking met PNG hangt af van de afbeeldingsinhoud en de encoderinstellingen.

Ondersteunt WebP animatie?

Ja. WebP ondersteunt animatie met meerdere frames met variabele framevertragingen, alfatransparantie per frame en verwijderingsmethoden. De grootte ten opzichte van GIF hangt af van de animatie-inhoud en de coderingsinstellingen, dus vergelijk de resultaten.