Beweging

GIF, MP4 of WebM: welk formaat voor loops

GIF is het formaat dat iedereen kent en dat bijna niemand op het web zou moeten gebruiken. Het is ook het enige dat in een inbox werkt. Welk formaat je kiest, waar, en waarom.

GradientlyGeverifieerd Gradiently-account··5 min lezen
Cover: Copper Compass · GR·HVTH·0E

De korte versie

  • Voor websites en social media zijn MP4 en WebM voor dezelfde loop meestal veel kleiner dan GIF, en tonen ze vloeiende kleur.
  • Een GIF kan per frame hooguit 256 kleuren tonen, waardoor kleurverlopen banding vertonen of gespikkeld ogen.
  • GIF blijft de praktische keuze voor animatie in e-mail, omdat de meeste e-mailclients geen video afspelen.
  • WebM is vaak kleiner dan MP4, maar MP4 speelt bijna overal af, dus websites bieden vaak allebei aan.
  • Geanimeerde WebP en AVIF zijn moderne afbeeldingsformaten die GIF op websites vervangen, maar ze zijn geen veilige keuze voor e-mail.
Op deze pagina

GIF of MP4 hangt af van waar de loop gaat spelen. Op websites en social media is MP4 (en zijn open neef WebM) bijna altijd de juiste keuze: bestanden zijn meestal veel kleiner, de kleur is vloeiend en het afspelen is efficiënt. GIF is op één plek nog de juiste keuze, e-mail, omdat de meeste inboxen geanimeerde GIF’s tonen en heel weinig video afspelen. Al het andere in deze gids is detail bij die regel.

Wat elk formaat eigenlijk is

GIF is een afbeeldingsformaat uit de late jaren 80 dat meerdere frames kan bevatten. Het slaat elk frame op met een palet van hooguit 256 kleuren en comprimeert elk frame op zichzelf. MP4 en WebM zijn videoformaten. Ze gebruiken moderne videocodecs, zoals H.264 in MP4 en VP9 of AV1 in WebM, die opslaan wat er tussen frames verandert in plaats van elk frame volledig. Voor een loop waarin het grootste deel van het beeld langzaam verandert, is dat verschil enorm.

EigenschapGIFMP4WebM
KleurenTot 256 per frameMiljoenenMiljoenen
Bestandsgrootte van een loopGrootstKleinVaak het kleinst
TransparantieAan of uit per pixel, geen zachte randenNeeJa, in sommige browsers
GeluidNeeJaJa
WebsitesJa, als afbeeldingJa, als videoJa, in moderne browsers
E-mailDe meeste clientsZeldenZelden
Uploads op socialVerschilt per platformOveralSommige platforms
Het grote plaatje. Ondersteuning op specifieke platforms en in inboxen verandert, dus controleer de plek waar je publiceert.

Waarom kleurverlopen er als GIF slecht uitzien

Een vloeiend kleurverloop over een frame van 1080 pixels kan duizenden verschillende kleuren gebruiken. Een GIF-frame kan er hooguit 256 bevatten. De encoder heeft twee keuzes: kleuren afronden naar de dichtstbijzijnde kleur in het palet, wat zichtbare strepen geeft, of pixels van naburige kleuren verspreiden om de tussentinten na te bootsen, dithering genoemd, wat gespikkeld oogt en bestanden groter maakt. Geen van beide lijkt op het kleurverloop dat je ontwierp.

Een overdreven beeld van wat een beperkt palet met een kleurverloop doet. Echte GIF’s hebben meer trappen, maar op donkere, subtiele kleurverlopen zie je de banden nog steeds.

Korrel helpt een beetje, omdat ruisige beelden paletgrenzen beter verbergen dan strakke. Maar de echte oplossing is geen GIF gebruiken waar video mogelijk is. Banding in kleurverlopen legt hetzelfde probleem uit bij stilstaande beelden.

MP4 of WebM voor websites

Vervang op een website GIF’s door een video-element dat zich als een GIF gedraagt: automatisch afspelend, zonder geluid, loopend en inline. De gids van web.dev over geanimeerde GIF’s vervangen door video legt de aanpak uit. Bied WebM eerst aan, omdat die vaak kleiner is, en MP4 als terugval die bijna overal speelt.

html
<!-- Instead of <img src="loop.gif" alt=""> -->
<video autoplay muted loop playsinline width="600" height="600"
       poster="loop-poster.jpg">
  <source src="loop.webm" type="video/webm">
  <source src="loop.mp4" type="video/mp4">
</video>
Een video die zich als een GIF gedraagt. Breedte en hoogte voorkomen dat de lay-out verspringt tijdens het laden.

Twee andere formaten zijn het kennen waard. Geanimeerde WebP en geanimeerde AVIF zijn afbeeldingsformaten, gebruikt in een gewone img-tag zoals een GIF, maar met volledige kleur en veel betere compressie. Moderne browsers ondersteunen ze allebei. Ze zijn handig waar een CMS of platform alleen afbeeldingen accepteert, maar niet voor e-mail. Voor achtergronden over de volle breedte, lees videoachtergronden op websites.

