Instagram accepts videos up to 1920 pixels on the long edge, and each placement — feed, Reels, Stories — collapses onto a fixed set of aspect ratios: 1:1, 4:5, 9:16, and 16:9. Resizing a video for Instagram means reshaping your clip so it lands cleanly inside one of those boxes before you upload it, which avoids the black bars Instagram adds when the source aspect ratio does not match and reduces the recompression Instagram applies on its servers. The fastest way to get there is to do that resize locally in a browser, where a tool decodes the file, redraws each frame at the new dimensions, and hands you a downloadable file without sending the source anywhere. Video Resizer does exactly that: it reads a local MP4, WebM, MOV, M4V, or Ogg file, accepts a width and height you enter, and emits a new WebM in either Fit (aspect-preserving) or Stretch (exact dimensions) mode while the current tab stays open.

What Instagram Demands from Your Video Dimensions
Most Instagram clips that look bad after upload were bad before upload — the source was the wrong shape, and Instagram's own pipeline stretched, cropped, or letterboxed it. Matching one of the four common ratios up front saves you from that automatic re-shaping and keeps detail where you framed it. The table below covers the placements you are most likely to hit.
| Placement | Aspect ratio | Common pixel size | When it fits |
|---|---|---|---|
| Feed (square) | 1:1 | 1080 × 1080 | Product shots, single-subject clips |
| Feed (portrait) | 4:5 | 1080 × 1350 | Maximum vertical real estate in the feed |
| Reels and Stories | 9:16 | 1080 × 1920 | Full-screen vertical playback |
| Landscape feed | 16:9 | 1920 × 1080 | Widescreen footage that needs to stay wide |
These are not Instagram's only accepted sizes — the platform will accept other widths as long as the long edge stays inside its limits — but starting from one of those four dimensions gives you the most consistent playback across phone and desktop feeds. Pick the placement first, write down its width and height, and you have the bounding box you will feed into the resizer.
Fit vs Stretch: Picking the Right Resize Mode
Video Resizer exposes two resize modes, and the choice matters when you are posting to Instagram because the platform will not silently fix distortion for you. Fit treats the width and height you enter as a bounding box. It picks the smaller of the two scale factors, multiplies the source width and height by that factor, and produces an output that fits inside the box without cropping and without distorting the picture. Stretch ignores the source aspect ratio and uses the exact width and height you typed, which lets you hit 1080 × 1920 from any source but warps the image whenever the source ratio is different.
For almost every Instagram clip, Fit is the right choice: a landscape source loaded into a 1080 × 1920 box comes out at 1080 wide and a proportionally shorter height, with empty space on the top and bottom that you can letterbox in post or accept as-is. Stretch only makes sense when you have a same-ratio source and need to lock the exact pixel dimensions — for example, a 9:16 vertical clip you want to guarantee renders at 1080 × 1920. If you want a tight crop instead of a letterbox, you need a different operation entirely — cropping coordinates from the source — which the resizer does not perform.
Resize a Video for Instagram Step by Step
Below is the practical flow for reshaping a local clip into an Instagram-ready file using Video Resizer.
- Open Video Resizer in your browser tab.
- Click the file picker and select one local MP4, WebM, MOV, M4V, or Ogg file. The source must be under 500 MiB, under five minutes long, no more than 4096 pixels per side, and within 3840 × 2160 pixels overall.
- Wait for the browser to decode the source and load its metadata. The interface will show the source resolution and duration once decoding finishes.
- Enter the maximum width and maximum height for your target Instagram placement. For a Reel or Story use 1080 × 1920; for a portrait feed clip use 1080 × 1350; for a square use 1080 × 1080.
- Choose Fit if you want the picture preserved and possibly letterboxed inside the box, or Stretch only when the source already matches the target ratio.
- Click Resize video and keep the tab in the foreground. The encode runs in real time, so a one-minute clip takes roughly a minute to finish.
- When the download link appears, save the resulting WebM and upload it to Instagram from the placement you sized it for.
The numeric work behind step 4 is worth seeing once. Suppose your source is 1920 × 1080 (a 16:9 widescreen clip) and you want to post it as a Reel. You enter the 9:16 target box of 1080 × 1920 and pick Fit. Fit calculates scale = min(1080 ÷ 1920, 1920 ÷ 1080) = min(0.5625, 1.7778) = 0.5625. Output width = 1920 × 0.5625 = 1080, output height = 1080 × 0.5625 = 607.5. Because the tool rounds odd values down to the nearest even number for encoder reliability, the final dimensions are 1080 × 606, and the clip is letterboxed inside the 1080 × 1920 Reel frame.
Sizing Limits, File Caps, and Output Caveats
The tool's input and output limits are not negotiable, so they decide whether a given Instagram clip can be processed at all. The interface refuses a source that breaks any of the upper bounds, and unsupported codecs, invalid dimensions, excessive source metadata, and empty encoder output fail visibly instead of producing a misleading download.
| Constraint | Limit | Why it exists |
|---|---|---|
| File size | Up to 500 MiB | Browser memory and decoder budgets |
| Duration | Up to 5 minutes | Real-time encode timing |
| Per-side pixels | No more than 4096 | Canvas size ceiling |
| Frame area | Within 3840 × 2160 | Decoder-safe source geometry |
| Target width and height | Integer 2 to 1920, even | Codec-friendly pixel alignment |
| Output format | WebM (VP9 or VP8) | Built-in browser codec availability |
| Encode speed | Real time | Frame-by-frame capture at up to 30 fps |
The WebM output is the part most people have to plan around. If the deliverable must be MP4 (H.264 or H.265), this tool will not give you one — you would need to re-wrap the file in a desktop encoder. Quality, bitrate, frame timing, audio layout, color metadata, and file size can all differ from the source because the tool is performing a real re-encode through a canvas, not just editing the dimensions in the container. If you depend on a specific bitrate ceiling for a sponsor or a specific color pipeline for grading, plan to verify the output or move to a desktop tool.
Where to Go When Resizing Is Not Enough
There are honest cases where resizing is the wrong first move. If you need frame-accurate delivery — say, a synced Reel cut to a music cue — the real-time canvas encode is too coarse. If your source is longer than five minutes, the tool will refuse it entirely. If the deliverable must be MP4 (H.264 or H.265), you will need a desktop encoder that can transcode WebM to MP4 in a single pass. If your source has subtitles, multiple audio tracks, or a surround mix, the resizer will collapse them into a single browser-exposed audio track and drop anything the decoder does not surface. If the source is protected by DRM, the browser decoder will not open it. And the tool does not upscale detail, so a low-resolution source sent into a 1080 × 1920 box will not magically look sharper than the pixels it came in with.
For those cases, the correct path is a dedicated desktop encoder such as HandBrake, Shutter Encoder, FFmpeg, or the editor your team already licenses. For everything else — short clips, a single audio track, WebM is acceptable, and the only thing standing between your file and Instagram is its pixel dimensions — Video Resizer handles the resize in your browser without ever uploading the source.