All posts

Convert WebM to JPG or PNG (Free, No Upload)

Archis Vaze3 min readUpdated July 29, 2026

WebM is the format most people end up with without ever choosing it. Discord re-encodes uploads to it, Twitch clips download as it, and every browser-based screen recorder produces it by default.

It also has one genuine difference from MP4 that changes how you should extract from it - a difference most conversion guides skip entirely.

The conversion

  1. 1Select your WebM file. It stays on your device throughout.
  2. 2Set how many images to extract across the duration.
  3. 3Choose PNG if the video has transparency you want to keep, JPEG otherwise.
  4. 4Extract and download the ZIP.

Try FrameRipper - free, no upload

Extract frames from any video directly in your browser. No sign-up, no file size limits.

Open FrameRipper

WebM can carry real transparency

This is the important one. VP8 and VP9 - the codecs inside most WebM files - support a genuine per-pixel alpha channel. H.264 and H.265, which is to say almost all MP4 and MOV footage, cannot.

That is why transparent web video is almost always WebM. Animated logos, stream alert graphics, overlay animations, lower-third titles: if it needs to sit on top of something else without a background, it is a WebM.

For extraction this makes format choice consequential rather than a matter of taste. PNG preserves the alpha channel intact. WebP also supports alpha and is a good pick if the frames are heading for a web page. JPEG cannot represent transparency at all and will flatten every transparent region to solid black - which is usually not a subtle failure, and is why people occasionally extract a logo animation and get a series of black rectangles.

One browser caveat: Chrome and Edge decode WebM transparency reliably. Other browsers may draw the clear areas as a solid colour, so use one of those two when the transparency matters.

Output formatKeeps transparencyUse when
PNGYesOverlay graphics, editing, screen content
WebPYesFrames going onto a web page
JPEGNo - fills with blackOpaque footage only

Three codecs live inside WebM

WebM can hold VP8, VP9 or AV1. VP8 and VP9 open in every current browser. AV1 compresses better but is newer, and it is the usual reason a WebM refuses to load. Browser-by-browser support is on the WebM to images page.

Where your WebM came from

The source usually tells you what to expect from the file.

Discord re-encodes many uploaded clips to WebM, typically VP8 or VP9, and these extract without issue. Twitch clip downloads are frequently WebM. Anything captured by a browser-based screen recorder is WebM by default, because the MediaRecorder API that powers them produces it.

YouTube serves VP9 and increasingly AV1 WebM streams to browsers that support them, which is why a video downloaded through a third-party tool often arrives as WebM even though you never asked for it.

Screen-recorded WebM is variable frame rate

Most screen-recorded WebM is variable frame rate: it can run at sixty frames per second while scrolling and two on a static page. Ask for a time interval rather than "every Nth frame" and the spacing takes care of itself.

If some downstream tool needs uniform spacing, convert to constant frame rate first. Frames per second explained has the background.

Convert VFR WebM to constant 30 fps

ffmpeg -i clip.webm -vsync cfr -r 30 output.mp4

Choosing between JPG and PNG

Start with the transparency question, since it overrides everything else: if the WebM has an alpha channel you want to keep, use PNG and stop there.

For opaque footage, the usual logic applies. JPEG for sharing and general use. PNG when you will edit the frames repeatedly, or when the content is screen capture or animation - both compress better losslessly and suffer visible ringing around hard edges under JPEG.

Since a large share of WebM files are screen recordings and motion graphics, PNG is the right answer for this format more often than it is for MP4.

Try FrameRipper - free, no upload

Extract frames from any video directly in your browser. No sign-up, no file size limits.

Open FrameRipper

When a WebM will not load

  • Most likely AV1. Try Chrome or Firefox, which have the best AV1 support.
  • If it still fails, re-encode to VP9 or H.264 with HandBrake or FFmpeg.
  • Very old WebM files may use experimental early VP8 variants - re-encoding fixes these too.
  • A file that plays in no player at all is damaged rather than unsupported; re-download or re-export it.

Re-encode a stubborn WebM to H.264 MP4

ffmpeg -i input.webm -c:v libx264 -crf 18 output.mp4
Archis Vaze

Creator of FrameRipper

Software engineer with a background in video tooling. Builds ffmpeg-based desktop apps, and browser tools that process files locally instead of uploading them.

archisvaze.comAbout FrameRipper

Try these tools

Keep reading