Skip to main content
Video Mender

Batch · runs on your device

Batch video converter

Queue as many videos as you like — mixed formats are fine — and Video Mender converts or compresses all of them locally, with real per-file progress and a scheduler that will not exhaust your device memory.

Nothing is uploaded

Drop video files here

MP4 · MOV · MKV · WebM · AVI · WMV · M4V · TS and more

Plays on effectively every browser, phone, TV and editor when it holds H.264 and AAC.

The universal baseline. Hardware decoding exists on essentially every device sold since 2010.

How to size the output

A constant quality target. File sizes vary with how demanding the footage is.

Files smaller than the limit are left alone. Capping usually looks better than lowering the bitrate.

Lossless and near-instant when it applies. It cannot reduce file size, so turn it off if you need a smaller file.

Platform presets — editable

These are dated observations, not permanent platform limits — all were last checked on 2026-08-01. Every one sets an ordinary target size you can edit afterwards.

Most browser video tools handle one file at a time, which is fine until you have forty clips off a camera card. This page is the batch surface: drop in a folder, apply one output setting to everything or override individual files, and work through the queue while watching what is genuinely happening to each one.

The scheduling is the part that matters and the part that is usually done badly. Video decoding holds uncompressed frames in memory, and a 4K frame is around 12 MB before anything else is allocated. Start four 4K jobs at once in a browser tab and it dies. Video Mender estimates the decoded memory each job needs, compares it against what the device reports, and picks a concurrency from that — which on Safari and iPhone means exactly one heavy job at a time, by design.

Progress is measured, not animated. Each file reports the phase it is actually in — inspecting, loading the engine, decoding, rewrapping or transcoding, finalising, validating — and the aggregate bar is weighted by the work each file represents rather than by how many files have finished. A job does not show as complete until its output container has been read back and verified.

You can mix conversions and compressions in the same queue. One file can be rewrapped from MKV to MP4 while the next is re-encoded to a 10 MB target, and each shows its own path and its own honest estimate.

What this actually does to your file

Rewrap or re-encode

Fast rewrap is enabled here, so a mixed queue will finish compatible files in seconds and spend its real time only on the files that genuinely need re-encoding.

Quality

Files taking the fast rewrap path are not re-encoded and lose nothing. Files that must be re-encoded are lossy, and the queue labels which is which per file before you start.

  • Finished outputs are held in memory until you download them. On a long queue, download as you go rather than accumulating everything.
  • ZIP archives are built from a selection you choose, and Video Mender refuses to build one that would obviously exceed available memory. Sequential download is always available instead.
  • Cancelling a running job stops it at the next safe point and releases its buffers; the rest of the queue keeps working.
  • Duplicate filenames in one queue are automatically de-duplicated in the output names so nothing is silently overwritten.

How to use this page

  1. Drop in files, or use the folder picker where your browser supports it.
  2. Set the output for the whole queue, then override any individual file that needs something different.
  3. Reorder or remove files before starting; the queue is fully editable until it runs.
  4. Press Start and watch per-file phases and the weighted overall progress.
  5. Download each result as it lands, or select several and take a ZIP with a manifest listing what was produced.

Where the result plays

Checked against the containers and codecs this page produces, stated conservatively.

TargetWorksDetail
Chrome, EdgeYesCross-origin isolated, so the multi-threaded engine and higher concurrency are available.
FirefoxYesMulti-threaded engine available; concurrency still capped by reported device memory.
Safari (macOS)PartlyRuns the single-threaded engine and one heavy job at a time. Slower but reliable.
iPhone and iPadPartlyStrictly one job at a time with tighter size limits, because the tab is killed aggressively under memory pressure.

The formats involved

