Video Resizer
Resize video dimensions to any width and height with optional aspect ratio lock.

Click or drag and drop a video file

MP4, WebM, MOV — any video format

Video & Audio Tools

Video Resizer

Resize video dimensions to any width and height with optional aspect ratio lock.

Video Resizer changes frame dimensions to any width and height with an optional aspect-ratio lock. Presets include 1920×1080 (Full HD), 1280×720 (HD, default), 854×480 (SD), 640×360, or Custom (inputs allow 1–7680 × 1–4320). Maintain aspect ratio (default on) letterboxes with black bars; off stretches to fill.

A Hardware-Accelerated alert notes GPU/WebCodecs local processing — keep the tab open until resize completes. Output is always MP4 named {basename}_resized.mp4 with audio preserved.

How it works

mediabunny Conversion sets video.width to the target and processes each sample on an OffscreenCanvas(targetW, targetH). With the lock ON: scale = min(tw/ow, th/oh), draw centered over black fill (pillarbox/letterbox). Lock OFF: draw stretched to target size. Audio passes through; output is MP4 BufferTarget.

Intrinsic size is probed first via video metadata. An equivalent FFmpeg scale/pad arg builder exists in the feature but the UI path is WebCodecs.

How to use

  1. Open Video Resizer and read the Hardware-Accelerated alert.
  2. Drop a video (hint: MP4, WebM, MOV — any video format).
  3. Preview the source at original dimensions.
  4. Click a Preset (default 1280×720 (HD)) or Custom.
  5. Fine-tune Width (px) (≤7680) and Height (px) (≤4320).
  6. Toggle Maintain aspect ratio — ON letterboxes with black bars, OFF stretches.
  7. Click Resize Video (Resizing…) and watch progress % + speed log.
  8. Download ({basename}_resized.mp4) or Start Over.

Tips

  • Lock ON preserves composition (black bars); OFF only when you need exact pixel dims for embeds.
  • Upscaling past source resolution will not improve quality — prefer downscale for sharing.
  • Odd dimensions are fine on the canvas path (unlike some yuv420p FFmpeg pipelines).
  • Audio track is preserved; container is always MP4.

Video Resizer FAQ

Is this uploaded for processing?

No — conversions run locally in your browser (WebCodecs/GPU).

Why are there black bars?

That is Maintain aspect ratio ON — the frame is fit-inside and padded with black to reach the exact target.

Why is the button disabled?

Browser lacks VideoEncoder/VideoDecoder, or a resize is already running.

What format comes out?

Always MP4 ({name}_resized.mp4, video/mp4), with audio preserved.

Can I upscale beyond the source?

Inputs allow 1–7680×4320, but quality will not improve — prefer downscaling for sharing.

Credits

  • mediabunny — GPU resize pipeline with canvas letterboxing
ShareTweet

Command Palette

Search for a command to run...