Convert 16:9 to 9:16 Without Cropping (ffmpeg) (2025)

Transform horizontal video into vertical format using ffmpeg—with pad-vs-crop strategies, copy-ready commands, quality presets, and workflows that preserve subject framing for Shorts, TikTok, and Reels.

By ClickyApps Team · Updated 2025-11-10

Converting horizontal 16:9 video to vertical 9:16 format is essential for repurposing YouTube content to Shorts, TikTok, and Instagram Reels. The challenge is choosing between padding (keeping the full frame with bars on the sides) and cropping (filling the vertical frame but potentially cutting off important action). This guide provides copy-ready ffmpeg commands, decision frameworks for pad-vs-crop, and quality presets that preserve subject framing without re-encoding audio or sacrificing bitrate.

Most creators face two problems: generic online converters add watermarks or compress audio, and manually writing ffmpeg commands requires memorizing complex filter syntax. The workflow below solves both—giving you production-ready commands that preserve quality while showing you exactly when to pad versus crop based on your source composition. Whether you’re converting a podcast clip, gameplay footage, or talking-head video, you’ll have the right strategy and command in under 3 minutes.

Table of Contents

Category hub: /creator/video

Quick Start

  1. Choose pad or crop based on subject position in your source video
  2. Copy the appropriate ffmpeg command from the section below
  3. Replace in.mp4 with your source filename
  4. Run the command in Terminal or Command Prompt
  5. Verify output plays correctly on mobile without stretching or cutoff

Open Aspect Ratio Converter →

When to Pad vs When to Crop

Padding preserves your entire composition by scaling the video to fit vertically and adding bars (typically black) on the sides. This approach is ideal when your subject or action spans the full horizontal frame—interviews with two people, wide gameplay, or landscape shots where cropping would lose context. The trade-off is visible bars, which can look unpolished unless styled with blur or brand colors.

When to Use Pad

When to Use Crop

Side-by-side comparison showing original 16:9 frame, pad result with black bars, and crop result filling the vertical frame
Pad keeps the full composition with bars; crop fills the frame but may cut edges.

Copy-Ready ffmpeg Commands

These commands scale your source video to fit 1080×1920 (the standard vertical resolution for Shorts, TikTok, and Reels) and either pad or crop to achieve the 9:16 aspect ratio. Audio is copied without re-encoding to preserve quality.

Pad Command (with Black Bars)

This scales the video to fit the vertical height, then adds black bars on the sides to reach 1080×1920.

ffmpeg -i in.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:a copy out_pad.mp4

Breakdown:

Crop Command (Fill Frame)

This scales the video to exceed the vertical frame, then crops the center to 1080×1920.

ffmpeg -i in.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=increase,crop=1080:1920" -c:a copy out_crop.mp4

Breakdown:

Advanced: Custom Background (Blur or Brand Color)

Instead of black bars, overlay your video on a blurred or colored background for a polished look.

ffmpeg -i in.mp4 -filter_complex "[0:v]scale=1080:1920:force_original_aspect_ratio=decrease,boxblur=20[bg];[0:v]scale=1080:-2:force_original_aspect_ratio=decrease[fg];[bg][fg]overlay=(W-w)/2:(H-h)/2" -c:a copy out_blur.mp4

This creates a blurred background layer at 1080×1920, then overlays the scaled video centered on top.

Terminal window showing ffmpeg command running with progress output and frame statistics
ffmpeg progress output shows frame count, bitrate, and encoding speed.

Quality Settings & Presets

Default ffmpeg encoding uses libx264 (H.264) with automatic quality settings, which produces decent results but may be too large or too lossy for your needs. Use these presets to control file size and quality trade-offs.

H.264 (libx264) Presets

Example:

ffmpeg -i in.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:v libx264 -crf 18 -preset veryslow -c:a copy out_hq.mp4

H.265 (libx265) for Smaller Files

H.265 (HEVC) offers better compression—files are ~30-50% smaller at similar quality, but encoding is slower and some older devices may not support playback.

ffmpeg -i in.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:v libx265 -crf 22 -preset slower -c:a copy out_hevc.mp4

ProRes / Lossless for Editing

If you need to edit the converted footage before final export, use ProRes to avoid generation loss.

ffmpeg -i in.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:v prores_ks -profile:v 3 -c:a pcm_s16le out_prores.mov

Audio: Copy vs Re-encode