Loops voor social media

Sociale platforms zijn rond video gebouwd, en MP4 is het formaat dat ze allemaal accepteren. Waar een platform een GIF-upload aanneemt, behandelt het die vaak anders dan een normale video, dus een GIF is zelden een voordeel. Exporteer je loop als MP4 op het formaat van het platform, in H.264, en laat het platform de rest doen. Bewegende of stilstaande posts behandelt formaten en instellingen.

Loops in e-mail: nog steeds GIF

De meeste e-mailclients spelen geen video af, dus een geanimeerde GIF is de praktische manier om beweging in een e-mail te krijgen. Houd hem klein en behandel het eerste frame als terugval: sommige clients, waaronder enkele versies van het klassieke Outlook voor Windows, tonen alleen het eerste frame. Zet de boodschap in dat frame, zodat er niets verloren gaat. Onze gidsen over e-mailheaders ontwerpen en kleurverlopen in e-mail behandelen de rest.

  1. 1

    Houd hem kort

    Twee tot zes seconden is ruim genoeg in een e-mail; elk frame voegt gewicht toe.

  2. 2

    Verklein formaat en framerate

    Exporteer op de breedte waarop hij wordt getoond, vaak 600 pixels, en op een lagere framerate, zoals 10 tot 15 frames per seconde, voor langzame beweging.

  3. 3

    Zet de boodschap in frame één

    Lezers die alleen het eerste frame zien, moeten de boodschap toch meekrijgen.

  4. 4

    Controleer de bestandsgrootte

    Grote GIF’s laden traag op telefoons. Is hij zwaar, kort dan eerst lengte, formaat of kleuren in.

Omzetten tussen GIF en MP4

ffmpeg, een gratis opdrachtregeltool, doet beide richtingen. Video omzetten naar een goede GIF vraagt om een eigen palet dat uit de video zelf wordt opgebouwd; een GIF omzetten naar MP4 is eenvoudiger.

bash
# MP4 to GIF: 15 fps, 600 px wide, with a palette made from the clip
ffmpeg -i loop.mp4 -vf "fps=15,scale=600:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 loop.gif

# GIF to MP4: H.264, even dimensions, ready for the web
ffmpeg -i loop.gif -movflags +faststart -pix_fmt yuv420p \
  -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4

# MP4 to WebM (VP9)
ffmpeg -i loop.mp4 -c:v libvpx-vp9 -crf 34 -b:v 0 -an loop.webm
palettegen en paletteuse kiezen de 256 kleuren die bij deze clip passen, en dat is de grootste afzonderlijke verbetering van GIF-kwaliteit.

Welk formaat je gebruikt, in één oogopslag

Waar het speeltGebruikWaarom
Hero of achtergrond van een websiteWebM met MP4 als terugvalKleinste bestanden, vloeiende kleur
Inline animatie in een artikelMP4-video, of geanimeerde WebPVeel lichter dan GIF
Instagram, TikTok, LinkedIn, XMP4 (H.264)Wat platforms verwachten
E-mailGIFDe animatie die de meeste inboxen tonen
Chatapps en stickersWat de app vraagtElke app heeft eigen regels

Maak je loops in Gradiently, dan exporteert de Studio allebei: een video (MP4 waar je browser die kan opnemen, anders WebM) tot 1080p, en een GIF met een keuze in kwaliteit die onder de 15 MB blijft. Zorg dat de loop netjes aansluit, welke je ook kiest; zie naadloze loops.

Vragen die mensen stellen

Is MP4 beter dan GIF?

Voor websites en social media wel: MP4-bestanden zijn meestal veel kleiner en tonen vloeiende kleur, terwijl GIF beperkt is tot 256 kleuren per frame. Voor e-mail is GIF nog steeds de betere keuze.

Waarom zien mijn GIF’s met kleurverloop er gestreept uit?

Een GIF kan hooguit 256 kleuren per frame bevatten, dus vloeiende kleurverlopen worden afgerond tot banden of gedithered tot spikkels. Gebruik video waar het kan, of bouw bij het exporteren een eigen palet.

Gebruik ik WebM of MP4?

Bied op websites eerst WebM aan, omdat die vaak kleiner is, met MP4 als terugval omdat die bijna overal speelt. Gebruik MP4 voor uploads op social.

Kan ik een video in een e-mail zetten?

Heel weinig e-mailclients spelen video af. Gebruik een geanimeerde GIF, houd hem klein en zorg dat het eerste frame de boodschap draagt, want sommige clients tonen alleen dat frame.

Wat is geanimeerde WebP?

Het is een afbeeldingsformaat dat animatie kan bevatten met volledige kleur en betere compressie dan GIF. Moderne browsers ondersteunen het, maar e-mailclients over het algemeen niet.

Deel deze gids

Geschreven door GradientlyGeverifieerd Gradiently-account

Het team achter Gradiently, een ontwerptool rond Marks: levende kleurverlopen die alles wat je ontwerpt op jou laten lijken.

Bekijk ons profiel