How to crop a video to the instagram feed safe zone
- Step 1Decide the target shape — Posting to the feed as a square? Target 1:1 (1080×1080). Want the taller portrait that takes more screen real estate? Target 4:5 (1080×1350) — but your source must be at least 1350 px tall to crop to it without scaling. Want grid-safety only? A 1:1 crop covers the square thumbnail.
- Step 2Drop the file and let the picker load — The region picker paints frame 0 so you can see what you're framing. If the first frame is a black intro, the box will float over black — type coordinates instead, or trim the lead-in first.
- Step 3Draw the safe-zone box around what must survive — Drag a box that contains the face, caption, or product. For a 1:1 from a 1920×1080 source, the largest square is 1080×1080; centre it at X=420 (X = (1920−1080)/2). Slide the box left/right to keep your subject inside the square.
- Step 4Fine-tune to the exact pixels — Type the numbers for a clean target. 1:1 from 1080p:
Width=1080, Height=1080, X=420, Y=0. 4:5 from a 1080×1920 vertical source:Width=1080, Height=1350, X=0, Yset to keep faces in frame (e.g. 285 to centre). - Step 5Run the crop — JAD applies
crop=W:H:X:Y(W/H even) and re-encodes to MP4, H.264, CRF 20, audio copied. The output is exactly the rectangle you drew — Instagram won't need to re-crop it if the shape matches a supported feed ratio. - Step 6Confirm against Instagram's display — Play the MP4 and imagine the grid square (centre) and the feed frame. If a caption is touching an edge, re-run with a slightly looser box. For final platform-spec sizing or padding, the Instagram feed formatter handles fixed-size output.
Instagram feed shapes and the crop to hit them
Supported feed display ratios and the crop window that produces them. The cropper does not scale or pad — your source must already be large enough in the constrained dimension.
| Instagram surface | Ratio | Target px | Crop from a 1080×1920 source (X/Y/W/H) |
|---|---|---|---|
| Feed — square | 1:1 | 1080 × 1080 | 0 / 420 / 1080 / 1080 |
| Feed — portrait | 4:5 | 1080 × 1350 | 0 / 285 / 1080 / 1350 |
| Grid thumbnail | 1:1 (centre slice) | 1080 × 1080 | 0 / 420 / 1080 / 1080 |
| Feed — square from 16:9 | 1:1 | 1080 × 1080 | 420 / 0 / 1080 / 1080 (from 1920×1080) |
What this crop guarantees — and what it doesn't
Cropping controls the pixels you keep; it does not pad, scale, or track a subject. Map your need to the right tool.
| Goal | This cropper | If not, use |
|---|---|---|
| Keep a known region inside the square | Yes — draw/type the exact box | — |
| Auto-track a moving subject into frame | No — fixed rectangle only | auto-reframe |
| Output a fixed platform size with padding | No — crop only, no pad/scale | instagram-feed-formatter |
| Make a 9:16 Reel | Possible if source is tall enough; no scale | auto-reframe or solution horizontal-to-vertical-video-instagram-reels |
| Trim length to fit a feed limit | No — crops space, not time | lossless-trimmer |
Cookbook
Safe-zone crop recipes for the common source shapes creators actually have. Each shows the source, the inputs, and the FFmpeg filter.
1:1 square from a landscape 1920×1080 clip
The largest square inside 16:9 is 1080×1080. Centre it horizontally so the subject in the middle survives the grid thumbnail. X = (1920−1080)/2 = 420.
Source: 1920 × 1080 (landscape) Inputs: X=420 Y=0 Width=1080 Height=1080 FFmpeg runs: crop=1080:1080:420:0 Result: 1080×1080 MP4 — full-bleed square for feed + grid.
4:5 portrait from a vertical 1080×1920 clip
4:5 (1080×1350) takes more feed real estate than square. From a 1080×1920 source, keep full width and crop 570 px of height, centred (top crop 285).
Source: 1080 × 1920 (vertical) Math: Height = 1350, Y = (1920 - 1350)/2 = 285 Inputs: X=0 Y=285 Width=1080 Height=1350 FFmpeg runs: crop=1080:1350:0:285 Result: 1080×1350 MP4 — tall feed post, faces centred.
Bias the square toward an off-centre subject
Your speaker stands on the right third of a 1920×1080 frame. A centred square would cut them off. Slide the 1080 square right by setting a larger X.
Source: 1920 × 1080, subject around x≈1300 Inputs: X=760 Y=0 Width=1080 Height=1080 (X = 760 keeps 760..1840 — subject well inside) FFmpeg runs: crop=1080:1080:760:0 Result: 1080×1080 MP4 with the speaker centred in-square.
Square crop that protects a bottom caption
Your clip has a lower-third caption near the bottom of a 1080×1920 vertical. A centred 1:1 would cut it. Push the square down so the caption stays in.
Source: 1080 × 1920, caption around y≈1500 Inputs: X=0 Y=600 Width=1080 Height=1080 (keeps rows 600..1680 — caption at 1500 is inside) FFmpeg runs: crop=1080:1080:0:600 Result: 1080×1080 MP4 with the caption preserved.
Smaller-than-1080 source — crop what you have
A 720p (1280×720) source can't reach 1080×1080. Crop the largest square it can give (720×720); upscale separately if you need 1080.
Source: 1280 × 720 Math: largest square = 720, X = (1280-720)/2 = 280 Inputs: X=280 Y=0 Width=720 Height=720 FFmpeg runs: crop=720:720:280:0 Result: 720×720 MP4. For 1080×1080, upscale with video-resizer afterwards (note: upscaling can soften).
Edge cases and what actually happens
Target height exceeds the source height (4:5 from a short source)
Crop failed4:5 needs the source to be at least 1350 px tall (for a 1080-wide crop). If you ask for Height=1350 on a 1080-tall source, Y + Height exceeds the frame and the run aborts with Crop failed. Either crop a smaller 4:5 window or scale up first with video-resizer.
Expecting subject tracking to keep a moving person in frame
Not availableThis is a fixed-rectangle crop — it does not follow a moving subject. If your speaker walks across the frame, a static crop will eventually cut them off. Use auto-reframe, which tracks the subject and re-centres the crop over time.
Output isn't exactly 1080×1080 because the source is smaller
ExpectedThe cropper never scales up. A 720p source yields at most a 720×720 square. Instagram will accept it but display it slightly softer than a native 1080. Crop here for framing, then upscale to 1080 with video-resizer if you need the full resolution.
Instagram still re-crops your upload
Ratio mismatchInstagram only leaves a feed post untouched if it matches a supported ratio (1:1 or 4:5 for the standard feed). If your crop came out at, say, 1080×1100, Instagram will adjust it. Crop to an exact supported ratio — 1080×1080 or 1080×1350 — so the platform leaves it alone.
First frame is a black/branded intro, so you can't see your subject
ExpectedThe picker paints frame 0. If it's black, type your coordinates manually, or trim the intro first with lossless-trimmer so the picker shows a representative frame.
You want a fixed-size, padded output to a platform spec
Wrong toolThis tool crops; it never pads or scales to hit a fixed canvas. For guaranteed 1080×1080 (or 1080×1350) output regardless of source — including padding when needed — use the Instagram feed formatter.
Odd target like 1081 from a hand-drawn box
By designWidth/Height snap down to even (1081 → 1080). Since the canonical Instagram sizes (1080, 1350) are already even, you'll usually hit them exactly when you type them — just be aware drawn boxes round.
Audio-driven Reel where the soundtrack must stay exact
SupportedAudio is stream-copied (-c:a copy), so a beat-synced edit keeps its exact audio. The crop only touches video. If you also need to trim to a music cue, do that separately with the trimmer — this tool changes space, not time.
Source is already square but mis-framed
SupportedIf your source is 1080×1080 but the subject sits off-centre, you can't make a larger square — but you can crop a smaller centred window (e.g. 960×960) to re-frame, then upscale. Often better to re-shoot framing; cropping a square smaller loses resolution.
Posting the same clip to the grid and a Reel
Two cropsThe grid wants 1:1 and a Reel wants 9:16 — two different crops from one source. Crop the square here for the feed/grid, then make the vertical Reel with auto-reframe. One crop can't satisfy both shapes.
Frequently asked questions
What aspect ratios does Instagram's feed actually support?
The standard feed displays 1:1 (1080×1080) and 4:5 portrait (1080×1350). The profile grid renders posts as a 1:1 square thumbnail. Cropping to 1:1 keeps your framing intact in both the feed and the grid; 4:5 gives the post more vertical screen space in the feed.
Does this tool have an Instagram preset?
No — it crops the exact rectangle you draw or type, with no aspect presets. For Instagram, that means computing the size yourself (e.g. 1080×1080 centred at X=420 from a 1920×1080 source). If you want a one-click fixed-size output, use the Instagram feed formatter.
How do I make a 1:1 square from a landscape video?
Crop the largest square that fits the height. From 1920×1080, that's 1080×1080; centre it with X = (1920−1080)/2 = 420, so crop=1080:1080:420:0. Slide X to keep an off-centre subject inside the square.
Can I crop to 4:5 portrait?
Yes, if your source is tall enough. 4:5 at 1080 wide is 1080×1350, so the source must be at least 1350 px tall. From a 1080×1920 vertical clip, crop=1080:1350:0:285 centres a 4:5 window. If the source is shorter, the run fails — scale up first or crop a smaller 4:5 window.
Will Instagram re-crop my video after I upload it?
Only if the ratio doesn't match a supported feed shape. If you crop to exactly 1080×1080 or 1080×1350, Instagram leaves it as-is. An off-ratio crop (e.g. 1080×1100) will be adjusted by Instagram's own pipeline, which you don't control — so hit the exact ratio.
Does this keep my subject centred as they move?
No. This is a static crop — the rectangle stays put for the whole clip. A moving subject can walk out of a fixed crop. For subject-tracking that re-centres over time, use auto-reframe.
Is my campaign footage uploaded anywhere?
No. The crop runs in your browser with WebAssembly FFmpeg; the file never leaves your machine. The Free tier processes files up to 1 GB locally — useful for embargoed or client creative that can't go to a third-party server.
What quality and format is the output?
An MP4 with H.264 video at a fixed CRF 20 (visually high quality) and the original audio copied in unchanged. There's no quality slider. If you need a specific bitrate for Instagram's upload, follow up with video-bitrate-set.
My source is 720p — can I still get 1080×1080?
Not by cropping. The tool never upscales, so a 1280×720 source yields at most a 720×720 square. Crop the framing you want here, then upscale to 1080 with video-resizer; be aware upscaling softens detail.
How do I keep a bottom caption from being cut off?
Position the crop box so the caption row stays inside it. For a 1080-wide vertical source with a caption near the bottom, push the square's Y down (e.g. crop=1080:1080:0:600) so the caption falls within the kept window. The visual picker lets you see this directly on frame 0.
Can I crop to 9:16 for a Reel here?
Only if your source is tall enough to contain a 9:16 window without scaling — and it'd be a static crop. For Reels, auto-reframe or the solution horizontal-to-vertical-video-instagram-reels handle the conversion properly with tracking.
Does cropping change my audio?
No. Audio is stream-copied (-c:a copy), so a beat-synced or music-driven clip keeps its exact soundtrack. Only the video frame is cropped.
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.