How to batch-resize a folder of videos to a uniform resolution
- Step 1Confirm your tier supports batch — Batch resize needs a paid tier: Pro processes 5 files per run, Pro + Media 50, Developer unlimited. The Free tier processes a single file at a time (1 GB cap). If you're on Free, resize clips one by one or upgrade for bulk runs.
- Step 2Drop multiple clips at once — Drag a selection of files (or a folder's contents) onto the resizer. With a batch-capable tier, the dropzone accepts multiple files. Each can be any accepted format —
.mp4,.mov,.mkv,.webm,.avi,.m4v,.ts— and all process locally with no upload. - Step 3Set the Width once — Enter the target Width (px) a single time — it applies to every file in the batch. For a 720p-class library use 1280; for 1080p use 1920; pick whatever uniform width the destination requires.
- Step 4Decide your uniformity strategy with Lock aspect ratio — Lock ON (default): every clip gets the same width, with height following each clip's own ratio — heights differ for mixed-ratio inputs. Lock OFF: every clip is forced to the same exact width × height box (set both numbers), which stretches any clip whose ratio doesn't match. Choose based on whether your inputs share a ratio.
- Step 5Run the batch — Start the run. The tool processes each file in turn, applying the same Lanczos scale and
libx264 -preset medium -crf 20encode, copying audio, and writing an MP4 per input. Progress shows how many of the total have finished. - Step 6Collect the outputs and check per-file status — Each clip reports its own done/error result. Download the resized MP4s. If one file failed (e.g. a corrupt input), the rest still complete — re-run just the failed clip. For automated/scheduled bulk pipelines, the JAD runner can dispatch the same job locally outside the browser tab.
Batch file limits by tier
How many files you can resize per batch run, and the per-file size cap. The video pipeline streams, so there is no duration limit — only the size cap and batch count.
| Tier | Files per batch | Per-file size cap | Good for |
|---|---|---|---|
| Free | 1 (no batch) | 1 GB | Occasional single resize |
| Pro | 5 | 10 GB | Small sets, a handful of clips |
| Pro + Media | 50 | 100 GB | Media libraries, content batches |
| Developer | unlimited | 100 GB | Datasets, automated bulk pipelines |
Same width vs same box across a mixed batch
What 'uniform resolution' produces for a batch of mixed-ratio inputs, depending on the Lock setting.
| Inputs | Lock ON (Width 1280) | Lock OFF (1280×720) |
|---|---|---|
| 16:9 clip | 1280×720 | 1280×720 (correct) |
| 9:16 vertical clip | 1280×2276 | 1280×720 (stretched flat) |
| 4:3 clip | 1280×960 | 1280×720 (squashed) |
| Result | Same width, varied heights | Identical box, distorts mismatches |
Cookbook
Real batch-resize runs. Each shows the single setting applied across all files and what comes out.
Normalise a 16:9 product-clip library to 720p
A marketplace requires every product video at 1280×720. All sources are already 16:9, so Lock on gives a truly uniform 1280×720 across the batch.
Tier: Pro + Media (up to 50 files)
Drop: 32 product clips (all 16:9, mixed source sizes)
Control: Width = 1280, Lock ON
Each file -> -vf scale=1280:-2:flags=lanczos
-c:v libx264 -crf 20 -c:a copy
Output: 32x 1280x720 MP4 (uniform, same codec/quality)ML dataset normalised to a fixed box
A model expects every clip at exactly 640×360. The dataset has mixed ratios, so Lock is turned OFF to force the box — distortion is acceptable because the model trains on the warped frames consistently.
Tier: Developer (unlimited batch) Control: Width = 640, Height = 360, Lock OFF Each file -> -vf scale=640:360:flags=lanczos Output: every clip exactly 640x360 (some stretched, by design) Uniformity beats fidelity for the training pipeline.
Mixed-ratio set kept proportional (varied heights)
A content batch has 16:9 and vertical clips and you want each kept proportional at a shared width. Lock on gives the same width but different heights — fine for a feed that handles variable heights.
Control: Width = 1080, Lock ON 16:9 clip -> 1080x608 9:16 clip -> 1080x1920 4:5 clip -> 1080x1350 Same width, ratio preserved per clip. NOT a single box.
Pre-crop then batch-resize for a uniform box without stretch
To get an identical box AND no distortion across mixed ratios, normalise the ratio first (crop to 16:9), then batch-resize with Lock on.
Step 1: crop each clip to 16:9 with /video-tools/video-cropper Step 2: batch resize -> Width = 1280, Lock ON Result: every clip is a clean 1280x720, no stretch. Two steps, but uniform AND undistorted.
One bad file in a batch
A corrupt clip in the set fails its own job but doesn't stop the others. You re-run only the failure.
Batch of 12: 11 report 'done', 1 reports 'error' The 11 good MP4s are ready to download. Fix or replace the corrupt source, then resize that one file on its own.
Edge cases and what actually happens
Free tier can't batch
Tier limitThe Free tier processes one file at a time (1 GB cap) — dropping several files won't run them as a batch. Batch resizing requires Pro (5 files), Pro + Media (50), or Developer (unlimited). Upgrade or resize clips individually.
Mixed-ratio batch with Lock ON gives varied heights
By designLock on applies the same width to every clip but derives each height from that clip's own ratio, so a batch of 16:9 and vertical clips ends up with different heights. That's correct proportional behaviour. For an identical W×H, turn Lock off (distorts) or pre-crop ratios with the video cropper.
Lock OFF forces a box and stretches mismatched clips
Distortion (by design when OFF)Turning Lock off and setting both dimensions forces every file to the same exact box — clips whose ratio doesn't match get stretched or squashed. Acceptable for some ML datasets that need a fixed tensor shape; not for human-facing libraries. Pre-normalise ratios first if fidelity matters.
One file in the batch fails
Per-file errorEach file gets its own job and its own done/error status. A corrupt or unsupported input fails alone — the remaining files still complete and are downloadable. Re-run just the failed clip after fixing the source.
Batch count exceeds the tier limit
Rejected over capDropping more files than your tier allows (e.g. 8 files on Pro's 5-file limit) won't process the overflow. Split the set into runs within your cap, or upgrade — Pro + Media handles 50 per run and Developer is unlimited.
A single file exceeds the per-file GB cap
Size capThe batch count and the per-file size cap are separate limits — a 50-file batch on Pro + Media still requires each individual file to be under 100 GB. A single oversized clip will be rejected even if the count is within limits; trim or downscale that file first.
All outputs are MP4 regardless of input container
By designEvery file in the batch comes out as .mp4/H.264, even if the inputs were MOV, MKV, or AVI. This is usually exactly what you want for a uniform library. If the destination needs a different container, transcode the batch outputs with the video transcoder.
Need an unattended, scheduled bulk run
Use the runnerFor large or recurring dataset jobs you don't want to babysit in a browser tab, the JAD local runner can dispatch the same resize job outside the tab. The processing still happens locally on your machine — no clips are uploaded.
Frequently asked questions
Can I resize multiple videos at once?
Yes, on a paid tier. Drop several clips and the same Width and Lock aspect ratio setting is applied to every file in one run. Pro allows 5 files per batch, Pro + Media 50, and Developer unlimited. The Free tier processes one file at a time.
Will every clip come out at the exact same resolution?
Only if your inputs share an aspect ratio. With Lock aspect ratio on, every clip gets the same width but the height follows each clip's own ratio — so mixed 16:9/vertical inputs end up with different heights. For an identical W×H box, turn Lock off (which stretches mismatches) or crop the ratios uniform first.
How do I get a uniform box without stretching mixed-ratio clips?
Two steps: crop each clip to the same ratio (e.g. 16:9) with the video cropper, then batch-resize with Lock on. Every output then lands on the same width and height with no distortion.
How many files can I resize in one batch?
Pro: 5 files per run. Pro + Media: 50. Developer: unlimited. Free: 1 (no batch). These are batch-count limits — each file separately must also be under the tier's per-file size cap (1 GB Free, 10 GB Pro, 100 GB Pro + Media/Developer).
Are the clips uploaded for batch processing?
No. The entire batch runs in your browser via FFmpeg.wasm. A proprietary dataset or unreleased media library stays on your machine — nothing is uploaded. Only an anonymous processed-file counter is recorded for stats.
What if one file in the batch is corrupt?
Each file gets its own job and done/error status. A corrupt input fails on its own and the rest of the batch still completes and is downloadable. Just fix or replace the bad source and resize that one file again.
Can I run a scheduled or unattended bulk resize?
Yes — the JAD local runner can dispatch the resize job outside the browser tab for large or recurring dataset work. Processing still happens locally on your machine; no clips leave it. Pair the runner once, then send the same job repeatedly.
Do all clips use the same quality and codec?
Yes. Every file in the batch is encoded identically — H.264 (libx264), preset medium, CRF 20, audio stream-copied, MP4 output. That's what makes the batch a uniform set rather than a mix of encode profiles.
Can I set a different width per file?
No — batch applies one Width (and one Lock setting) to the whole run. For per-file widths, process those files in separate runs with different settings.
What output format does the batch produce?
Every output is MP4/H.264, regardless of whether the inputs were MOV, MKV, AVI, or WebM. That uniform container is usually exactly what a library or dataset wants. Transcode afterwards with the video transcoder if you need a different container.
I exceeded my tier's file count — what happens?
Files beyond your tier's batch limit won't process. Split the set into runs that fit your cap (e.g. two runs of 5 on Pro) or upgrade — Pro + Media handles 50 per run and Developer is unlimited.
Is there a limit on how long each video can be?
No duration cap — the video pipeline streams. Each file is bounded only by your tier's per-file size limit (1 GB Free, 10 GB Pro, 100 GB Pro + Media and Developer) and the batch count. Long clips are fine as long as they're under the size cap.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.