Resize Video
Resize video online free: downscale 4K to 1080p, change resolution, pick quality (CRF) to compress file size, and export web-ready MP4. MP4, WebM, MOV.
About Video Resizer
This online tool resizes video files directly in your browser. Change the resolution, fit/fill/stretch to a target size, pick an encoding quality (CRF) to control file size, and export a web-ready MP4 with audio preserved. Perfect for social-media specs, downscaling 4K to 1080p, and reducing file size for delivery. All processing happens locally for complete privacy.
What's the best resolution to resize my video to?
It depends on the destination. For most social media: 1080x1920 vertical for Reels, TikTok, Shorts, and Stories; 1080x1080 square for feed posts; 1920x1080 horizontal for YouTube landscape. For email or chat sharing, 1280x720 (HD) is usually plenty and keeps file sizes under 100 MB for typical clips. For professional delivery, match the platform spec exactly — YouTube accepts 4K (3840x2160) and 8K, but most viewers stream at 1080p anyway. As a rule, never upscale: enlarging a 720p video to 1080p adds no real detail and just inflates the file. Always downscale to the target resolution, never above the source. Match the source aspect ratio to avoid letterboxing or stretching, or use padding (black bars) to preserve content.
How do I hit a target file size — CRF or bitrate?
There are two ways to control output size. CRF (Constant Rate Factor) targets a constant perceptual quality and lets the bitrate float per scene — lower CRF means higher quality and a bigger file. Use it when quality matters more than an exact size: CRF 18 is near-transparent, 23 is a good general default, 28 is visibly compressed but small. This tool exposes CRF directly through the High/Medium/Low/Web presets. The alternative, two-pass average bitrate, locks a precise size: divide your size budget (in kilobits) by the duration in seconds to get the target kbps, then split ~90% to video and the rest to audio. For most resize-for-delivery jobs CRF is simpler and gives better quality per byte; reach for bitrate targeting only when a hard size cap (email limit, upload ceiling) must be met exactly.
What is faststart and why does it matter for web video?
An MP4 stores a 'moov atom' index that the player needs before it can begin playback. By default many encoders write it at the end of the file, so a browser must download the entire video before it can start — bad for progressive streaming. This tool always adds the +faststart flag, which moves the moov atom to the front of the file. The result starts playing as soon as the first bytes arrive, which is essential for HTML5 <video>, social previews, and any progressive-download delivery. It does not change quality or size meaningfully; it only reorders the file so it is web-ready.
What resolution presets match each platform spec?
Match the destination exactly to avoid re-compression and cropping by the platform. Vertical 9:16 (1080x1920) covers Instagram Reels/Stories, TikTok and YouTube Shorts. Square 1:1 (1080x1080) suits Instagram and Facebook feed posts. Horizontal 16:9 is 1920x1080 for standard YouTube and 3840x2160 for YouTube 4K. Twitter/X favors 1280x720 for fast loading. For client delivery, conform to the brief's spec rather than guessing. When changing aspect ratio, use Fill to crop the subject in, or keep Fit to preserve the whole frame with the platform adding its own bars.
Will resizing reduce video quality?
Downscaling (making the video smaller) is essentially lossless visually — you are throwing away pixels that the destination cannot show anyway. A high-quality downscaler like Lanczos or bicubic produces sharper results than nearest-neighbor or bilinear, especially when scaling by non-integer factors. Upscaling (making it larger) cannot create real detail; it interpolates between existing pixels, leaving the result soft. Modern AI upscalers (Real-ESRGAN, Topaz Video AI) can hallucinate plausible detail and look much better than classical upscaling, but they are CPU/GPU heavy and not yet practical in a browser. Re-encoding for the resize step also costs a small amount of quality — minimize this by using a high CRF (18-20) and the original codec when possible.

