Convert MKV to JXL

Converting MKV to JXL takes one frame out of a recording and encodes it as JPEG XL, the modern still format that compresses better than JPEG and can also work losslessly. This path does not work losslessly, and if that is why you chose the format, the second section is the one to read before anything is filed — the rest of the page covers what it does do well.

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

Why an archive specifies JPEG XL in the first place

JPEG XL, standardised as ISO/IEC 18181-1 in 2022, is unusual in offering both a strong lossy mode and a true lossless one in the same format, along with wide colour and high bit depth. That combination is why preservation collections and research image sets have started naming it in their policies: one format for the master and the access copy, with no argument about which variant is which.

It is a good reason to choose the format and it is the reason this page has to be careful. A policy that says "JPEG XL, lossless" is not satisfied by a file that happens to have a .jxl extension, and the difference is not visible from the outside.

What this conversion actually writes, stated plainly

Lossy JPEG XL, at a fixed quality setting, every time. The encoder here is called with a quality figure and without the lossless flag, and there is no control on this page to change either. The image is visually clean and it is not bit-exact with the frame that was decoded.

That is a legitimate output for an illustration, a reference, a working copy or a card on a page. It is not a preservation master and nothing about the filename says so. If your requirement is no loss, the honest routes are a PNG or a TIFF from this same page — both of which store exactly what was decoded — or a desktop JPEG XL encoder run in lossless mode on one of those files.

What a lossless still from a recording would and would not preserve

It is worth being precise about what lossless means for this material, because the word does more work in a policy than it does in a codec. A lossless still preserves the decoded frame exactly. It does not preserve the original scene: the video codec already discarded a great deal when the recording was made, and that discarding is permanent.

So a lossless frame from an MKV is a perfect copy of an imperfect thing, and its size reflects that — codec noise and blocking are close to random, and random data is what lossless compression cannot reduce. For an archive that is usually still the right answer, because the point of the policy is that no further decision is made downstream. It is worth knowing that the file will be large and that the largeness is not buying detail.

Nothing in the file says which recording it came from

The image is written with no EXIF block, no colour profile, no source filename and no position in the recording. That is true of every still on this site — a decoded video frame has nothing to build those fields from — and it lands hardest on this reader, because a collection with a policy about compression almost certainly has one about cataloguing too.

The association therefore has to live outside the file, in the filename and in the record beside it. Naming each still with the source and the timestamp at the moment it is downloaded is a five-second habit that prevents an hour of reconciliation later, and it is the only place the information can go.

The support problem, without optimism

JPEG XL is read by fewer things than its merits deserve. Browser support is partial rather than universal, and outside the browser it is a handful of tools — GIMP, ImageMagick, a few viewers and converters — rather than everything that opens an image. Sending somebody a .jxl file is not a reasonable thing to do today.

For a stored archive that is a defensible risk, because the format is documented as an ISO standard and an archive expects to migrate its formats forward. For anything that has to be opened by a person on the other end of an email this week, it is the wrong choice, and JPG or PNG is the answer regardless of how much larger the file is.

Choosing the frame, which is the only control there is

The timestamp is the whole interface: seconds from the start, beginning at zero, accepting decimals and running up to a full day. On a long recording zero is a black frame or a slate, so the first useful action is to play the file, pause where you want it, and convert the elapsed time — one hour eight minutes is 4080.

Where the frame is placed changes the result more than any encoder setting would. A codec spends its bits on movement and describes the rest approximately, so a frame from a settled shot carries visibly more detail than one from the middle of a pan taken half a second earlier. For an archival still that is worth a second attempt at a slightly different second.

Full resolution, which is what a stored copy should be

There is no resize control, so the still comes out at the recording’s own dimensions — 1920 by 1080 from a 1080p source, 3840 by 2160 from a 4K one. For most uses on this site that is more than anyone needs; for a stored copy it is exactly right, because the largest version is the one every later derivative is made from.

What is not available in either direction is enlargement. Nothing here can produce a still larger than the recording, and any tool that offers to is generating pixels rather than recovering them — which for a collection with an integrity policy is a worse outcome than a small image.

Frames taken without the recording moving anywhere

Only as much of the file as is needed to reach the timestamp is read, and both the decoding and the JPEG XL encoding happen inside the browser tab. Nothing carrying the recording is sent to a server, which for restricted collections, embargoed research material or anything under an access agreement is usually the condition that decides whether a tool can be used at all.

The free tier accepts an MKV up to 100 MB. Archival recordings are frequently far past that, and the practical route there is to export the frame locally with ffmpeg to a PNG and encode from that — which is also the route that gets you a genuinely lossless JXL, so for this reader the two limitations point at the same answer.

How to take a JXL still out of an MKV

  1. Check whether your requirement is lossless — if it is, take the frame as a PNG or a TIFF instead.
  2. Otherwise drop the MKV onto this page and type the timestamp in seconds.
  3. Convert, download the .jxl, and rename it to carry the recording and the timestamp.

MKV and JXL: a long recording against an archival still

MKV compared with JXL
MKVJXL
Full nameMatroska VideoJPEG XL
File extension.mkv.jxl
Media typevideo/x-matroskaimage/jxl
CompressionLossy — file size is bought with qualityEither, depending on the setting
First published20022021
Published byJoint Photographic Experts Group
SpecificationMatroskaISO/IEC 18181
LicensingOpen standardOpen standard
Standing todayCurrentNiche
Bit depth32
Colour it can describeRGB, greyscale, wide gamut
Opens in a browserSome browsersSome browsers
Considered insteadMP4, WebMAVIF, WebP, PNG

Opening the result

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

What each format is for

MKV was published in 2002. The specification is Matroska, and it is worth reading if the file has to outlive the tool that wrote it.

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

MKV was published in 2002 and JXL in 2021. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

MKV to JXL: lossless mode, metadata and support

Are my MKV 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 JPEG XL this produces lossless?

No. JPEG XL has a genuine lossless mode and this path does not use it — the encoder is called with a quality setting and no lossless flag, so every file it writes is lossy. There is no control on the page to change that. If the requirement is no loss, take the frame as a PNG or a TIFF here, or encode the JXL yourself with a desktop encoder in lossless mode.

Would a lossless JXL of a video frame even be worth it?

It would be honest, which is the point when a policy is involved. It would not be small: a video frame carries the codec’s own noise and approximation, and lossless compression cannot help with either, so a lossless still from a recording is a large file preserving imperfect data perfectly. That is often exactly what an archive wants, and it is a decision for the archive rather than for a converter.

Does the file carry any metadata?

None. No EXIF, no source filename, no timestamp, no colour profile. For a collection with a cataloguing requirement that has to be handled entirely outside the file, in the filename and in whatever record accompanies it.

What will open a .jxl file?

Less than you would like. Browser support is partial rather than universal, and desktop support outside a handful of tools — GIMP, ImageMagick and a few viewers — is still thin. That is a reasonable risk for a stored archive that will be converted forward later, and a poor one for anything anybody has to open today.

How is the frame chosen?

By a timestamp in seconds from the start, which begins at zero. On a long recording zero is almost always black or a slate, so type the moment you actually want: an hour and eight minutes is 4080. Decimals are accepted.

What resolution do I get?

The recording’s own, unchanged. A 1080p source gives a 1920 by 1080 image and a 4K source gives 3840 by 2160. There is no resize control, which for an archive is the right default — the largest version is the one worth keeping.

More about these formats