FFmpeg Cookbook
JA

SNS Video Resizer

Resize a video for 12 destinations, including TikTok, YouTube Shorts, Instagram, X and YouTube. Crop what does not fit, or keep the whole frame with black bars.

Your file is not uploaded
1
Pick your target platform
2
Upload your video
Drag & drop a video, or tap to select
MP4 / MOV / AVI / MKV / WebM · No file size cap
—
—
Crop preview (green rectangle = output region · drag to reposition)
Crop position
You can also drag directly on the canvas
3
Trim duration
optional
Start: 0:00 End: 0:00 Length: 0:00
4
Quality · audio · frame rate
optional
5
Watermark (overlay an image)
optional
Tap to pick PNG / JPG / WebP
—
6
Run conversion

Equivalent FFmpeg command

CLI command for your current settings. Updates live as you change controls.

ffmpeg -i in.mp4 -map 0:v:0 -vf "crop=w='trunc(min(iw,ih*0.562500)/2)*2':h='trunc(min(ih,iw/0.562500)/2)*2',scale=1080:1920:flags=lanczos,setsar=1" -map "0:a?" -c:a aac -b:a 128k -c:v libx264 -crf 23 -preset fast -pix_fmt yuv420p -movflags +faststart sns_out.mp4
Popular uses
Shorts, Reels, and TikTok conversionVertical video outputResize with safe areas in mind

How to use

  1. Pick a videoLandscape or portrait — both work.
  2. Pick a target SNSChoose one of 12, including TikTok, YouTube Shorts, Instagram, X and YouTube.
  3. Crop or letterboxCropping is the default: drag the green frame or use the position buttons to choose what to keep. To keep the whole picture, turn on "Letterbox / pillarbox (fit mode)".
  4. ResizeRun it and a preview and a download button appear. Before that you can also set a trim, quality, frame rate, audio and a watermark.

Recommended settings

TikTok / Reels / Shorts
9:16, crop
A 9:16 frame matches the shape of a phone held upright.
Instagram feed
1:1 or 4:5, crop
4:5 (1080×1350) is taller than 1:1 (1080×1080).
YouTube landscape
16:9, letterbox if needed
A portrait video gets black bars left and right, and nothing is cut.

When it goes wrong

Subject cropped out

Cause: The crop is still centered, but the person or captions are near the edge.

Fix: Drag the green frame to move the crop, or turn on fit mode.

Massive black bars

Cause: A landscape video was fitted into 9:16 with bars.

Fix: Turn off fit mode to crop instead, or pick a landscape preset.

Questions

TikTok preferred size?

TikTok's help pages give no recommended resolution for regular posts. Videos uploaded from a web browser must be at least 720×1280, and TikTok's ad guidelines recommend vertical 9:16. This tool's TikTok preset outputs 1080×1920 (9:16).

Shorts vs TikTok?

YouTube Shorts are square or vertical videos up to 3 minutes. TikTok allows up to 10 minutes when you record in the app and up to 60 minutes when you upload a video from your device (30 minutes from a web browser), all per the official help pages. The 9:16 output works for both.

Vertical → horizontal?

Pick a landscape preset such as YouTube. With fit mode on, black bars appear on the sides; with it off, the top and bottom are cropped.

More detail (settings, limits, FFmpeg commands)

What each setting means

Crop
Cuts off what does not fit. Choose the part to keep with the Left / Center / Right (or Top / Center / Bottom) buttons, or by dragging.
Letterbox
With fit mode on, nothing is cut; the spare space becomes black bars.
Length on the cards
Figures such as "≤60 min" are the length limits in each service's official help (checked 2026-09-25): TikTok 60 minutes from the app and 30 from a browser, YouTube Shorts 3 minutes, Instagram Reels 20 minutes, X 140 seconds without Premium, LinkedIn 15 minutes, and Pinterest 15 minutes (the video Pin spec for business accounts). Instagram Stories and Threads show no figure because their help pages state no limit. A longer video gets a warning.

Browsers and limits

  • MP4 output (H.264 video; audio re-encoded to AAC 128 kbps)
  • The crop moves only along the side that overflows (left–right or up–down)

The same job with the FFmpeg command line

9:16 crop (centered)
ffmpeg -i input.mp4 -vf "crop=w='trunc(min(iw,ih*9/16)/2)*2':h='trunc(min(ih,iw*16/9)/2)*2',scale=1080:1920:flags=lanczos,setsar=1" -c:v libx264 -crf 23 -preset fast -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4
Crops the center to 9:16 and scales to 1080×1920. Works for landscape and portrait sources. setsar=1 keeps the pixels square.
9:16 letterbox
ffmpeg -i input.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=black,setsar=1" -c:v libx264 -crf 23 -preset fast -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4
Fits the whole frame into 1080×1920 and fills the rest with black, the same as the tool's fit mode.