How to Batch Convert Videos on Windows Without Losing Quality
Batch converting a handful of clips sounds simple: point a tool at a folder, press go, walk away. In practice, it is where most people quietly lose quality without noticing. Files come in from different cameras, phones, and downloads, each with its own resolution, codec, and frame rate. A single global setting treats them all the same, and the weakest files pay for it. This guide covers how to batch convert video on Windows the right way, whether you use Expi, FFmpeg directly, or something in between.
Why batch conversion is harder than it looks
A single conversion is easy to reason about. You see the input, you pick the output, you check the result. A batch hides all of that.
- Mixed source formats. One folder can hold H.264 MP4s, HEVC clips from a phone, ProRes from an editor, and a stray AVI. These do not want identical settings.
- Per-file quality settings. A 4K clip and a 720p clip need different targets. If you set one bitrate for the whole queue, you either bloat the small files or starve the large ones.
- No progress feedback. Some tools give you a spinning cursor and nothing else. On a large batch, you cannot tell if it is working or stuck.
- CPU-only encoding. Software encoding is accurate but slow. Convert multiple videos on Windows without hardware acceleration and a batch that should take minutes takes hours.
The fix is not a faster button. It is choosing settings that adapt per file, and using the encoder hardware you already have.
Use CRF, not a fixed bitrate
The single most useful change you can make to a batch is to stop setting a bitrate.
A fixed bitrate forces every file to a target size regardless of how complex it is. A simple screen recording and a fast-moving action clip get the same budget, so one wastes space and the other looks blocky.
CRF (Constant Rate Factor) flips this. You set a quality level and the encoder spends whatever bits each file needs to hit it. Across a mixed batch, that is exactly what you want: consistent quality, variable size.
For H.264, CRF 18 is visually near-lossless, CRF 23 is a sensible default, and CRF 28 is noticeably compressed. In FFmpeg:
ffmpeg -i input.mp4 -c:v libx264 -crf 20 -preset slow -c:a copy output.mp4
Lower CRF means higher quality and larger files. Pick one value and it holds up across the whole folder, which is what makes it right for batch work.
Hardware acceleration on Windows
Software encoding gives you the best quality per bit, but it is slow. For a bulk video converter on Windows, hardware acceleration is usually the difference between a coffee break and an afternoon.
Windows machines expose one or more hardware encoders depending on the components inside:
- NVENC (NVIDIA). Present on most GeForce and RTX cards. Fast, good quality, supports H.264 and HEVC (and AV1 on newer cards).
- AMF (AMD). Available on Radeon GPUs. Similar idea, similar speed gains.
- Quick Sync (Intel). Built into most Intel CPUs with integrated graphics. Handy because you may have it even without a dedicated GPU.
To know which you have, check your hardware: NVIDIA GPU means NVENC, AMD GPU means AMF, and an Intel CPU with integrated graphics means Quick Sync. Many Windows 11 laptops have both an Intel CPU and a discrete GPU, so you may have two options.
Pick based on the tradeoff. Hardware encoders are dramatically faster but slightly less efficient than software x264 or x265 at the same quality. For archival masters, software CRF wins. For a large batch you need done today, hardware acceleration is the practical choice, and the quality gap is small at reasonable settings.
Containers vs codecs, briefly
A lot of batch mistakes come from confusing the container with the codec. They are different things.
- The container is the wrapper: MP4, MOV, MKV. It holds the video, audio, and metadata.
- The codec is how the video itself is encoded: H.264, HEVC, ProRes, AV1.
MP4 is a container that usually holds H.264 or HEVC. MOV is a container that often holds ProRes. When you set up a batch, you are choosing both. If you want to batch convert MP4 on Windows for playback, that typically means an MP4 container with H.264 video and AAC audio. Set the output container and the codec deliberately, not by habit, or you can end up with a file that plays nowhere useful.
Preserving audio across a batch
Video gets all the attention, but audio is where silent damage happens. Some tools re-encode audio to a low default bitrate on every file, so a batch that looks fine sounds slightly worse than the source.
Two safe approaches:
- Copy the audio stream when the source audio is already in a format your target supports.
-c:a copypasses it through untouched, no quality loss. - Re-encode at a sensible bitrate only when you must change format. For AAC, 192 kbps stereo is a reasonable floor for delivery.
The mistake to avoid is letting a tool downsample audio without telling you. Check the audio settings once before you run the batch, not after.
How Expi handles batch on Windows
Expi is a native Windows and macOS converter built on FFmpeg, designed so the batch workflow above does not require a command line. You drop a folder in, set the output once, and it applies to the whole queue. Pick your container and codec, choose CRF for quality, and Expi runs the queue with hardware acceleration (NVENC, AMF, or Quick Sync) when your hardware supports it.
Everything runs locally. Files are never uploaded, there are no size limits, and a folder of 4K footage stays on your machine. Because it is a native app rather than Electron or Java, it starts fast and stays responsive while a large batch encodes in the background. It supports 200-plus formats across video, audio, and image, so a mixed folder is not a problem.
Expi is a paid app with a free trial and a one-time purchase, so this is the honest tradeoff: it costs money where FFmpeg and HandBrake do not. If you convert video occasionally and are comfortable in a terminal, FFmpeg is free and excellent.
Where HandBrake fits
HandBrake is the most-recommended free tool, and it does have a queue. You can add multiple files and process them in sequence. For a straightforward batch to H.264, that works.
Its limits show up in management. Applying different settings per file is cumbersome, the queue interface is dated, and organizing a large or mixed batch takes patience. If every file in your folder wants the same treatment, HandBrake's queue is fine. If they do not, you will spend real time fighting it.
Common mistakes to avoid
- Lossy-to-lossy re-encoding. Every time you re-encode an already-compressed file, you lose a little more. Convert from the highest-quality source you have, not from a file you already compressed.
- Wrong audio mapping. On files with multiple audio tracks, a batch can grab the wrong one or drop it entirely. Confirm which track maps to the output.
- Using intermediate codecs as delivery. ProRes and DNxHR are editing formats. They are huge and not meant for playback or sharing. Do not batch a folder into ProRes if the goal is a file someone will stream.
Wrapping up
Batch video conversion on Windows 11 comes down to a few decisions made once and applied consistently. Use CRF so each file gets the quality it needs. Turn on the hardware encoder your machine already has. Set the container and codec on purpose. Leave the audio alone unless you have a reason to touch it. Do that, and a folder of mixed footage comes out the other side looking like the source, which is the whole point.
Try Expi free
The native Windows video converter built on FFmpeg. 200+ formats, hardware acceleration, all local. Free trial, no subscription.
Try Expi free