How to prepare a reel from a landscape clip for instagram
- Step 1Decide: real Reel (9:16) or tall feed post (4:5)? — If you want a full-screen vertical Reel, this formatter is not the tool — go to auto-reframe for 16:9 → 9:16. If you want the tallest feed post from the landscape clip (or both), continue here for the 4:5 version.
- Step 2Drop your landscape clip — Open instagram-feed-formatter and drop the 16:9 file. FFmpeg.wasm reads it locally — no upload. Free tier handles one file up to 1 GB.
- Step 3Set Ratio to 4:5 — Choose
4:5for the tallest feed footprint from a landscape source. (The only other option is1:1; there is no 9:16 here.) The crop keeps the centre column and drops the sides. - Step 4Verify the subject is centred — A 16:9 → 4:5 crop is aggressive on width. The centre crop has no subject tracking, so check the speaker/action is mid-frame. If not, reframe with video-cropper, or use auto-reframe which can track the subject for the 9:16 version.
- Step 5Mind the 60-second cap — Over-length landscape clips are trimmed to the first 60 seconds. For a moment later in the clip, cut it first with lossless-trimmer.
- Step 6Run, then make the 9:16 Reel separately — Download the 4:5 feed MP4. For the actual Reel, run the same landscape source through auto-reframe to get a true 9:16 vertical — two outputs, two surfaces, one source clip.
Reel vs feed: which ratio, which tool
What each Instagram surface wants and where to produce it. This tool covers only the feed ratios.
| Surface | Ratio | Tool |
|---|---|---|
| Reel / Story (full-screen vertical) | 9:16 (1080×1920) | auto-reframe or youtube-shorts-formatter — NOT this tool |
| Feed post (tall) | 4:5 (1080×1350) | This tool, Ratio = 4:5 |
| Feed post (square) | 1:1 (1350×1350) | This tool, Ratio = 1:1 |
| 9:16 in the feed | Pillarboxed (avoid) | Don't — feed boxes the sides; post 4:5 instead |
Landscape → 4:5 feed: the actual pass
What runSocialFormat does to a 16:9 clip at Ratio = 4:5.
| Stage | What runs | Note |
|---|---|---|
| Crop | crop=864:1080:(in_w-864)/2:0 (for 1920-wide) | Keeps centre 864px column of a 1920px-wide 16:9 frame — heavy side crop |
| Scale | scale=1080:1350:flags=lanczos | To the 4:5 feed target |
| Encode | libx264 -preset medium -crf 20 -pix_fmt yuv420p | H.264 the IG app expects |
| Audio | -c:a aac -b:a 128k | Re-encoded and kept |
| Length | -t 60 | First 60 s only |
| Mux | -movflags +faststart | Progressive playback |
Cookbook
Real landscape-to-Reel/feed workflows. The 4:5 crop math is exactly what runSocialFormat applies; the 9:16 step is a sibling tool.
Both surfaces from one landscape clip
A 1920×1080 landscape clip you want on Reels AND as a tall feed post. Two passes, two tools: auto-reframe for the genuine 9:16 Reel, this formatter's 4:5 for the feed.
Source: 1920x1080 (16:9 landscape)
Reel (9:16): auto-reframe → 1080x1920 vertical (can track subject)
Feed (4:5): instagram-feed-formatter Ratio 4:5
crop=864:1080 centre → scale 1080x1350
Result: one source → a real Reel + a tall feed post.Why not just post the landscape clip as a Reel
Uploading a raw 16:9 clip as a Reel leaves big black bars top and bottom — it looks like a mistake on a full-screen surface. The fix is a real 9:16 conversion, not this feed formatter.
Wrong: upload 1920x1080 as a Reel → letterboxed with black bars, looks unfinished Right: auto-reframe → 1080x1920 fills the screen (this feed formatter outputs 4:5/1:1, NOT 9:16)
Landscape interview: 4:5 feed cut keeps the centre speaker
A 16:9 interview with one centred speaker. The 4:5 crop keeps the speaker and drops empty side framing — a clean tall feed post. For the Reel, auto-reframe can follow the speaker if they move.
Source: 1920x1080, single speaker centred This tool, Ratio 4:5: crop=864:1080:(1920-864)/2:0 → keeps centred speaker scale 1080x1350, H.264 CRF 20 For the 9:16 Reel: auto-reframe (subject tracking).
Pick a 60-second hook from a long landscape clip
A 4-minute landscape clip. Trim the hook first, then produce the 4:5 feed version (and the 9:16 Reel separately) — the formatter alone would only keep the first minute.
Source: 240s, 1920x1080 Goal: 4:5 feed post of the 1:00–2:00 hook 1. lossless-trimmer → cut 60–120s (stream-copy, instant) 2. instagram-feed-formatter → Ratio 4:5 → 1080x1350 (For the Reel: same trimmed clip → auto-reframe → 9:16)
Wide action shot loses the edges in 4:5
A landscape clip where the action sweeps across the full width. The 4:5 centre crop keeps only the middle, clipping the edges of the action. A 9:16 reframe with tracking, or a 1:1 crop (wider centre column), preserves more.
Source: 1920x1080, action spans full width Ratio 4:5 → keeps centre 864px → edge action lost Better: - Ratio 1:1 → centre 1080px (keeps more width) - auto-reframe → 9:16 with subject tracking - video-cropper → manual reframe before formatting
Edge cases and what actually happens
Expecting a 9:16 Reel from this tool
Wrong toolThis formatter outputs only 1:1 and 4:5 — the feed ratios. It cannot produce a 9:16 Reel. For a true full-screen vertical Reel from landscape, use auto-reframe (16:9 → 9:16, with subject tracking) or youtube-shorts-formatter.
Posting 4:5 output as a Reel
PillarboxedA 4:5 clip uploaded as a Reel won't fill the screen — Reels are 9:16, so a 4:5 clip is letterboxed there. Use 4:5 for the feed and a real 9:16 export for the Reel. The two surfaces need different ratios; this tool only serves the feed side.
Wide subject clipped by the centre crop
By design16:9 → 4:5 keeps only the centre column (no subject tracking), so action or subjects near the edges are lost. Reframe with video-cropper, or use auto-reframe for the 9:16 version where tracking can follow a moving subject.
Source longer than 60 seconds
By designThe 4:5 pass keeps only the first 60 seconds (-t 60). Reels can run longer than feed posts, so if your Reel needs more than a minute, do the length-sensitive work in the 9:16 tool and use a trimmed segment here for the feed version.
Could not determine video dimensions
ErrorIf FFmpeg.wasm can't probe the landscape clip's dimensions, the pass throws before encoding. Re-mux with web-optimizer or transcode with video-transcoder, then retry.
Black bars already baked into the landscape clip
By designIf the source already has letterbox/pillarbox bars, the centre crop keeps them. Remove the bars first with video-cropper so neither the feed post nor the Reel source is framed by black.
10-bit landscape source flattened to SDR
ExpectedOutput is yuv420p 8-bit, so a 10-bit landscape clip is converted to 8-bit SDR with no tone mapping — colour may shift. Grade to SDR before formatting if the look matters; the priority here is Instagram-app compatibility.
Silent landscape clip
SupportedA clip with no audio formats fine to 4:5; the AAC step has nothing to encode. The output is a valid 1080×1350 MP4. For Reels, audio (music or voice) usually matters more — add it in the 9:16 workflow.
Odd-pixel landscape export
PreservedEven crop and output dimensions are enforced before encoding, so a non-standard landscape export won't trip libx264's even-dimension requirement. 1080×1350 is even, so the 4:5 target is always valid.
Landscape file exceeds the tier size limit
Tier limitFree: 1 GB / 1 file; Pro: 10 GB / 5; Pro + Media: 100 GB / 50; Developer: 100 GB / unlimited. A long high-bitrate landscape master can exceed 1 GB — trim or transcode first, or upgrade.
Frequently asked questions
Can this tool turn my landscape clip into a Reel?
Not directly — it outputs only the feed ratios (1:1 and 4:5), and a Reel is 9:16. The honest workflow is: use auto-reframe (16:9 → 9:16, with subject tracking) for the actual Reel, and use this tool's 4:5 to make the tallest feed post from the same landscape clip. One source, two surfaces.
Why does this formatter not have a 9:16 option?
Because it's scoped to the Instagram feed, which uses 1:1 and 4:5. The feed pillarboxes 9:16 content, so a vertical export here would waste canvas. 9:16 belongs to Reels/Stories — handled by auto-reframe and youtube-shorts-formatter.
If I want the tallest feed post from a landscape clip, what do I pick?
Ratio 4:5 (1080×1350). It's the tallest the feed shows without pillarboxing, so a landscape clip cropped to 4:5 claims maximum feed footprint. The crop keeps the centre column, so make sure the subject is centred — or reframe first with video-cropper.
What happens if I just post the raw landscape clip as a Reel?
It gets letterboxed with black bars top and bottom on the full-screen Reel surface — it looks unfinished. Convert to a genuine 9:16 first with auto-reframe. This feed formatter won't help with the Reel itself; it makes the feed version.
Does the crop follow my subject like auto-reframe does?
No — this tool uses a fixed centre crop with no tracking. auto-reframe is the tool with subject-aware reframing for the 9:16 Reel. For the feed 4:5/1:1 here, centre your subject or pre-crop with video-cropper.
What's the difference between 4:5 here and 9:16 for Reels?
4:5 (1080×1350) is a feed ratio that fills the feed canvas; 9:16 (1080×1920) is full-screen vertical for Reels and Stories. Posting 9:16 to the feed pillarboxes it; posting 4:5 to Reels letterboxes it. Use the ratio that matches the surface — this tool serves the feed, auto-reframe serves Reels.
How long can the clip be?
This tool trims to the first 60 seconds (the feed limit). Reels can run longer, so handle longer cuts in the 9:16 tool. For a precise window from a long landscape clip, trim it with lossless-trimmer first, then format the segment to 4:5.
What codec and quality does the 4:5 output use?
H.264 (libx264, preset medium, CRF 20), yuv420p, AAC 128k, +faststart. CRF 20 is constant-quality with no slider; the only control is Ratio. Output is always MP4 — clean source whether you post it to the feed or use it as a base.
Is my landscape footage uploaded?
No. The conversion runs in your browser via FFmpeg.wasm; the file never leaves the tab. Signed-in users have only a single processed counter recorded server-side, with no content.
Can I make a 1:1 version too?
Yes — run the formatter again with Ratio 1:1 for a square feed post. A 1:1 crop keeps a wider centre column than 4:5, so it preserves more horizontal extent from a landscape source — useful for wide action. It's one pass per ratio.
Does it add a watermark or require sign-in?
No watermark, and free tier works without an account. Signing in only raises limits (Pro 10 GB / 5 files; Pro + Media 100 GB / 50 files; Developer unlimited batch).
Can I automate the feed version across many landscape clips?
The UI is one file at a time. Developer tier can automate via the local @jadapps/runner: GET /api/v1/tools/instagram-feed-formatter for the schema (ratio), then POST each clip to 127.0.0.1:9789/v1/tools/instagram-feed-formatter/run with { ratio: '4:5' }. The 9:16 Reels would be a separate automation against auto-reframe.
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.