Blog how-to

How to make vertical video for Reels, TikTok, and YouTube Shorts (1080×1920 in 2026)

Vertical video specs: 1080×1920 at 30 or 60 fps, H.264, AAC. Duration caps per platform, fit modes (letterbox/crop/squish), and the click path for each.

Vertical video is no longer the optional format — it’s the dominant format on three of the four largest social platforms. Instagram Reels, TikTok, and YouTube Shorts share enough specs that one export usually fits all three, but the small differences (duration caps, fit-mode behavior, audio bitrate) catch people. This guide is the practical version: one set of specs that works everywhere, the fit-mode trade-offs, and the per-platform deltas worth knowing.

TL;DR

The universal spec for Reels, TikTok, and YouTube Shorts:

SettingValue
Resolution1080×1920 (9:16)
CodecH.264 (AVC)
Frame rate30 fps (or match source up to 60)
Bitrate8-12 Mbps
AudioAAC 128-192 kbps
ContainerMP4 with +faststart

Per-platform duration caps (May 2026):

PlatformMax durationAlgorithm sweet spot
TikTok10 minutesUnder 60s
Instagram Reels90 seconds7-15s for discovery
YouTube Shorts60 secondsUnder 60s

In Video Forge: drop the video, pick Instagram Reels / TikTok / YouTube Shorts tiles (multi-select to ship to all three in one run). The app handles fit mode, duration check + auto-trim offer, and 1080×1920 output for each.

What 9:16 actually means

9:16 is the aspect ratio of a phone held vertically — 9 units wide for every 16 units tall. At 1080×1920 it’s the standard upload spec for all three platforms.

The mismatch problem: most cameras (and especially DSLR/mirrorless, older iPhone Photos > Edit exports, screen recordings) shoot horizontal at 16:9 or 4:3. To put a horizontal source into a vertical frame, you have to pick a fit mode:

ModeWhat it doesWhen to use
LetterboxAdds black bars top/bottom (or left/right). Full source visible.Source content matters more than filling the frame (interviews, lectures, demos).
Crop (center-crop)Cuts the sides. Fills the frame. Loses some content.Source content has a clear focal point in the middle (most live action).
Squish (stretch)Distorts to fit. No content lost; aspect ratio broken.Almost never.
Letterbox + blurred backgroundBlack bars replaced with blurred copy of the source.Social-friendly compromise; what TikTok auto-does for horizontal uploads.

Video Forge surfaces all three as chips under each vertical destination. The default is Letterbox for safety; Crop is the right choice for most live-action footage where the action is centered.

TikTok specs

TikTok’s upload spec, as of May 2026:

SpecValue
Resolution1080×1920 preferred; up to 1080×1920
Aspect ratio9:16 preferred; 1:1 and 4:5 supported; horizontal auto-padded
Frame rate30 or 60 fps
CodecH.264 (HEVC supported on iOS upload only)
AudioAAC, 128-192 kbps
Max duration10 minutes
Max file size287.6 MB on Android, 500 MB on iOS
Algorithm sweet spot15-60 seconds

TikTok’s encoder is more forgiving than Instagram’s. Upload close to the spec and quality survives well. Upload a 720p source and it’ll get upscaled (poorly) to 1080×1920; upload 4K and it’ll get downscaled (fine). The 1080-wide rule is the binding one.

The 10-minute cap is generous in theory but the algorithm strongly favors short content. For chat-share clips, anything under 60 seconds.

Instagram Reels specs

Reels’ spec:

SpecValue
Resolution1080×1920
Aspect ratio9:16
Frame rate30 or 60 fps
CodecH.264
AudioAAC stereo, ~128 kbps
Max duration90 seconds (was 60s pre-2024)
Max file size4 GB
Algorithm sweet spot7-15 seconds for discovery, up to 90 for engagement

Instagram’s encoder is the most aggressive of the three. Upload a soft source and the result on the platform will be visibly softer. The practical fix is to source as cleanly as possible — clean 1080×1920 at 8-12 Mbps, AAC 192 kbps audio. The platform won’t make a soft source look good, but it won’t murder a clean source.

The 90-second cap is the biggest functional difference vs TikTok and Shorts. A 2-minute TikTok cut directly to Reels gets rejected.

YouTube Shorts specs

YouTube Shorts is closer to a sub-format of YouTube than a separate upload pipeline:

SpecValue
Resolution1080×1920
Aspect ratio9:16 (anything taller than 1:1 qualifies as Shorts)
Frame rate30 or 60 fps
CodecH.264 (also accepts HEVC and AV1; H.264 is most reliable)
AudioAAC stereo
Max duration60 seconds (was 60s, expected to extend to 3 min late 2025 but unconfirmed)
Max file sizeInherits the regular YouTube cap (256 GB)
Algorithm sweet spot15-60 seconds

YouTube’s encoder is the highest quality of the three. A clean upload emerges looking close to the source. The trade-off is the strict 60-second cap.

