How to resize a video while keeping the aspect ratio
- Step 1Drop your clip onto the resizer — Drag in an
.mp4,.mov,.mkv,.webm,.avi,.m4v, or.tsfile. It processes locally in FFmpeg.wasm — no upload. The Free tier handles one file up to 1 GB. - Step 2Confirm Lock aspect ratio is ON — The Lock aspect ratio toggle is on by default. Leave it on for proportional, no-stretch resizing. While it's on, the tool uses
scale=W:-2:flags=lanczosand ignores whatever is in the Height box. - Step 3Enter only the Width — Type the target into Width (px) (range 120–7680). The matching height is computed for you. Examples: enter 1280 and a 16:9 source becomes 1280×720; enter 720 and a 9:16 vertical becomes 720×1280; enter 1440 and a 4:3 source becomes 1440×1080.
- Step 4Ignore the Height box (it's labelled 0 = auto) — You don't need to touch Height while Lock is on — it's overridden by the
-2auto-calculation. The '0 = auto' label is the hint. Only set Height if you intend to turn Lock off for a forced box. - Step 5Run the resize — Process the clip. FFmpeg.wasm applies the Lanczos scale at your width, computes the even height, re-encodes with
libx264 -preset medium -crf 20, and copies the audio. The result is always MP4. - Step 6Verify the proportional output — Check the reported dimensions — the ratio should match your source exactly. If you actually needed to change the aspect ratio (not just scale it), the resizer is the wrong tool: crop with the video cropper or letterbox/reframe with the auto-reframe tool instead.
Enter a width, get a proportional height (Lock ON)
How scale=W:-2 derives the height for each source ratio. The -2 rounds to the nearest even number — shown where rounding applies.
| Source | Source ratio | Width you enter | Auto height (rounded even) |
|---|---|---|---|
| 3840×2160 | 16:9 | 1280 | 720 |
| 1080×1920 (vertical) | 9:16 | 720 | 1280 |
| 1440×1080 | 4:3 | 960 | 720 |
| 1920×800 | 2.40:1 | 1280 | 534 (rounded from 533.3) |
| 1366×768 (odd width source) | ~16:9 | 1280 | 720 (forced even by -2) |
Lock ON vs Lock OFF behaviour
What each setting does at the filter level. Lock OFF can distort a source whose ratio doesn't match the W:H you enter.
| Setting | Filter applied | Height box | Result |
|---|---|---|---|
| Lock ON (default) | scale=W:-2:flags=lanczos | Ignored | Proportional, no stretch, even height |
| Lock OFF | scale=W:H:flags=lanczos | Used exactly | Forced box; stretches if ratio mismatched |
Cookbook
Real proportional-resize runs. Each shows the width entered and the auto-computed height FFmpeg.wasm produces.
16:9 downscale, height computed for you
The everyday case: enter a width and the height follows. No height math, no stretch risk.
Input: clip.mp4 1920x1080 16:9 Control: Width = 1280, Lock aspect ratio = ON FFmpeg runs: -vf scale=1280:-2:flags=lanczos Output: 1280x720 (ratio preserved exactly)
Vertical 9:16 stays vertical
For a phone-shot vertical clip, you set the WIDTH and the tall height is computed. Setting a large width here would enlarge it, so pick the width you actually want.
Input: reel.mp4 1080x1920 9:16 Control: Width = 720, Lock ON Output: 720x1280 (still 9:16, no distortion)
4:3 archive footage scaled proportionally
A 4:3 clip keeps its boxy shape. Enter 960 and the height comes out 720 — no pillarboxing, no stretch.
Input: vhs_capture.avi 1440x1080 4:3 Control: Width = 960, Lock ON Output: 960x720 (4:3 preserved) To make it 16:9 you'd crop, not resize: /video-tools/video-cropper
Cinematic 2.40:1 with odd-number rounding
Some ratios produce a fractional height. The -2 rounds to the nearest even number — here 533.3 becomes 534 — invisibly preserving the ratio while staying H.264-legal.
Input: film.mp4 1920x800 2.40:1 Control: Width = 1280, Lock ON Output: 1280x534 (rounded from 533.3 by -2) The 0.7px rounding is imperceptible.
Lock OFF on purpose — forced box (will stretch)
Occasionally a target device demands an exact W×H regardless of source shape. Turn Lock off and set both. A mismatched source distorts — this is the only way to do it and the tool warns by behaviour.
Control: Width = 1280, Height = 720, Lock OFF FFmpeg runs: -vf scale=1280:720:flags=lanczos A 4:3 source -> stretched into 16:9 (faces look wide). For a non-distorting fit, crop or letterbox instead.
Edge cases and what actually happens
Enter width only, height auto-fills proportionally
ExpectedWith Lock on, the Height box is ignored and scale=W:-2 computes the proportional height. This is the intended workflow — you should never need to type a height for a no-stretch resize.
Auto height is an odd number, rounded to even
By designSome source ratios produce a fractional or odd derived height (e.g. 533.3 for 2.40:1 at width 1280). The -2 rounds to the nearest even number because H.264 4:2:0 chroma can't encode odd dimensions. The sub-pixel rounding is imperceptible and prevents an encode error.
Height value entered while Lock is ON
IgnoredAnything you type in the Height box is ignored while Lock aspect ratio is on — the tool uses -2 instead. This surprises some users; the '0 = auto' label is the cue. Turn Lock off if you genuinely want to control the height.
Picture stretches because Lock was turned OFF
Distortion (by design when OFF)With Lock off, scale=W:H forces exactly the box you enter. If that W:H doesn't match the source ratio, the picture stretches or squashes. This is expected behaviour for a forced box — turn Lock back on, or crop with the video cropper for a no-distortion fit.
Trying to change aspect ratio, not just scale it
Wrong toolLocking the ratio scales the frame proportionally — it cannot turn 16:9 into 9:16. To actually change the aspect ratio without distortion you must crop (video cropper) or reframe with letterbox/smart-crop (auto-reframe).
Source has non-square pixels (anamorphic)
Watch display ratioSome DVD/HDV sources store non-square pixels with a separate display aspect ratio. The resizer scales the coded pixel dimensions; if the source relies on a SAR/DAR flag for correct display, the proportional result may still look stretched. For anamorphic sources, transcode with the video transcoder first to bake square pixels.
Width below 120 or above 7680
RejectedThe Width input is clamped to 120–7680. For a still thumbnail smaller than 120px use the thumbnail extractor instead; above 7680 exceeds the 8K width ceiling.
Source already at the target width
Re-encode, not resizeEntering the width the source already has still runs a full CRF 20 pass — it re-encodes proportionally to the same size. If you only need a container/faststart change without scaling, use the web optimizer to skip the unnecessary pass.
Frequently asked questions
How do I resize a video without stretching it?
Keep Lock aspect ratio on (it's the default) and enter only a Width. The tool runs scale=W:-2:flags=lanczos, which computes the proportional height and rounds it to an even number. The picture scales perfectly without distortion. You never have to type a height.
Why do I only enter a width?
Because with the ratio locked, the height is fully determined by your width and the source's aspect ratio. The -2 in the scale filter does the math and forces an even result. Typing a height would risk a mismatch — so the tool ignores the Height box while Lock is on.
What does the '0 = auto' on the Height box mean?
It's the hint that while Lock aspect ratio is on, the height is computed automatically (the -2 behaviour) and your Height entry is ignored. The box only takes effect when you turn Lock off to force an exact width × height box.
Why did the height come out as an odd-looking number like 534?
Some aspect ratios produce a fractional height (e.g. 533.3 for 2.40:1). The -2 rounds to the nearest even number because H.264 can't encode odd dimensions. The sub-pixel rounding is invisible and keeps the ratio essentially exact while avoiding an encode error.
Can I lock the height instead of the width?
The control is width-driven — you enter a width and the height follows. There isn't a separate 'lock height, enter width' mode. If you must hit a specific height, turn Lock off and set both width and height (accepting that a mismatched ratio will stretch).
What happens if I turn Lock aspect ratio off?
The tool uses scale=W:H with the exact width and height you enter. If that box doesn't match the source ratio, the picture stretches or squashes. Only turn Lock off when a target device demands a precise W×H regardless of shape.
Can I use this to change a 16:9 video into 9:16?
No — locking the ratio scales proportionally; it can't change the ratio. To convert 16:9 to vertical without distortion, crop with the video cropper or use auto-reframe for a smart-cropped/letterboxed result.
Does the resize change the audio?
No. Audio is stream-copied (-c:a copy), so the soundtrack is bit-identical to the source. Locking the ratio and rescaling the picture never touches the sound.
Is my video uploaded?
No. The proportional resize runs entirely in your browser via FFmpeg.wasm — the clip never leaves your machine. Only an anonymous processed-file counter is recorded for dashboard stats.
What format is the output?
Always MP4 with H.264 video and your original audio. There's no output-format picker on the resizer. For a different container or codec, use the video transcoder after resizing.
My anamorphic DVD rip still looks stretched after a locked resize. Why?
Anamorphic sources store non-square pixels and rely on a display-aspect flag. The resizer scales the coded pixels, so the display ratio can still be off. Transcode the source to square pixels first with the video transcoder, then resize.
What's the largest file I can resize proportionally?
Free: 1 GB, one file. Pro: 10 GB, up to 5 files. Pro + Media: 100 GB, up to 50 files. Developer: 100 GB, unlimited batch. The pipeline streams, so there's no duration cap — only file size.
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.