All posts

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

Archis Vaze4 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.

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 is a container, and which codec it holds determines how widely it decodes.

VP8 is the oldest and works everywhere. VP9 is the current default for most tools and is supported everywhere that matters, including Safari since version 14. AV1 is the newest, compresses noticeably better, and has solid support in recent Chrome and Firefox while lagging elsewhere.

You will not usually need to know which you have. The exception is when a file refuses to load, in which case AV1 is the likely culprit, and re-encoding to VP9 or H.264 fixes it.

CodecChrome / EdgeFirefoxSafari
VP8YesYesYes (14+)
VP9YesYesYes (14+)
AV1Yes (70+)Yes (67+)Partial (17+, hardware dependent)

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

Because so much WebM comes from screen recorders, this is worth knowing. Screen recorders capture when the picture changes rather than at a fixed rate, so a recording might run at sixty frames per second during scrolling and drop to two on a static page.

Timestamp-based extraction handles this correctly, because it asks for a moment in time rather than a frame number. The practical implication is that "every Nth frame" is not a meaningful instruction on this footage, while "every two seconds" always is.

If some downstream tool needs uniform spacing, convert to constant frame rate first.

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.

Try these tools

Keep reading