Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
JPG is the dominant still-image format; MKV (Matroska) is an open, royalty-free container built for high-quality video with multiple audio, subtitle, and chapter tracks. Converting JPG → MKV turns a stack of photos into a video file specifically tuned for self-hosted media libraries and archival workflows that prefer Matroska over MP4. Common reasons:
| Property | JPG (JPEG) | MKV (Matroska) |
|---|---|---|
| Media type | Still image | Video container |
| Typical codec | JPEG (DCT, lossy) | H.264 / H.265 / VP9 / AV1 / FFV1 |
| Audio tracks supported | None | Unlimited |
| Subtitle support | None | Multiple (SRT, ASS, PGS, VobSub) |
| Chapter markers | None | Yes |
| Container licensing | Open (free) | Open / royalty-free (CELLAR) |
| Native browser playback | Universal | Limited — needs VLC, mpv, or modern Chromium |
| Plex / Jellyfin Direct Play | As image only | Yes (with H.264 / H.265 inside) |
| Best for | Photos | Home-theatre libraries, archival masters |
| Feature | MKV | MP4 |
|---|---|---|
| Audio tracks | Unlimited | 1-2 practical |
| Embedded subtitles | SRT / ASS / PGS / VobSub | Limited (mov_text only) |
| Chapter markers | Native | Limited |
| Plex / Jellyfin Direct Play | Yes | Yes |
| iOS / iPhone native playback | No (needs VLC) | Yes |
| Social media upload (Reels, TikTok, YouTube) | Rejected by most | Universal |
Browser <video> tag |
Chromium only | Every browser |
| Best fit | Self-hosted libraries, archival | Web, social, mobile |
| Use case | Image duration | Effective frame rate |
|---|---|---|
| Slow photo slideshow (memorials, anniversaries) | 4-8 seconds per image | 0.125-0.25 fps |
| Standard slideshow (Plex Home Videos, presentations) | 2-4 seconds per image | 0.25-0.5 fps |
| Quick montage | 1 second per image | 1 fps |
| Stop-motion animation | 1/10 - 1/15 second per frame | 10-15 fps |
| Cinematic timelapse | 1/24 second per frame | 24 fps |
| Broadcast / smooth motion | 1/30 second per frame | 30 fps |
| High-frame-rate timelapse | 1/60 second per frame | 60 fps |
Yes — as long as the codec inside the MKV is supported by your client. H.264 inside MKV Direct Plays on every Plex / Jellyfin / Emby / Kodi client without transcoding. H.265 / HEVC Direct Plays on Apple TV 4K, NVIDIA Shield, Roku Ultra (2020+), modern Fire TV, and most browsers on Mac / iOS. For maximum compatibility across older clients pick H.264; for half the file size on modern clients pick H.265.
H.264 is the universal-compatibility default — every device released since 2010 plays it. H.265 (HEVC) gives roughly 50% smaller files at the same visual quality and is the standard for 4K HDR home libraries, but transcodes on older Roku / Chromecast hardware and pre-2017 phones. AV1 produces the smallest files of all but currently transcodes on most TVs (only AV1-decode-capable hardware from ~2020+ Direct Plays it). Pick H.264 for compatibility, H.265 for storage efficiency on modern hardware.
This converter produces a silent MKV from your JPG inputs — there's no audio in a still image to encode. The Audio Codec setting (AAC, MP3, AC-3, Opus, FLAC, Vorbis) governs the codec used if a downstream tool merges audio in. To add narration, convert here first, then use merge it with a video editor (DaVinci Resolve, Shotcut, CapCut, Adobe Premiere) to attach one or more tracks. MKV uniquely supports unlimited audio streams, so the resulting file can hold multiple language narrations simultaneously.
Output duration = number of images × image duration. 60 photos at 4 seconds each = 240 seconds (4 minutes). 1,800 timelapse frames at 1/30 second = 60 seconds. The duration setting applies uniformly to every JPG — for variable per-image timing, render in segments and concat downstream.
Each frame is scaled to fit inside the chosen output resolution while preserving the source aspect ratio. Empty space is filled with the background color you choose (black is standard for cinema-style letterbox; pick navy, white, or any of the 24 named colors for a styled look). For consistent results, resize JPG all images to the same dimensions before converting.
Most self-hosted libraries standardize on MKV because it stores unlimited audio tracks, native subtitles (SRT / ASS / PGS), and chapter markers — all features MP4 either lacks or supports awkwardly. PlexCleaner-style remux tools convert entire libraries to MKV for Direct Play optimization. If your audience is mobile or social, render MP4 instead; if it's a media server library, MKV is the canonical choice.
Yes — Video Trim sets a start time and duration on the rendered MKV, and Image Drop Frames takes every 2nd, 3rd, 4th, … frame from a long timelapse to shorten it without re-uploading a smaller set. To go the other way (extract stills from a finished MKV), see MKV to JPG afterward.
There's no hard cap on the number of JPGs, but Everything runs on our servers, so very large jobs (thousands of 4K images) depend on upload size and connection speed. For reference: 500 × 4K JPGs at 1 second each renders to a roughly 8-minute 4K MKV, typically 200-600 MB depending on codec and CRF.
Yes — MKV is the canonical container for VLC, mpv, MPC-HC, Kodi, and every desktop player on Linux / Windows / macOS. On iPhone or iPad, install the free VLC app to play MKV (the iOS Photos and Files apps don't decode it natively). Android and modern smart TVs play MKV out of the box.