Convert WebM to JPG

Converting WebM to JPG saves a single frame of the video as an ordinary image, at the recording’s own resolution and at whatever second you type. It is the picture to put in a slide, a report or a message, and it is produced in your browser, so a large recording never has to be uploaded to yield one still.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. JPG cannot hold everything a WebM can.
  • File size limit Up to 100 MB per file, free, without an account.
  • Worth knowing One frame, at full resolution. A still from compressed video carries that compression — a fast-moving moment looks softer than a static one, which is the video’s own encoding rather than anything this conversion does.

Up to 100 files at once. Mixed formats are fine.

The default frame is almost never the one you want

Leave the timestamp alone and you get the first frame of the file — second zero. For a camera clip that is usually fine. For a screen recording, which is what most WebM files are, second zero is a blank desktop, a browser mid-load, or the half-second before the recording actually began, because people press record and then start doing the thing.

So the timestamp control is not an advanced option, it is the main one. Type the number of seconds to the moment you care about and convert; if it is wrong, change the number and convert again. It costs a second each time because the whole operation is local, which makes trial and error a reasonable way to find the frame rather than an expensive one.

This is not a screenshot, and the difference is visible

The usual way to get a picture out of a video is to play it, pause, take a screenshot and crop. That gives you the frame at whatever size the player happened to be showing it, with a scaling pass in between, and if the video was playing at half size the picture has half the detail. It also gives you whichever frame the pause landed on rather than the one you meant.

Here the frame is decoded at the video’s native resolution and encoded straight from those pixels. A 4K capture yields a 3840 by 2160 JPG whether the tab is fullscreen or a thumbnail, and the moment is the one you named rather than the one your reflexes reached.

Why a frame from a WebM is softer than a photograph

Video compression is built on the assumption that no frame will be looked at for long. A codec spends its bits where movement is and economises everywhere else, and at thirty frames a second your eye does the averaging that hides the result. Freeze one frame and you are giving a long, still look to something that was never designed to survive one.

How bad it is depends entirely on the moment. A static shot — a slide, an unmoving interface, a talking head against a plain wall — is near the codec’s best case and comes out clean. A frame during a pan, a scroll or a cut is at its worst, because that is where the encoder had the least to work with and the most to describe. Moving the timestamp half a second is often the whole fix, and no output format is a substitute for it.

What JPG is right for, and what it does to edges

JPG earns its place by being small and by being the one image format nothing has ever refused. A full-resolution frame lands in the low hundreds of kilobytes, which is an attachment nobody complains about and an upload no form rejects. Every document editor, every email client, every listing site and every ticketing system takes one.

Its weakness is exactly the content most WebM files contain. JPG compresses by discarding fine detail near sharp transitions, which is invisible on a photograph and produces a faint halo around text, code, thin lines and interface borders. If the point of the picture is that somebody can read what is on the screen in it, take a PNG instead. If the point is to show roughly what happened, JPG is the right trade.

Colour is stored at half resolution, which shows on text

Browser-recorded video is essentially always 4:2:0, meaning brightness is stored for every pixel and colour for one pixel in four. It is one of the oldest tricks in image compression and it works because human vision is far more sensitive to brightness than to hue.

It shows up in exactly one place, and it is a place screen recordings are full of: coloured text and thin coloured lines on a contrasting background. Red text on dark grey, a syntax-highlighted code sample, a coloured status badge — all of them arrive slightly fringed, and the JPG then compresses that fringe rather than removing it. It is a property of the recording rather than of this conversion, and it is the reason a still from a screen capture never looks quite as crisp as the screenshot you could have taken at the time.

Building a set of stills from one recording

A single conversion gives a single frame, so a sequence means converting repeatedly with different timestamps: convert at 12, then at 31, then at 47. Each one is a couple of seconds of work and the file is downloaded before you change the number.

That is a perfectly reasonable way to pull six illustrations out of a demo recording for a set of instructions, and it is faster than it sounds because nothing is uploaded between attempts. What it is not is a way to extract hundreds of frames — for that you want a command-line tool with a frame-rate flag, and saying so is more useful than pretending a browser form is the right shape for it.