FormatReadWriteWhat it is
MP4YesYesThe MPEG-4 Part 14 container. It is a wrapper, not a codec — an MP4 usually holds H.264 or HEVC video with AAC audio.
MOVYesYesApple QuickTime. Structurally a close cousin of MP4, which is why MOV files can often be rewrapped to MP4 with no re-encode.
MKVYesYesMatroska. The most permissive common container: it will carry almost any codec, plus multiple audio tracks, chapters and subtitles.
WebMYesYesA deliberately restricted Matroska profile for the web: VP8/VP9/AV1 video with Opus or Vorbis audio, and nothing else.
AVIYesYesMicrosoft Audio Video Interleave, from 1992. No native support for modern per-frame timing, B-frame handling is fragile, and the index sits at the end of the file.
WMVYesNoWindows Media Video inside an ASF container. The video is normally WMV3/VC-1, which nothing outside the Microsoft stack decodes reliably.
M4VYesYesApple's MP4 variant used by iTunes. Byte-for-byte it is an MP4; the extension exists so iTunes can flag optional FairPlay DRM.
TSYesNoMPEG transport stream: a broadcast and HLS format built for streams that can be joined mid-flow, so it has no single global header.
MTS / M2TSYesNoAVCHD camcorder recordings — an MPEG transport stream with 192-byte timestamped packets instead of the usual 188.
VOBYesNoDVD Video Object: an MPEG-2 program stream that also carries DVD menus, subtitle streams and multiple angles.
3GPYesYesThe 3GPP mobile container from the pre-smartphone era. Same ISO base structure as MP4, usually holding low-resolution MPEG-4 video and AMR narrowband speech audio.
FLVYesNoFlash Video. Flash Player reached end of life on 31 December 2020, so FLV files now need converting simply to stay watchable.

Tested limits

Real ceilings measured on real devices, not a marketing claim of unlimited.

LimitDesktopiPhone / iPadWhy
File size — rewrap1.3 GiB384 MiBRewrapping never decodes a frame, so it tolerates far larger files.
File size — re-encode1.0 GiB256 MiBDecoding holds uncompressed frames in memory, which is the real constraint.
Clip length — re-encode4:00:0030:00Beyond this, progress reporting and memory behaviour stop being dependable.
Resolution — re-encode4096 × 21601920 × 1080A 4K frame is about 12 MB decoded, before the encoder allocates anything.

If something goes wrong

Why is only one file processing at a time?

Because the scheduler decided that is what your device can safely do. Concurrency comes from reported device memory and the estimated decoded frame size of the queued jobs; on Safari and iOS it is deliberately pinned to one.

One file failed and the rest kept going.

That is intended. A failure is isolated to its own job, the reason is shown on that row, and Retry re-runs just that file without disturbing the queue.

The tab became unresponsive with a big batch.

Most likely accumulated finished outputs rather than the processing itself. Download results as they complete, and avoid ZIPping a very large selection.

Progress seemed to stall near the end of a file.

That is the validation phase: the output is read back and its container and streams checked before the job is reported as done. It is brief but real, and it is why progress never reaches 100% early.

Your video never leaves this device

This is a structural property of the application, not a policy we ask you to take on trust. There is no upload endpoint, no API route and no server action anywhere in the codebase, so there is nowhere for a video to be sent even by mistake.

  • Conversion runs in WebAssembly inside this browser tab. The engine is served from this domain and loaded only when you start a job.
  • The Content-Security-Policy restricts network connections to this origin, so the page is not permitted to contact a third party at all.
  • Nothing is stored. Close the tab and every queued file and finished output is gone — which is also why you should download results before you leave.
  • There are no accounts and no AI. Anonymous page views are counted — which page, roughly what country, what kind of device — and nothing whatsoever about your files.

The repository contains a test that fails the build if any media byte is passed to fetch, XMLHttpRequest, sendBeacon or a WebSocket. See the privacy page for how that is verified.

Questions

How many videos can I convert at once?

There is no fixed cap on the queue length. What is limited is how many run simultaneously, which the scheduler derives from your device memory — often two or three on a desktop, and exactly one on iPhone.

Can I mix formats in one batch?

Yes. MKV, AVI, MOV, WMV, TS and the rest can sit in the same queue with different output settings each, and conversions and compressions can be mixed freely.

Can I download everything as a ZIP?

Yes, for a selection you choose. Video Mender will not hold dozens of large output blobs in memory purely to make a ZIP possible, so for big batches it recommends sequential download and says why.

What happens if I close the tab mid-batch?

The work stops and nothing is retained — there is no server-side job to resume and nothing was stored. Undownloaded results are lost, which is the direct consequence of never uploading anything.

Does batch processing upload my files?

No. Every file is processed in this tab by WebAssembly. There is no upload endpoint, no API route and no server action in this application, and the test suite asserts that no media bytes cross the network.

Can I pause a running batch?

You can stop the queue from starting further files while the current one finishes, and you can cancel individual jobs. Suspending a half-finished encode and resuming it later is not offered, because the engine cannot do it honestly.

Related tools