How to resize any video to 1080p online
- Step 1Drop your clip onto the resizer — Drag in an
.mp4,.mov,.mkv,.webm,.avi,.m4v, or.tsfile (the accept list isvideo/*plus those extensions). Processing is local via FFmpeg.wasm — the file is never uploaded. The Free tier accepts a single file up to 1 GB. - Step 2Set Width to 1920 — Type
1920into the Width (px) box (allowed range 120–7680). This is the only number you need for standard 1080p — the height is derived for you in the next step. - Step 3Leave Lock aspect ratio ON — With the Lock aspect ratio toggle on (the default), the height you typed is ignored and the tool uses
scale=1920:-2:flags=lanczosto compute the matching height. The-2guarantees an even number so H.264 can encode it without error. A 16:9 source lands on exactly 1080. - Step 4Only touch Height if your source isn't 16:9 — If your source is 4:3, 9:16 vertical, or anamorphic and you want a forced 1920×1080 box (with distortion), turn Lock aspect ratio off and set Height (px) to
1080. Otherwise leave height at its auto setting — a non-16:9 clip with lock on will be 1920 wide but NOT 1080 tall, by design. - Step 5Run the resize — Click process. FFmpeg.wasm applies the Lanczos scale and re-encodes with
libx264 -preset medium -crf 20, copying the audio stream. A 1–2 minute 1080p clip finishes in well under a minute on a modern laptop; longer clips scale with duration. - Step 6Download the MP4 and verify the dimensions — The output is always
.mp4. Check the reported width × height before publishing — if you needed an exact 1920×1080 box and got 1920×1440 (a 4:3 source), re-run with Lock aspect ratio off, or crop to 16:9 first with the video cropper.
What you get at width = 1920 by source shape
With Lock aspect ratio ON, the tool sets width to 1920 and derives height from the source ratio via scale=1920:-2. "1080p" only results from a true 16:9 source. The -2 forces even output dimensions.
| Source resolution | Source ratio | Lock ON → output | True 1080p? |
|---|---|---|---|
| 3840×2160 (4K UHD) | 16:9 | 1920×1080 | Yes |
| 1280×720 | 16:9 | 1920×1080 (upscaled) | Yes (upscaled — no new detail) |
| 1440×1080 (HDV anamorphic) | 4:3 | 1920×1440 | No — taller than 1080 |
| 1080×1920 (phone vertical) | 9:16 | 1920×3414 (rounded even) | No — for vertical use a width like 1080 instead |
| 1920×1080 already | 16:9 | 1920×1080 (re-encoded only) | Yes — but a pure re-encode, not a resize |
Resizer controls and fixed encode settings
The three controls in the panel, plus the encode values that are hard-coded in the processor (no UI for them).
| Setting | Control / value | Notes |
|---|---|---|
| Width (px) | Number input, 120–7680 | The primary control. Enter 1920 for 1080p. 7680 ceiling = 8K width |
| Height (px · 0 = auto) | Number input, 0–4320 | Ignored when Lock aspect ratio is ON. Used only when lock is OFF for a forced box |
| Lock aspect ratio | Toggle, default ON | ON → scale=W:-2; OFF → scale=W:H. -2 keeps output dimensions even |
| Video codec | libx264 (fixed) | No codec picker — always H.264 in an MP4. For HEVC/AV1 use a sibling encoder |
| Quality | CRF 20, preset medium (fixed) | No CRF/preset slider here. For an exact bitrate use the bitrate setter |
| Audio | -c:a copy (stream-copy) | Original audio kept bit-for-bit; never re-encoded by the resizer |
Cookbook
Real width entries and the dimensions they produce. The arguments shown are exactly what FFmpeg.wasm runs under the hood.
4K phone clip → clean 1080p for YouTube
The most common job: a 3840×2160 recording is too big to upload comfortably. Width 1920, Lock ON. Because the source is a true 16:9, the derived height is exactly 1080.
Input: IMG_4821.mov 3840x2160 16:9 H.265 Control: Width = 1920, Lock aspect ratio = ON FFmpeg runs: -vf scale=1920:-2:flags=lanczos -c:v libx264 -preset medium -crf 20 -c:a copy Output: IMG_4821.mp4 1920x1080 H.264 + original audio
Upscaling a 720p export to a 1080p delivery spec
A client spec demands 1080p but your master is 1280×720. The tool will scale to 1920×1080 — but no new detail is invented. Lanczos sharpens the upscale better than bilinear, yet a 720p source upscaled stays soft.
Input: webinar_final.mp4 1280x720 16:9
Control: Width = 1920, Lock ON
Output: webinar_final.mp4 1920x1080
Note: pixel count quadruples; perceived sharpness does NOT.
Deliver the native 720p if the spec allows it.4:3 source — why Lock ON does not give 1080p
A 1440×1080 HDV capture is 4:3, not 16:9. Width 1920 + Lock ON keeps the 4:3 shape, so the height comes out at 1440, not 1080. This is correct behaviour, not a bug.
Input: archive_1998.mxf -> 1440x1080 4:3 Control: Width = 1920, Lock ON Output: 1920x1440 (still 4:3) To force a 16:9 1080p box (with pillarbox bars baked OUT), crop to 16:9 first with /video-tools/video-cropper, then resize.
Forced exact 1920×1080 box (distorts non-16:9 sources)
When a strict 1920×1080 container is required regardless of shape — e.g. a digital-signage player that rejects anything else — turn Lock OFF and set both numbers. A non-16:9 source will be stretched.
Control: Width = 1920, Height = 1080, Lock aspect ratio = OFF FFmpeg runs: -vf scale=1920:1080:flags=lanczos (no -2; exact box) Output: exactly 1920x1080. Warning: a 4:3 or vertical source will look stretched. For letterboxing instead of stretch, use the social formatters.
Vertical phone clip kept vertical at 1080 wide
A 1080×1920 vertical recording does not become "1080p" at width 1920 — it would become a huge 1920-wide frame. For vertical, set the WIDTH to 1080 and the height stays 1920.
Input: reel_raw.mp4 1080x1920 9:16 Control: Width = 1080, Lock ON Output: 1080x1920 (Full-HD vertical, ready for Reels/Shorts) For auto-letterbox/crop to a platform spec, see /video-tools/youtube-shorts-formatter.
Edge cases and what actually happens
16:9 source resizes to exactly 1920×1080
ExpectedWhen the source is a true 16:9 frame (3840×2160, 2560×1440, 1280×720, etc.), Width 1920 with Lock ON produces 1080 height every time via scale=1920:-2. The -2 rounds to the nearest even number, which is 1080 already, so there is no rounding drift.
Non-16:9 source does not land on 1080 height
By designWith Lock ON the tool only fixes the width and keeps the source ratio. A 4:3 source becomes 1920×1440; a 2.39:1 cinematic source becomes 1920×803. This is correct — to get a literal 1920×1080 box you must either crop to 16:9 first with the video cropper or turn Lock OFF and accept distortion.
Upscaling 720p or lower to 1080p
Supported (no new detail)The tool will happily scale a small source up to 1920 wide, but upscaling cannot recover detail that was never captured. Lanczos produces a sharper upscale than bilinear, yet the result is still a stretched 720p. Deliver the native resolution when the target spec permits it.
Odd source dimension produces an even output
PreservedSome screen recorders capture odd widths/heights (e.g. 1366×769). The -2 in scale=1920:-2 forces the output height to an even number — required because H.264's 4:2:0 chroma subsampling cannot encode odd dimensions. The 1-pixel rounding is invisible.
Width set above 7680 or below 120
RejectedThe Width input is clamped to 120–7680 in the UI. 7680 is the 8K width ceiling; below 120 there is no sensible video frame. If you need a thumbnail-sized output, use the thumbnail extractor for a still image instead.
Source already 1920×1080
Re-encode, not resizeDropping a clip that is already 1080p and setting width 1920 still runs a full libx264 CRF 20 pass — it re-encodes rather than resizing. If you only need a different container or faststart for web playback without scaling, use the web optimizer instead to avoid an unnecessary quality-costing pass.
Output is larger than you expected
ExpectedCRF 20 is a quality target, not a size target, so a complex high-motion clip can produce a sizeable MP4. The resizer does not aim at a file-size cap. If you need to fit a specific limit (email, Discord), resize first then pass the result through the email compressor or discord compressor.
HDR source resized to SDR-ish output
Watch tone mappingThe resizer does not tone-map HDR. A 10-bit HEVC HDR source re-encoded to 8-bit libx264 can look washed-out or dim because no HDR→SDR conversion happens. For HDR delivery use the video transcoder where you control the codec, or grade with the color grader before resizing.
Very large file on the Free tier
1 GB capFree tier accepts one file up to 1 GB. A long 4K master can exceed that — upgrade to Pro (10 GB) or Pro + Media (100 GB), or trim the clip first with the lossless trimmer family of editing tools to bring it under the cap before resizing.
Frequently asked questions
How do I resize a video to exactly 1080p for free?
Drop the clip onto the resizer, type 1920 into the Width box, and leave Lock aspect ratio ON. For a true 16:9 source that produces exactly 1920×1080. It is free on the Free tier for files up to 1 GB, runs entirely in your browser via FFmpeg.wasm, and never uploads your video.
Why do I only enter a width and not a height?
With Lock aspect ratio on (the default), the tool runs scale=1920:-2:flags=lanczos — it derives the height from your source's aspect ratio and rounds to the nearest even number. This keeps the picture from stretching. The Height box only matters when you turn Lock off to force a fixed box.
My 4:3 video came out 1920×1440, not 1920×1080. Why?
Because 4:3 is not 16:9. With Lock on, the tool keeps your source's shape and only fixes the width, so a 4:3 source at width 1920 is 1440 tall. To get a literal 1920×1080 frame, crop to 16:9 first with the video cropper, or turn Lock off and set Height to 1080 (which will stretch the picture).
Does resizing to 1080p reduce quality?
The Lanczos downscale is sharp, but the tool always re-encodes once with libx264 at CRF 20, so there is a single mild generation-loss pass. For downscaling from 4K this is visually clean. The audio is stream-copied, so the soundtrack loses nothing.
Can I upscale a 720p video to 1080p?
Yes — set width 1920 and the tool scales up with Lanczos. But upscaling cannot add detail that was never recorded, so a 720p source upscaled to 1080p will still look like 720p, just larger. Deliver the native resolution if the spec allows.
What format is the output?
Always MP4 with H.264 (libx264) video and your original audio track copied unchanged. There is no output-format picker on the resizer. If you need MKV, WebM, MOV, or a different codec, use the video transcoder.
Can I pick the codec, CRF, or bitrate?
Not on the resizer — codec (libx264), CRF (20), and preset (medium) are fixed for a predictable result. For HEVC/AV1 use the dedicated encoders; for an exact kbps target use the bitrate setter.
Is my video uploaded anywhere?
No. FFmpeg.wasm runs the entire resize inside your browser tab. The file never leaves your machine, which is why even confidential or unreleased footage is safe to resize here. Only an anonymous "file processed" counter is recorded server-side for dashboard stats.
What input formats can I resize?
MP4, MOV, MKV, WebM, AVI, M4V, and TS (the accept list is video/* plus those extensions). Whatever you drop in, the output comes back as MP4.
What's the biggest file I can resize?
Free tier: 1 GB, one file at a time. Pro: 10 GB, up to 5 files. Pro + Media: 100 GB, up to 50 files. Developer: 100 GB with unlimited batch count. The video pipeline streams, so there is no separate duration cap — only the file-size limit.
Will the audio go out of sync?
No. The resizer touches only the video frames; audio is stream-copied with -c:a copy, preserving the original timestamps and codec. A resize does not introduce A/V drift.
How is this different from cropping to 1080p?
Resizing scales the whole frame to a new resolution. Cropping cuts pixels away to change the framing or aspect ratio without scaling the kept region. To fix a non-16:9 source for true 1080p you crop first (with the video cropper), then resize.
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.