Instagram Reels
Render a 9:16 film for Instagram Reels, with the Meta and Instagram limits, an estimated safe zone and the vawe commands.
At the end of this page you have a 1080 × 1920 film for a Reel. Instagram publishes more numbers for Reels ads than for Reels posts, and this page says which is which.
The limits
The sourced table is in Video specs by platform. Read on 2026-10-31 and 2026-11-01:
- Reels ad (Meta Ads Guide): 9:16, 1440 × 2560, up to 15 minutes, up to 4 GB, MP4 or MOV, stereo AAC at 128 kbps or more, a fixed frame rate.
- Reel post (Instagram): you can record up to 20 minutes, but Instagram does not recommend a Reel over 3 minutes to people who do not follow you.
- Instagram publishes no loudness target.
- The Instagram help page for Reel sizes did not load text. Its ratio, frame-rate and resolution numbers are not on this page.
Safe zone
The Meta Ads Guide page for Reels video suggests a safe zone for ads: “Consider leaving at least 14% of the top, 35% of the bottom, and 6% on each side of your asset free”. It is a design recommendation, not a rule. For a Reel post, Instagram publishes no values, so treat these numbers as an estimate for posts too.
| Edge | Share | Pixels at 1080 × 1920 |
|---|---|---|
| Top | 14% | 269 |
| Bottom | 35% | 672 |
| Each side | 6% | 65 |
Make the film
Start a 9:16 page
bin/vawe new my-reel --request "a 20 second teaser with captions" --aspect 9:16 --length 20The page gets <meta name="aspect" content="9:16"> and <meta name="duration" content="20">.
Check the frame against the safe zone
bin/vawe still films/my-reel/page.html --at 2 --aspect 9:16Open the PNG in out/still/. Text must sit between 269 px and 1248 px from the top (1920 minus 672), and 65 px from each side.
Add the music
Add a music file with an <audio> tag:
<audio src="assets/music.mp3" loop data-at="0" data-fade-out="0.4"></audio>See Audio. To land the cuts on the beat, read Cut to the beat.
Draft, then ship
bin/vawe dev films/my-reel/page.html --aspect 9:16
bin/vawe ship films/my-reel/page.html --aspect 9:16
bin/vawe ship --status --waitThe final is H.264 with stereo AAC audio. Check the loudness with bin/vawe sound films/my-reel/page.html --waveform.
Limits
shiprenders 60 fps and has no fps flag. The Meta ad page asks for a fixed frame rate and gives no number. A vawe final has a fixed rate.- The ad guide lists 1440 × 2560. A vawe 9:16 final is 1080 × 1920, the same ratio at a smaller size.
shiphas no size flag. - The vawe final audio is AAC at 192 kbps, 48 kHz: above the 128 kbps minimum on the ad page.
Video specs by platform
Cut to the beat
Loudness and the mix
From the blogHTML video aspect ratio: 16:9, 9:16 and 1:1