Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
Wrap a .jfif photo into a Matroska video clip that holds the still on screen for a duration you choose. A .jfif file is an ordinary JPEG that Windows saved under an unfamiliar extension, so this is really "JPEG to MKV" — the conversion you want when an editor, an archive pipeline, a Plex or Jellyfin library, or a media server expects a Matroska file rather than a loose image. The clip is silent and motionless by nature: a photograph has no audio and no second frame. Files are uploaded over an encrypted connection, converted on our servers, and deleted automatically after a few hours — no sign-up, no watermark.
.jfif onto the page or use the upload button to browse. .jpg and .jpeg work too, and with several images "Merge strategy" chooses between "Merge images" — one combined clip, pre-selected — and "Video per image"..mkv. Set "Background Color" first — White by default — if you are also changing "Video resolution" to a frame whose shape differs from the photo's.| Layer | What is written |
|---|---|
| Container | Matroska, an EBML-based container specified in IETF RFC 9559 (October 2024) |
| Video track | One track, H.264 by default, holding a motionless image |
| Audio track | None — a still photograph carries no audio, and no audio controls appear on this page |
| Frame rate | 1 fps, with B-frames disabled, since every frame is identical |
| Duration | Your "Duration" setting, multiplied by the image count when merging |
| Dimensions | Source pixels by default; every image is first re-rendered as a clean PNG capped at 4096 pixels on the long edge |
| Background fill | Used only when a chosen frame size changes the aspect ratio, filling the resulting bars |
| Codec | Quality control on this page | Use it when |
|---|---|---|
| H.264 (default) | CRF slider, 16–51 | Anything general purpose — every player, editor and media server decodes it |
| H.265 | CRF slider, 16–51 | You want a smaller file and the destination is known to support HEVC |
| VP9 / AV1 | CRF slider, 16–63 | You need a royalty-free codec or the smallest possible archive |
| MPEG-2 / MPEG-4 / Xvid / DivX | Quantiser slider, 1–31 | A legacy tool downstream insists on an older codec |
| MJPEG | Quantiser slider, 2–31 | Frame-accurate editing where every frame must be independent |
| Theora | Quality slider, 0–10 | An open-source pipeline that predates VP9 |
Note that the presets behave differently across those groups. On H.264, H.265, VP9 and AV1 the quality preset maps to a CRF value and works exactly as you would expect. On the older quantiser-based codecs the preset scales the source's bitrate — and a still photo has no bitrate to scale — so pick "Constant Quality" and set the number yourself if you switch to one of those.
No to both. The conversion holds one photograph on screen for the duration you set; there is no panning, zooming, or animation, and no audio track, because a still image contains neither. Upload several photos with "Merge images" and they play back to back as static frames with no transitions. Turning a photo into real motion footage is an editing job, not a format conversion.
H.264 by default. Matroska is a container rather than a codec, so it can carry almost anything, and the "Video Codec" control on this page exposes more than twenty choices including H.265, VP9, AV1, MPEG-2, MPEG-4, MJPEG, Theora, and several legacy Windows and Flash codecs. H.264 is the right default because it is the one thing that Plex, Jellyfin, Emby, Kodi, VLC, mpv and every non-linear editor will decode without an extra codec pack.
Because something downstream asked for Matroska. MKV holds the same H.264 video an MP4 would, but it is the preferred container in open-source and archival workflows: it can carry unlimited video, audio, subtitle and attachment tracks, and it stores chapters and metadata more flexibly. The trade-off is reach. Browsers do not support Matroska in the HTML5 <video> element, and many phones and smart TVs will not open an .mkv directly, so use JFIF to MP4 when the clip needs to play on arbitrary devices.
Almost certainly not. If an app refused to open a .jfif, the fix is an image-to-image conversion, not a video wrapper. JFIF to JPG hands you the same JPEG picture under a .jpg name that every viewer, editor and upload form accepts. Reach for MKV only when a specific tool, server or pipeline has told you it wants a Matroska video.
It does not. JFIF is the JPEG File Interchange Format — standardised as ITU-T T.871 in 2011, built on a 1992 specification from C-Cube Microsystems — and it simply defines a small APP0 header in front of ordinary JPEG data. Both .jfif and .jpg report the image/jpeg MIME type and hold the same compressed pixels. Windows hands some downloaded and pasted images the .jfif name because of its MIME registry entry, which is why software that balks at .jfif opens the identical file once it is renamed.
Much smaller than you would guess for a video, because H.264 encodes a motionless image extremely efficiently: the first frame carries the picture and every frame after it is nearly empty. Duration therefore has far less effect on size than frame dimensions do — doubling the runtime adds very little, while doubling the width and height adds a lot. If the file still comes out larger than you want, drop the quality preset or reduce "Video resolution".
Yes. Upload them all and leave "Merge strategy" on "Merge images": each photo is shown for the duration you set, played back to back in a single Matroska file. Total runtime is the per-image duration times the number of photos. Pick "Video per image" instead if the destination expects one file per slide.
Every uploaded image is normalised to a clean PNG before it reaches the video encoder, and that normalisation caps the long edge at 4096 pixels. It exists because the still-image input path is not dependable above that size — very large scans and camera raws with unusual colour profiles can stall the frame pipeline. A photo above 4096 pixels is scaled down to fit whether or not you touch the resolution controls; below it, "Keep original" writes the clip at the photo's exact dimensions.
It is uploaded over an encrypted connection, rendered and muxed into Matroska on our servers, and deleted automatically after a few hours. Nothing is shared, published, or indexed, and no account is required. The practical limit on a large batch is upload size and transfer time rather than anything about the images.