WebP-afbeelding (.webp)
RFC StandaardWebP 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:
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 50ASCII-WEERGAVE: RIFF????WEBP
Standaardisatie: RFC 6386 / RIFF Container Specification
Technische specificaties
| Containerarchitectuur | Resource Interchange File Format (RIFF)-container met FourCC 'WEBP' |
| Compressie | Voorspellende VP8-intraframecodering met verlies en verliesvrije ruimtelijke VP8L-entropiecodering |
| Bytevolgorde (endianness) | Little-Endian voor RIFF-chunkgroottes en containertags |
| Kleurruimten | sRGB, Ingebedde ICC-profielen (via de uitgebreide VP8X-header) |
| Kanalen en structuur | RGB + alfa (8-bit per kanaal) |
| Maximale afmetingen | 16.383 x 16.383 pixels (gehele getallen zonder teken van 14 bits) |
| Transparantie | Volledige 8-bit alfakanaaltransparantie in zowel de modus met verlies als de verliesvrije modus |
| Streaming en progressief | Progressieve decodering ondersteund via incrementele VP8-blokdecodering |
Technische vergelijkingsmatrix: WebP versus concurrenten
| Technisch kenmerk | WebP (Huidig) | JPEG | PNG | AVIF |
|---|---|---|---|---|
| Ondersteunde compressiemodi | Zowel met verlies (VP8) als verliesvrij (VP8L) | Alleen met verlies | Alleen verliesvrij | Zowel met verlies (AV1) als verliesvrij |
| Alfatransparantie | Ja (zowel met verlies als verliesvrij) | Nee | Ja | Ja |
| Animatieondersteuning | Ja (meerdere frames met vertraging per frame) | Nee | Vereist APNG-extensie | Ja (AVIF-afbeeldingssequenties) |
| HDR / breed kleurengamma | Alleen 8-bits sRGB | 8-bits standaard | 8-bits en 16-bits | 10-bits en 12-bits native HDR |
| Browserondersteuning | Ondersteund door veel huidige browsers; dekking is afhankelijk van browserversie en platform | Brede ondersteuning; beschikbaarheid varieert per product en versie | Brede ondersteuning; beschikbaarheid varieert per product en versie | Ondersteund 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
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.
Gerelateerde conversieparen voor WebP
Het converteren van JPEG-afbeeldingen naar WebP kan de bestandsgrootte verkleinen bij een vergelijkbare visuele kwaliteit, hoewel de resultaten variëren per afbeeldingsinhoud en coderingsinstellingen.
Het converteren van WebP naar JPEG kan een stilstaande afbeelding makkelijker te gebruiken maken in software die geen WebP ondersteunt; JPEG behoudt geen transparantie of animatie.
Het converteren van PNG-afbeeldingen naar WebP kan de bestandsgrootte verkleinen met behoud van transparantie; het resultaat hangt af van het gebruik van codering met verlies of verliesvrije codering en van de inhoud van de afbeelding.
Het converteren van WebP naar PNG levert een stilstaande afbeelding op voor software die PNG ondersteunt; WebP-animatie wordt niet behouden en details van bronbestanden met verlies kunnen niet worden hersteld.
Het converteren van geanimeerde WebP-bestanden naar geanimeerde GIF slaat een brug tussen moderne rasteranimatieformaten en oudere webstandaarden die brede compatibiliteit vereisen.
Maak een PDF van één pagina van een WebP-afbeelding voor een document of goedkeuringsronde. De browser tekent de afbeelding opnieuw, waardoor WebP-gegevens en beweging niet behouden blijven.