MKV to PNG converter
PNG is the output you choose when the still has to survive further work. It adds no lossy generation of its own — but it also cannot repair what the video encoder already threw away. This page is written as a short working session around one frame at 1.5 seconds.
Only one still frame is kept; audio, motion and the rest of the clip are discarded.
Processed on your device. Files aren’t sent anywhere.
The generation question
Every encoding is a generation. A recording is already one lossy generation of the scene it captured. Exporting that frame as JPG adds a second. Exporting it as PNG adds none.
Illustrative: Ana has a four-second MKV capture of a UI bug and needs the frame at 1.5 s placed beside a screenshot of the fixed build. She will overlay annotations and compare pixel differences, so a second lossy encoding would blur exactly the edges she is measuring. PNG is the choice that keeps the comparison honest.
PNG does not improve the frame. It stops the frame from getting worse.
The rule this route exists for
A working session at 1.5 seconds
Ana opens the MKV here, sets the timestamp slider to 1.5, and converts. There is nothing else to tune: this route has no quality control, because PNG is not a lossy format.
- Load the MKV; the first run pulls about 32 MB of WASM for the local worker
- Set the timestamp — half-second steps from 0 to 600 seconds, default 1 second
- Convert and download the PNG
- Open it at the size you will compare at, then annotate or diff against your reference
What PNG keeps and what it cannot bring back
PNG stores the decoded pixels exactly, so the frame you get is the frame the video held. Dimensions are unchanged, and the file is safe to re-save, crop and annotate without further degradation.
What it cannot do is restore detail the video encoder discarded. Block artefacts, banding in gradients and mushy text in a low-bitrate recording are part of the frame. PNG preserves that damage faithfully; only a better source recording can supply better pixels.
- Kept: exact pixel values of the decoded frame, unchanged dimensions
- Kept: editability — annotations and re-saves add no further loss
- Not kept: audio, motion, and every frame other than the selected one
- Not recoverable: detail the video encoder already discarded
There is no quality dial here
The JPG sibling route exposes quality 40–100. This one does not, and that is deliberate: a lossless encoder has no quality knob to offer. If you want a smaller file for delivery rather than a still you will keep editing, use MKV to JPG and accept one extra generation.
- PNG files are usually larger than JPG files for photographic frames
- For flat-colour UI captures PNG often wins on both size and sharpness
- No setting on this page is a quality percentage or a lossless WebP mode
Questions
Is my video sent to a server?
Why is the PNG bigger than the JPG?
Can this clean up a heavily compressed recording?
What happens if I set a timestamp past the end of the clip?
When PNG is the wrong answer
A single still cannot carry a sequence, and a lossless still is not always the file someone wants to receive. Match the output to the destination.
| Destination | Better route here |
|---|---|
| A thumbnail in a card or a mail attachment | MKV to JPG, quality 70–90 |
| A frame you will annotate, crop or diff | MKV to PNG, this page |
| A sequence a reviewer reads in a document | MKV to PDF contact sheet |
| A frame past roughly 2 megapixels or a file over 60 MiB | None of these routes — the source is refused |
The cost of the first run
Decoding happens in your browser through a single-threaded FFmpeg worker served from this same origin, so the first conversion loads about 32 MB of WASM before any frame is decoded. Later runs in the same tab are quicker. The worker is terminated after each conversion and whenever you cancel, which keeps memory from accumulating between jobs. The page must be served over HTTP(S); there is no cloud step and nothing is uploaded.
Coverage is bounded by what the vendored FFmpeg build can decode. This route is beta and is tested against an MJPEG-in-MKV fixture, so other codecs may fail rather than hand you a wrong frame.