How does aspect ratio work and what is letterboxing?
Aspect ratio is the proportion of width to height: 16:9 for widescreen TV/YouTube, 9:16 for vertical phone video, 1:1 for Instagram square, 4:3 for legacy TV, 2.39:1 for cinema. If you resize a 16:9 video into a 9:16 frame without cropping, you must add empty space — typically black bars top and bottom (pillarboxing for vertical frames around horizontal content) or left and right (letterboxing for horizontal frames around vertical content). Alternatives: crop to fill (lose content on the edges), stretch to fill (distort the image — never recommended), or blur-and-fill (use a blurred copy of the same content as backdrop, common on TikTok/Reels). Pick crop for action where the subject is centered, blur-fill for talking heads, padding for archival fidelity.
Why is my output file larger than expected after resizing down?
A few likely reasons. First, the encoder you used has a higher default bitrate than the source — a 1080p H.264 source at 4 Mbps re-encoded to 720p but with the encoder defaulting to 5 Mbps will actually grow. Set an explicit CRF (22-24 for general use) or target bitrate proportional to the new pixel count (~50-60% of source bitrate when halving each dimension). Second, the source was a highly efficient HEVC/AV1 file and you re-encoded to less efficient H.264. Third, the resize was done with a low-quality filter that produces softer images, which counterintuitively encode larger because their high-frequency artifacts confuse motion estimation. Pick Lanczos for sharper results and smaller files.
What is the difference between scaling, cropping, and padding?
Scaling resizes the entire image to the new dimensions, preserving all content but changing the aspect ratio if not careful — often producing stretched or squished video. Cropping cuts away parts of the image to fit a new aspect ratio without distortion — you lose edge content but the visible region stays correctly proportioned. Padding (letterbox/pillarbox) keeps all original content but adds bars to fill the empty space. The most common combined operation is scale-then-pad: shrink the video to fit one dimension, then add bars on the other. FFmpeg expresses this with -vf "scale=w:h:force_original_aspect_ratio=decrease,pad=w:h:(ow-iw)/2:(oh-ih)/2". For cropping, scale then crop the excess to fit exactly.
Should I keep the original frame rate when resizing?
Yes, almost always. Changing frame rate (e.g., 60 fps to 30 fps) requires either dropping frames (every other frame discarded, sometimes producing judder) or applying motion interpolation (expensive and can introduce artifacts on fast action). For pure resizing of dimensions, the encoder reuses the same frame rate and timing as the source. If you specifically need a different frame rate — for example to match a target spec (Instagram requires 30 or 60 fps, not 24) — do the conversion explicitly with a motion-aware filter like minterpolate, or simply use -r 30 in FFmpeg for simple frame drop. Never blindly mix resize and frame rate change unless you understand the trade-off.
How do interpolation algorithms affect resize quality?
Nearest-neighbor copies the closest source pixel — fast, blocky, only good for pixel-art or extreme upscaling where you want to preserve hard edges. Bilinear averages four neighboring pixels — slightly blurry, low quality. Bicubic averages 16 neighbors with a smooth curve — better than bilinear, decent for downscaling. Lanczos uses a windowed sinc function over 36 or 64 pixels — sharpest results for downscale, the default for most professional pipelines including FFmpeg's scale filter (specify -sws_flags lanczos). For upscaling, Lanczos and bicubic both look soft; for AI-level results, dedicated upscalers (Real-ESRGAN, ESRGAN, Topaz) outperform any classical filter but require GPU compute. Picking the right filter usually saves more file size than tweaking the encoder.
Can I resize without re-encoding the video?
No — changing the resolution always requires decoding the original video, applying the resize filter to each frame, and re-encoding the result. This is unavoidable because pixel data is what changes. However, you can minimize the quality cost by re-encoding at a high quality level (CRF 18-20) and using the same codec as the source so the encoder works near its optimal point. If you only need to display the video at a different size (smaller in an HTML5 player), you don't need to re-encode at all — the browser scales the decoded frames at playback. Only physically resize the file when you need to reduce bandwidth, conform to platform specs, or save storage.