A large recording that never leaves the machine

The arithmetic of this conversion is what makes uploading absurd. The input might be four hundred megabytes of screen capture; the output is two hundred kilobytes of picture. Sending the whole recording to a server so that it can send back a fraction of a per cent of it is a lot of network for a thumbnail.

Here the browser decodes the WebM with the codecs it already has, seeks to the second you asked for and encodes one frame. Nothing carrying the video moves, and the time the conversion takes is the time your machine needs to seek — which for a long recording is the only cost involved.

When the WebM has no picture in it at all

A fair number of WebM files are audio only — voice notes, recorded calls, clips saved out of a chat app. There is no video track in them, so there is no frame to take, and the conversion says exactly that rather than producing a blank image.

If that is the file you have, the thing you want is on the audio side: the same recording as an MP3 to listen to anywhere, or as a WAV to transcribe. A still image was never going to come out of it.

How to save a JPG frame from a WebM video

  1. Drop your WebM onto this page, or click to choose one.
  2. Type the number of seconds to the moment you want, then convert — the frame is decoded in your browser.
  3. Download the JPG, or change the timestamp and take another.

WebM and JPG: one moment out of a moving picture

WebM compared with JPG
WebMJPG
Full nameWebM VideoJPEG Image
File extension.webm.jpg, .jpeg, .jpe
Media typevideo/webmimage/jpeg
CompressionLossy — file size is bought with qualityLossy — file size is bought with quality
First published20101992
Published byGoogleJoint Photographic Experts Group
SpecificationITU-T T.81
LicensingOpen standardOpen standard
Standing todayCurrentCurrent
Bit depth8
Colour it can describeRGB, greyscale, YCbCr
Largest image65,535 px per side
Opens in a browserEvery browserEvery browser
Considered insteadMP4, MKVWebP, AVIF, HEIC

What is lost

JPG has no alpha channel. A transparent WebM comes out with those areas filled in — white unless something else is set — and no setting in JPG brings the transparency back.

Opening the result

The usual programs do not overlap: WebM opens in VLC and FFmpeg, JPG in Adobe Photoshop, GIMP and Preview — so whoever receives the result needs something from the second list.

What each format is for

JPG comes from Joint Photographic Experts Group and dates from 1992, specified as ITU-T T.81. Adobe Photoshop, GIMP and Preview all read it.

JPG was published in 1992 and WebM in 2010. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

WebM to JPG: choosing the frame, size and sharpness

Which frame do I get?

The one at the timestamp you type, in seconds from the start. The default is 0, which is the very first frame — and for a screen recording that is usually a blank desktop or the moment before anything happens. Type a number for the moment you actually want.

What resolution is the JPG?

Exactly the video’s own. A 1080p recording gives a 1920 by 1080 JPG; a 4K capture gives 3840 by 2160. Nothing is scaled up or down, because a video frame already has a real pixel count and inventing more of them would add no detail.

Why does the still look softer than the video did?

Because a video codec spends its bits on motion, not on any one frame. What you are seeing was always there — it is just that at 30 frames a second your eye averages it out and a still gives you a long look at a single one. Frames during fast movement or a scene change are softest; a static shot is sharpest. No output format can undo it.

Is the video uploaded to get one frame out of it?

No. The WebM is decoded in your browser and the frame encoded there too, so a several-hundred-megabyte recording never travels anywhere to produce a 200 KB picture. Most sites offering this conversion upload the whole video, which is a strange amount of work for the result.

What if I ask for a timestamp past the end?

The conversion stops and tells you how long the video actually is, so you can pick a number inside it. Nothing is guessed and no nearby frame is substituted quietly.

JPG or PNG for a frame from a screen recording?

PNG if the picture contains text, code or an interface you need readable — JPG’s compression puts a soft halo around hard edges. JPG if it is a photograph, a camera capture or anything you are attaching to an email, because it is a fraction of the size and nobody is going to inspect it.

More about these formats

Where these figures come from

The claims this page makes about WebM and JPG are checkable, and these are the documents that settle them.