Convert WebM to JXL

Converting WebM to JXL takes one frame from a recording and encodes it as JPEG XL, the ISO image format published in 2021. Before you commit an archive to it, read the second section: this path writes a lossy JXL at a fixed quality, which is not the property JPEG XL is usually chosen for.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. JXL 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.

Nothing asks for a JXL, so you chose it

Every other still format on this site has somebody demanding it. A records system specifies TIFF. A performance budget forces AVIF. An email needs a JPG and a bug report needs a PNG. JPEG XL has no such constituency: no upload form lists it, no archive standard requires it, and no colleague has ever asked for one.

That means this page owes you an assessment rather than instructions. You have read that JXL compresses better than what you are using and you are deciding whether to switch, which is a reasonable thing to be doing and is worth doing with the actual behaviour of this conversion in front of you rather than the format’s specification.

This writes a lossy JXL, which is the other thing

JPEG XL’s reputation rests substantially on lossless coding — it can store an image exactly, and it can repack an existing JPEG losslessly and smaller. Neither is what happens here. Frame extraction offers one option, the timestamp, and hands the decoded frame to the shared image encoder, which uses a fixed quality of 82.

Eighty-two is a sensible number for a photograph and it is still lossy. So a JXL produced on this page is a compressed approximation of a frame that was already a compressed approximation, and describing it as an archival master would be wrong twice over. If that is not what you expected, it is better to find out in a paragraph than in three years.

PNG is the lossless still this site can actually produce

If nothing further should be discarded, the PNG route is the one that delivers it. PNG stores exactly what the decoder produced and stops, and the resulting file then goes through a lossless optimisation pass that rewrites it more efficiently without changing a pixel.

The trade is size, and on screen content it is smaller than people expect, because large flat areas of one colour are the case PNG was designed for. Take the JXL when you have thousands of frames and per-image size is the constraint you are managing; take the PNG when the frame is evidence, documentation, or the only copy of something.

Where the smaller file actually pays for itself

One image at a smaller size is not worth changing your tooling for. A thousand images is a different arithmetic, and that is the case this conversion suits: a monitoring archive with a frame per recording, a research set sampled across hundreds of sessions, a personal collection where the storage bill is a real number.

At that scale a modern codec against an older one is a meaningful fraction of a disk, and the fact that few things open a JXL matters less, because the files are being read by your own scripts rather than passed around. The moment any of them has to be sent to somebody, the calculation reverses entirely.

Partial support is the risk you are taking on

The registry records browser support for JPEG XL as partial rather than universal, and lists GIMP and ImageMagick as the software that reads it. Both of those are accurate and both understate how awkward it is in practice: a JXL cannot be relied on to render in a web page, to preview in a file manager, or to open on somebody else’s machine.

Plan for that rather than discovering it. Keep a JPG or a PNG alongside anything that might need to be shown to a person, and treat the JXL as the stored copy rather than the working one. An archive whose format nobody can read is a backup with extra steps.

One frame per conversion, at the recording’s own size

The image comes out at the video’s native pixel dimensions with nothing scaled, and each conversion produces exactly one of them. Building a set means converting repeatedly with different timestamps — type a number, convert, download, change the number — which takes a couple of seconds a time because nothing is uploaded in between.

That is a reasonable way to pull a dozen stills out of a session and a poor way to pull a thousand. For a genuinely large sampling job, a command-line tool with a frame-rate flag is the right shape, and saying so is more useful than pretending a browser form scales to it. Use this for the frames somebody has chosen.

A frame full of text is the worst case for this path

JPEG XL, like the other modern still codecs, is tuned for photographic content: gradients, texture, detail that changes smoothly. Screen recordings are the opposite — hard edges, flat panels, thin lines and small type — and lossy encoders put a faint halo around exactly those transitions.

At quality 82 that halo is mild and it is there, and it lands on the part of a screen capture somebody actually needs to read. If the frame exists because an error string, a field value or a menu item has to be legible in it, this is the wrong conversion regardless of how the file sizes compare. That reader is served by the lossless route.

The habits that bring people to JXL come from cameras

