Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
A .jfif is a plain JPEG — the JPEG File Interchange Format that Windows sometimes uses instead of .jpg — and WebM is a video container. So this is not a re-save; it is an encode. Your still picture becomes a short VP9 video clip of a fixed duration, which is exactly what you need for an HTML5 <video> background, a Discord or Telegram sticker-style loop, a placeholder shot in a timeline, or any player that will only accept video.
Two things are worth knowing before you start: the clip is silent (a photo carries no audio, and the audio controls are hidden on this page), and its length comes from the Image Duration setting, not from the file. Everything else is covered below.
.jfif onto the page or click "+ Add Files" to browse. The uploader also takes .jpg and .jpeg, and you can queue several images.| Property | Value |
|---|---|
| Container | WebM (Matroska-derived, from Google's 2010 WebM project) |
| Video codec | VP9 by default; VP8 and AV1 selectable |
| Audio | None — image sources produce a silent clip and the audio controls are hidden |
| Frame rate | 1 frame per second; the picture is static, so extra frames would be identical |
| Clip length | Image Duration × number of images (5 seconds for one image at the default) |
| Letterbox / pillarbox fill | The Background Color, white unless you change it |
| Resolution | Source size unless you set a resolution; long edge capped at 4096 px |
| Rate control offered | Quality Preset, Constant Quality, Constraint Quality — bitrate and target-size modes do not apply here |
| WebM (VP9) | MP4 (H.264) | GIF | APNG | |
|---|---|---|---|---|
| Browser support | ~96% global; Safari 16+, iOS Safari 17.4+ | Effectively universal | Universal | Chrome, Firefox, Safari, Edge |
| Colour depth | Full colour | Full colour | 256 colours max | Full colour |
| Transparency | No (video codecs discard alpha) | No | Yes, 1-bit | Yes, 8-bit |
| File size for a static shot | Smallest of the four | Small | Large | Large |
| Autoplay in feeds | Needs muted + playsinline |
Needs muted + playsinline |
Plays as an image | Plays as an image |
| Best for | Web-embedded loops, open-format pipelines | Maximum device compatibility | Chat and forums that reject video | Lossless short loops |
Because there is nothing to encode. A JPEG holds pixels and nothing else, so an image-sourced conversion has no audio stream to carry — that is why the audio codec controls are hidden on this page rather than left there to mislead you. If you need sound over the picture, produce the silent WebM here and add a track in a video editor, or build the clip in an editor from the start.
One image at the default settings gives you a 5-second clip. The Image Duration dropdown is the control: it runs from 1/60 s (a single frame) through fractional-second steps up to 10 seconds per frame. Upload several images and the length is the duration multiplied by the image count, so eight photos at 3 seconds each is a 24-second slideshow. If you need a specific total that the dropdown cannot hit exactly, pick the nearest value and trim the result in an editor.
Stay on VP9 unless you have a reason not to — it is the modern WebM workhorse, encodes quickly, and is what the ~96% support figure above refers to. Choose VP8 only if you must reach genuinely old Android or desktop builds that predate VP9. Choose AV1 if your destination is a modern browser or a platform that specifically prefers it and you want the smallest file; it encodes considerably more slowly, and for a static image the size advantage is modest because there is barely any motion to compress.
Because you set a resolution whose aspect ratio does not match the photo. The converter never stretches or crops your picture to fit — it letterboxes or pillarboxes and fills the leftover area with the Background Color, which starts at white. Set that dropdown to black (or any other colour in the list) if white looks wrong, or choose a resolution that matches your image's aspect ratio. Note that JPEG has no alpha channel, so the fill only ever appears around the picture, never through it.
Yes on current versions. Safari gained full WebM container support in Safari 16, and iOS Safari from 17.4, giving WebM roughly 96% global browser coverage. Older iPhones and older macOS builds will not play it, so if your audience includes them — or you are targeting a hardware player, a smart TV or a video-editing app with narrow codec support — encode JFIF to MP4 instead, which plays essentially everywhere.
Yes. Upload them all and leave Merge strategy on "Merge images" to get a single clip with each photo held for the Image Duration; switch it to "Video per image" if you want a separate WebM per file instead. The images are placed in the order they are listed, so name them in sequence before uploading. Frames are normalised to a common canvas, which means mixed aspect ratios will show the Background Color around the odd ones out.
Not for a still image. Our pipeline encodes image-sourced video at one frame per second, because every frame of a static picture is identical and duplicating it 30 times a second would only add bytes; players hold the frame on screen for its full duration exactly as you would expect. It matters in one situation: if you plan to import the clip into an editor and cut on precise sub-second boundaries, re-time or re-encode it to your project's frame rate first, since 1 fps gives you second-level cut granularity.
It is uploaded over an encrypted connection, encoded on our servers, and deleted automatically a few hours later — no sign-up, no watermark, never shared or made public. Very large source images are scaled so the long edge does not exceed 4096 px before encoding, which is well above what any normal delivery resolution needs; the real constraint on your end is upload size and time rather than anything about the image itself.