Using -c:a copy keeps the original audio codec and bitrate, avoiding quality loss. Only re-encode audio if the destination platform requires a specific codec (e.g., AAC for web):

-c:a aac -b:a 192k
Chart showing CRF values from 18 to 28 on X-axis with quality and file size trade-offs on Y-axis
Lower CRF = higher quality and larger file; higher CRF = smaller file.

ClickyApps Workflow

The Aspect Ratio Converter generates these ffmpeg commands automatically—and provides visual preview so you can see pad vs crop results before committing. No need to memorize filter syntax or guess which approach will work. Upload your video, toggle between pad and crop modes, and export directly or copy the command for batch processing.

After conversion, use the Thumbnail Resizer to create matching vertical cover art (1080×1920) with safe-area guides, ensuring your thumbnail and video tell a consistent story. Staying inside the ClickyApps suite keeps aspect ratios, metadata, and safe zones aligned across your entire workflow.

Aspect Ratio Converter interface showing preview toggle between pad and crop modes with command output below
Preview pad vs crop side-by-side before exporting or copying the command.

Common Mistakes & Fixes

Examples

Podcast Clip with Brand Color Background

For a podcast with two speakers side-by-side, pad the video and add a branded color background instead of black bars. This maintains context (both speakers visible) while looking polished.

ffmpeg -i podcast.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:#1a1a1a" -c:a copy podcast_vertical.mp4

Replace #1a1a1a with your brand’s hex color.

Gameplay: Crop to Action Zone

For gameplay where action is centered, crop to fill the vertical frame and eliminate dead space or UI clutter near edges.

ffmpeg -i gameplay.mp4 -vf "scale=1080:-2:force_original_aspect_ratio=increase,crop=1080:1920" -crf 18 -preset veryslow -c:a copy gameplay_vertical.mp4

Interview: Pad with Blur Background

For a formal interview, pad with a blurred background for a cinematic look that keeps both subject and interviewer visible.

ffmpeg -i interview.mp4 -filter_complex "[0:v]scale=1080:1920:force_original_aspect_ratio=decrease,boxblur=20[bg];[0:v]scale=1080:-2:force_original_aspect_ratio=decrease[fg];[bg][fg]overlay=(W-w)/2:(H-h)/2" -c:a copy interview_vertical.mp4

FAQs

Are black bars acceptable on TikTok and YouTube Shorts?
Yes, black bars are acceptable on most platforms. However, a blurred or brand-colored background looks more polished and professional. Use the blur background command if you want to avoid plain black bars.
What CRF value should I use?
Use CRF 18 for high quality with larger files, CRF 23 for balanced quality and size, or CRF 28 for smaller files with acceptable quality loss. Lower CRF = higher quality and larger file.
Do I need to re-encode audio?
No, use -c:a copy to copy the audio stream without re-encoding. Only re-encode if the destination platform requires a specific audio codec (e.g., AAC for web playback).
How do I check if my conversion worked correctly?
Play the output file on a mobile device to verify there’s no stretching, pixelation, or cutoff. You can also run ffprobe out.mp4 to confirm dimensions are 1080×1920.
Can I automate batch conversions?
Yes, use a shell loop to process multiple files. Example: for f in *.mp4; do ffmpeg -i "$f" -vf "scale=1080:-2:...,pad=..." -c:a copy "vertical_$f"; done. Or use the ClickyApps Aspect Ratio Converter batch export feature.
What if my source video is 4K?
Scale to 1080×1920 for standard uploads, or 2160×3840 if the platform supports 4K vertical video. Use scale=2160:-2 and pad=2160:3840:(ow-iw)/2:(oh-ih)/2:black for 4K vertical output.
How do I add a blur background instead of black bars?
Use the advanced blur command provided in the ffmpeg Commands section. This creates a blurred background layer and overlays your video centered on top, giving a polished cinematic look.

Use these tools

SRT Editor
Edit cues, fix overlaps, nudge timing, export SRT/VTT.
Open →
Thumbnail Resizer & Safe Area
Resize with safe-area overlays and export JPG/PNG.
Open →
Aspect Ratio Converter
Render vertical, square, or widescreen exports with smart pad & crop in-browser.
Open →
Shorts Clip Finder
Paste transcript → get 5 AI-ranked clips with timestamps.
Open →
Music Loudness (LUFS) Analyzer
Analyze, preview, and normalize audio to streaming-safe loudness.
Open →
Thumbnail Contrast Checker
Audit and boost thumbnail contrast with smart highlights and instant exports.
Open →