Most of what makes JPEG XL interesting is about photographs. High bit depth for raw conversions, an alpha channel, EXIF and ICC profiles carried through an editing chain, lossless recompression of an existing JPEG library. Those are real advantages and none of them is reachable from a video frame.

The frame arrives through a canvas at eight bits per channel, fully opaque, with no camera metadata, no capture timestamp and no colour profile — because a browser recording never had any. What is left of the format’s case here is compression efficiency alone, which is a narrower argument than the one that usually persuades people to adopt it.

Archive stills made without sending the recording anywhere

The WebM is decoded in the tab with the codecs the browser already ships, one frame is encoded, and nothing carrying the video is transmitted. There is no account and no daily count, and the free tier accepts files up to 100 MB.

For this reader that is more than a principle, because the recordings being sampled are usually screen captures — sessions, dashboards, internal tools, whatever else happened to be visible. Uploading an entire recording to retrieve a single still is a poor trade even before anyone asks where it went.

How to save a WebM frame as a JXL image

  1. Decide whether you need lossless — if you do, take the PNG route instead, because this one writes a lossy JXL.
  2. Drop the WebM here, choose JXL, and set the timestamp to the moment you want.
  3. Keep a JPG or PNG alongside anything that might have to be opened by somebody else.

WebM and JXL: a browser recording and an ISO still format

WebM compared with JXL
WebMJXL
Full nameWebM VideoJPEG XL
File extension.webm.jxl
Media typevideo/webmimage/jxl
CompressionLossy — file size is bought with qualityEither, depending on the setting
First published20102021
Published byGoogleJoint Photographic Experts Group
SpecificationISO/IEC 18181
LicensingOpen standardOpen standard
Standing todayCurrentNiche
Bit depth32
Colour it can describeRGB, greyscale, wide gamut
Opens in a browserEvery browserSome browsers
Considered insteadMP4, MKVAVIF, WebP, PNG

What survives

Transparency survives. Both WebM and JXL store an alpha channel, so a cut-out stays cut out and nothing is filled in behind it.

Opening the result

Only some browsers read JXL. It is the less portable of the two, so it is worth being sure the program at the other end accepts it before sending one.

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

What each format is for

The two are aimed at different work: WebM at the web and streaming, JXL at archiving and photography. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

JXL comes from Joint Photographic Experts Group and dates from 2021, specified as ISO/IEC 18181. GIMP and ImageMagick all read it.

WebM to JXL: lossless coding, support and archives

Are my WebM files uploaded anywhere?

No. This conversion runs entirely inside your browser, so the file never leaves your device. You can confirm it yourself: open the network tab of your browser's developer tools and convert something. You will see the page load, plus the analytics and advertising the site is paid for with — and nothing carrying your file. The engine behind this particular pair is mediabunny, a wrapper around WebCodecs, which borrows your device's own hardware decoders; your browser fetches it once and caches it.

Is the JXL lossless?

No. This path writes it at a fixed quality of 82, because frame extraction offers a timestamp and no quality control. JPEG XL is capable of lossless coding and that is much of its reputation, but it is not what you get here. For a lossless still from a video, take the PNG.

What will open a JXL file?

GIMP and ImageMagick read it, as do a number of image viewers and command-line tools. Browser support is partial rather than universal, so it is not a format to put on a web page, and colleagues sent one will frequently be unable to open it at all.

Will it keep the extra colour depth of the recording?

No. The frame is read out through a canvas at eight bits per channel, so JXL’s much higher depth is unreachable on this path. Everything downstream sees ordinary eight-bit colour whatever the video contained.

Does the still carry any metadata?

None. JPEG XL can hold EXIF, XMP and an ICC profile, and a frame taken out of a video has no camera data, no timestamp and no profile to put in them. Whatever the archive needs to record about the image has to be recorded outside it.

Is JXL a safe format to archive in?

It is an ISO standard, published as ISO/IEC 18181, which is the strongest argument for it. It is also still niche, and a format read by few tools is a risk an archive carries for as long as it holds the files. Weigh the storage saving against that rather than treating either as decisive.

My WebM is a voice note and nothing comes out.

A great many WebM files are audio only, so there is no video track and no frame to take. The conversion says exactly that rather than producing a blank image; what you want in that case is on the audio side.

More about these formats