How to reformat a youtube widescreen video for the instagram feed
- Step 1Export or download your YouTube clip — Use your own 16:9 source file (your editor's export, or your channel's download). Drop it onto the instagram-feed-formatter. It loads via FFmpeg.wasm — no upload. One file up to 1 GB on free tier; a typical 1080p YouTube clip is well under that.
- Step 2Pick the feed ratio — Set Ratio to
1:1for a square grid post or4:5for the tall portrait that wins more feed space. There is no 9:16 here — the feed boxes vertical content, so for a Reel from this footage use auto-reframe instead. - Step 3Verify your subject is centred in the 16:9 frame — Going from 16:9 to 1:1 or 4:5 drops a lot of width. The crop keeps the centre column. Check that the speaker, product, or key graphic isn't near the left/right edge — if it is, crop manually first with video-cropper.
- Step 4Cut a 60-second segment first if the clip is long — YouTube videos usually exceed 60 seconds; the formatter keeps only the first minute. Pull the segment you want to repurpose with lossless-trimmer (instant, no re-encode), then format it.
- Step 5Run the reformat — JAD centre-crops to the feed ratio, scales (1350×1350 or 1080×1350), and encodes H.264 CRF 20. The widescreen master is untouched; you get a new feed-spec MP4.
- Step 6Download and post to the feed — The output is a self-contained MP4 ready for the Instagram app. Repeat for each ratio if you want both a square and a portrait version of the same YouTube clip.
16:9 YouTube → Instagram feed: what each ratio keeps
How a 1920×1080 YouTube frame maps into the feed ratios. Crop math from runSocialFormat.
| Target | Output size | What survives from the 16:9 frame |
|---|---|---|
| 1:1 square | 1350×1350 | Centre 1080×1080 of the source (drops ~28% of width from each side) |
| 4:5 portrait | 1080×1350 | Centre 864×1080 column (drops even more width — keeps full height) |
| 9:16 (not in this tool) | — | Feed pillarboxes 9:16; use auto-reframe for a Reel |
The reformat pass, exactly
Real arguments applied to a YouTube 16:9 source, from lib/video/video-processor.ts.
| Stage | What runs | Note |
|---|---|---|
| Probe | Read source width/height | Fails with an error if dimensions can't be read |
| Crop | crop=W:H:(in_w-W)/2:(in_h-H)/2 | Centre column for both 1:1 and 4:5; no subject tracking |
| Scale | scale=...:flags=lanczos | To 1350×1350 (1:1) or 1080×1350 (4:5) |
| Encode | libx264 -preset medium -crf 20 -pix_fmt yuv420p | H.264 the IG app expects; converts YouTube HEVC/VP9 sources too |
| Audio | -c:a aac -b:a 128k | Re-encoded and preserved |
| Trim | -t 60 | First 60 s only — YouTube clips usually need a pre-trim |
| Mux | -movflags +faststart | Progressive feed playback |
Cookbook
Real YouTube-to-feed repurposes. The crop math is exactly what runSocialFormat applies for 16:9 sources.
1080p YouTube talking-head → 4:5 feed post
A 1920×1080 YouTube clip of a centred presenter. Reformatting to 4:5 keeps the full height and the centre column — ideal for repurposing a piece-to-camera into a feed-native portrait post.
Source: 1920x1080 (16:9 YouTube master), presenter centred Ratio: 4:5 Crop: crop=864:1080:(1920-864)/2:0 (centre 864px column) Scale: scale=1080:1350:flags=lanczos Encode: libx264 -crf 20 -pix_fmt yuv420p, AAC 128k Output: 1080x1350 MP4. Sides of the YouTube frame are gone.
Long YouTube video → 60-second square highlight
A 10-minute YouTube video. Pull a 60-second highlight first, then square it for the grid — the formatter alone would just take the first minute.
Source: 600s YouTube export Goal: square highlight from 4:30–5:30 1. lossless-trimmer → cut 270–330s (stream-copy, instant) 2. instagram-feed-formatter → Ratio 1:1 crop 1080x1080 centre → scale 1350x1350 Output: 1350x1350 MP4 highlight.
Two-person interview loses an edge subject
A 16:9 interview with hosts on the left and right. The centre crop keeps the middle, clipping both. The fix is to reframe to one host, or to keep it wider with a 1:1 crop (which retains more horizontal extent than 4:5).
Source: 1920x1080, two hosts near left + right edges Ratio: 4:5 → crop=864 wide → BOTH hosts partly cut Better options: - Ratio 1:1 → crop=1080 wide → keeps more horizontal extent - video-cropper → reframe to one host, then format - auto-reframe → 9:16 Reel that can track the speaker
YouTube export in VP9/HEVC fixed to feed codec
A YouTube download in VP9 (or an HEVC export) that the Instagram app handles unreliably. The reformat pass re-encodes to H.264 yuv420p regardless of source codec, fixing compatibility while it crops.
Source: 1920x1080 VP9 (YouTube download) Ratio: 1:1 FFmpeg.wasm decodes VP9, crops centre square, re-encodes to H.264 yuv420p → IG-app-safe MP4 Output: 1350x1350 H.264. No manual codec settings needed.
Corner lower-third graphic gets cropped out
A YouTube clip with a name/title graphic in the bottom-left corner. The feed crop removes the sides (and for 4:5 keeps full height), so a corner graphic near the left edge is partly or fully lost. Plan graphics for the centre-safe area when repurposing.
Source: 1920x1080, name graphic bottom-LEFT corner Ratio: 4:5 → keeps centre 864px column → left-edge graphic is cropped off Fix for next time: place lower-thirds in the centre 864px (4:5) or centre 1080px (1:1) safe zone. For this clip, re-add the graphic after formatting, or reframe with video-cropper.
Edge cases and what actually happens
Heavy horizontal crop loses edge content
By design16:9 → 1:1 or 4:5 is a big width reduction (4:5 keeps only the centre ~45% width of a 1920-wide frame). Edge subjects, corner graphics, and lower-thirds at the sides are clipped. Verify the YouTube frame is centred, or reframe with video-cropper before formatting.
YouTube clip is longer than 60 seconds
By designMost YouTube videos exceed a minute; the formatter keeps only the first 60 seconds (-t 60). Pull the segment you want with lossless-trimmer first (instant stream-copy), then reformat — otherwise you'll always get the opening minute.
You wanted a vertical Reel, not a feed post
Wrong toolIf the goal is a 9:16 Reel from the YouTube footage, this tool's 1:1/4:5 output will pillarbox in Reels. Use auto-reframe for 16:9 → 9:16 (which can track the subject) or youtube-shorts-formatter for the 9:16 spec.
Could not determine video dimensions
ErrorIf FFmpeg.wasm can't probe the YouTube export's dimensions (unusual container, corrupt download), the pass throws before encoding. Re-mux via web-optimizer or transcode with video-transcoder first.
VP9 / HEVC YouTube source
SupportedFFmpeg.wasm decodes VP9 and HEVC, so a YouTube download in either codec reformats fine and is re-encoded to H.264 yuv420p — which actually fixes the Instagram-app compatibility issues those codecs sometimes cause. Output is always H.264 MP4.
Burned-in subtitles cropped at the edges
By designIf the YouTube clip has hardcoded subtitles spanning the full width, the side crop can cut the start/end of each caption line. Centre-positioned captions survive; full-width ones don't. Re-add captions after formatting, or use subtitle-burner on the cropped clip with feed-safe positioning.
10-bit YouTube HDR export flattened
ExpectedOutput is yuv420p 8-bit. A 10-bit HDR YouTube master is converted to 8-bit SDR with no tone mapping, so colours may shift. Grade to SDR before formatting if fidelity matters; otherwise the feed-safe 8-bit output is the priority.
Pillarboxed / windowboxed source
By designIf your YouTube clip already has black bars baked in (e.g. a 4:3 clip placed in a 16:9 frame), the centre crop keeps those bars. Remove letterbox/pillarbox first with video-cropper so the feed post isn't framed by black bars.
Odd-pixel YouTube export
PreservedEven crop and output dimensions are enforced before encoding, so a non-standard YouTube export won't fail libx264's even-dimension requirement. Standard 1920×1080 and 1280×720 sources are already even.
File exceeds your tier's size limit
Tier limitFree: 1 GB / 1 file; Pro: 10 GB / 5; Pro + Media: 100 GB / 50; Developer: 100 GB / unlimited. A long 4K YouTube master can exceed 1 GB — trim or transcode it down first, or upgrade, if you hit the cap.
Frequently asked questions
How do I turn my 16:9 YouTube video into an Instagram feed post?
Drop the widescreen clip onto the formatter, choose 1:1 or 4:5, and it centre-crops the 16:9 frame to that ratio and outputs a feed-spec H.264 MP4 (1350×1350 or 1080×1350). No re-shoot — it repurposes your existing master. Just make sure your subject is centred, since the crop keeps the middle column and drops the sides.
Should I pick 1:1 or 4:5 for repurposed YouTube content?
4:5 gives the most feed footprint and suits talking-head and lifestyle content, but it crops more width from a 16:9 source. 1:1 keeps more horizontal extent (a wider centre column), which is safer for two-shots or wide compositions. If edge content matters, start with 1:1; if dwell time matters most and the subject is centred, use 4:5.
Can I make a 9:16 Reel from my YouTube video here?
No — this tool only outputs the feed ratios (1:1, 4:5). The feed pillarboxes 9:16, so a vertical export doesn't belong here. For a Reel, use auto-reframe (16:9 → 9:16, can track the subject) or youtube-shorts-formatter for the 9:16 spec.
My YouTube video is 10 minutes long — what happens?
The formatter keeps only the first 60 seconds. To repurpose a specific moment, cut it first with lossless-trimmer (instant, stream-copy, no quality loss), then reformat the 60-second segment to your chosen feed ratio.
Will the crop cut off my on-screen graphics or captions?
It can. Going 16:9 → feed drops the sides, so corner lower-thirds and full-width burned-in captions near the edges get clipped. Centre-positioned graphics survive. For repurposing, add captions/graphics after formatting, or reframe with video-cropper to control exactly what's kept.
Does it handle YouTube downloads in VP9 or HEVC?
Yes. FFmpeg.wasm decodes VP9, HEVC, AV1, and H.264, and the reformat always re-encodes to H.264 yuv420p — which also fixes the playback quirks the Instagram app sometimes has with VP9/HEVC. Output is always an MP4.
Is my YouTube file uploaded to a server?
No. The reformat runs in your browser via FFmpeg.wasm; the file never leaves the tab. Signed-in users have a single processed counter recorded with no content. Nothing about your footage is transmitted.
What quality does the reformatted clip come out at?
H.264 at CRF 20 (constant-quality, visually near-lossless), yuv420p, AAC 128k, +faststart. There's no bitrate or quality slider — the only control is Ratio. CRF 20 gives Instagram clean source to re-encode from, minimising compounding loss.
Can I make both a square and a portrait version from one YouTube clip?
Yes — run the formatter twice on the same source, once with Ratio 1:1 and once with 4:5. You get two separate MP4s. There's no combined export; it's one pass per ratio.
Why not just upload the 16:9 file and let Instagram crop it?
Because then Instagram decides the crop and re-encodes on top of your upload — you lose control of framing and stack an extra compression pass. Pre-reformatting to a feed ratio lets you choose what stays in frame and hands Instagram clean, spec-matching H.264 source.
Will it add a watermark or require sign-in?
No watermark, and you can reformat on the free tier 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 repurposing a batch of YouTube clips?
The web UI is one file at a time. Developer tier can automate with the local @jadapps/runner: GET /api/v1/tools/instagram-feed-formatter for the schema, then POST each clip to 127.0.0.1:9789/v1/tools/instagram-feed-formatter/run with { ratio: '4:5' }. Everything runs locally — no upload.
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.