YouTube also re-encodes everything to its internal VP9 / AV1 format, which means uploading in AV1 saves no bytes for the viewer — YouTube redoes the work. Upload H.264 at high quality and let YouTube transcode.

The duration trap

Each platform has a different duration cap, and the most common silent upload failure is a clip that’s 91 seconds — fits TikTok (10 min) and Shorts (60s) and gets rejected by Reels (90s).

In Video Forge, when you pick a destination whose cap your source exceeds, you get:

  1. A duration warning chip under the destination tile showing ”65s / 60s cap.”
  2. An “Auto-trim to first 60s” button that sets the trim in/out points to fit.
  3. A choice: edit the trim manually in TrimControls, or accept the auto-trim, or skip the destination entirely.

If you multi-select Reels + TikTok + Shorts and your clip is 75 seconds, Reels uses the full clip, TikTok uses the full clip, and Shorts gets the auto-trimmed first 60 seconds.

The bitrate math

You usually don’t need to compute this for vertical video — none of the three platforms have a per-file size cap that matters in practice. The goal is “high enough quality that the platform re-encoder doesn’t have to murder it.” That’s roughly:

Audio: 128 kbps minimum, 192 kbps comfortable.

If you do want to target a smaller file size (sharing the source elsewhere before posting), use the formula from the target file size post.

The step-by-step in Video Forge

For one platform:

  1. Drop your video.
  2. Pick a vertical destination — Instagram Reels, TikTok, or YouTube Shorts. The app shows the target resolution (1080×1920) and any active duration constraint.
  3. Pick a fit mode — Letterbox, Crop, or Squish — using the chips under the tile. Letterbox is default; switch to Crop for centered-action footage.
  4. Auto-trim if needed. If your clip is longer than the cap, click “Use first 60s” (or 90s for Reels) or adjust trim manually.
  5. Convert. Output suffixed _reels.mp4, _tiktok.mp4, or _shorts.mp4.

For all three in one run:

  1. Multi-select all three destination tiles. They get order badges (1, 2, 3).
  2. Each becomes its own job in the queue. They run in parallel, each producing its own correctly-trimmed, correctly-fitted output.

Doing it with ffmpeg directly

Letterbox 16:9 source into 9:16 at 1080×1920:

ffmpeg -i input.mp4 -c:v libx264 -crf 20 -preset medium \
       -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" \
       -c:a aac -b:a 192k -movflags +faststart output_letterboxed.mp4

Center-crop 16:9 source into 9:16 at 1080×1920:

ffmpeg -i input.mp4 -c:v libx264 -crf 20 -preset medium \
       -vf "scale=-2:1920,crop=1080:1920" \
       -c:a aac -b:a 192k -movflags +faststart output_cropped.mp4

Stretch (squish) 16:9 source into 9:16 at 1080×1920:

ffmpeg -i input.mp4 -c:v libx264 -crf 20 -preset medium \
       -vf "scale=1080:1920" \
       -c:a aac -b:a 192k -movflags +faststart output_squished.mp4

The scale_filter logic Video Forge uses to build these filter chains is in src-tauri/src/ffmpeg/command.rs if you want to see how the FitMode enum maps to the actual ffmpeg expression.

Trim, speed-change, and other vertical workflows

The smart actions in Video Forge cover the common “I have horizontal source, I want vertical clip” workflow without leaving the app:

What about HEVC or AV1 for vertical?

Both work in theory; both are wrong in practice for these platforms.

H.264 at 8-12 Mbps is the right default for cross-platform vertical video delivery in 2026.

FAQ

What aspect ratio do Reels, TikTok, and YouTube Shorts use? All three use 9:16 vertical at 1080×1920 pixels. Anything else is cropped, letterboxed, or pillarboxed automatically.

How long can a Reel, TikTok, or YouTube Short be? TikTok 10 minutes, Reels 90 seconds, YouTube Shorts 60 seconds. The algorithms favor under 60 across all three.

What’s the difference between letterbox, crop, and squish? Letterbox = black bars added, full source visible. Crop = sides cut to fit the vertical frame. Squish = stretched to fit, aspect ratio broken. Letterbox is safe; Crop is right for centered action; Squish is almost never correct.

Do Reels, TikTok, and Shorts compress my video? Yes, all three re-encode uploads. Upload a clean 1080×1920 H.264 at 8-12 Mbps to minimize the quality hit.

Can I post the same vertical video to all three? Yes — same 1080×1920 H.264 export works on all three. Video Forge supports multi-select on destinations so one click ships three correctly-named outputs in parallel.


Video Forge supports Instagram Reels, TikTok, and YouTube Shorts as first-class destinations with auto-fit, duration warnings, and parallel multi-output. 10 conversions are free on macOS and Windows; ffmpeg is bundled. See also the WhatsApp and Discord compression guides for horizontal-format workflows.