# Vertical Video Reframer > Reframe video to 9:16, 1:1, 4:5 or 16:9 by cropping, a blurred background or bars. Turns landscape video into vertical 9:16 (Reels, Shorts, TikTok), square 1:1, 4:5 or 16:9. Crop with a centre, left, right or custom position, fit the whole picture on a blurred copy of itself, or add bars. Output H.264/AAC MP4 at 1080, 720, 540 or 360 px on the short side, with a first-frame preview. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://verticalvideoreframer.usefulweb.site/ (interactive tool at https://verticalvideoreframer.usefulweb.site/tool) - JSON API: POST https://verticalvideoreframer.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://verticalvideoreframer.usefulweb.site/api/v1/tool) - OpenAPI: https://verticalvideoreframer.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://verticalvideoreframer.usefulweb.site/mcp - tool `vertical_video_reframer` ## Inputs - file (file, required): Video file - MP4, MOV, MKV, WebM, AVI; max 250 MB and 20 minutes. Processed on our server in a private temporary folder that is deleted afterwards; the result can be downloaded for about 2 hours. - aspect (select): Target aspect ratio - mode (select): Reframing - position (select): Crop position - offsetPct (integer): Custom crop offset - 0 = left edge, 50 = centre, 100 = right edge (top/bottom for tall sources). - size (select): Resolution (short side) - barColor (select): Bar colour - blur (select): Background blur ## Method - The output frame is derived from the aspect ratio and the short side (9:16 at 1080 → 1080×1920). Rotation metadata from phones is applied first. - Crop: the video is scaled to cover the frame and a frame-sized window is cut out; the position slides the window from left (0 %) to right (100 %), or top to bottom for sources taller than the frame. The report shows how much of the picture is kept. - Blurred background: a copy is scaled to cover the frame, shrunk to a quarter, box-blurred and scaled back up (cheap on CPU); the whole picture is fitted on top, centred. - Bars: the picture is fitted inside the frame and padded with black or white bars. - All sizes and offsets are computed as numbers in TypeScript before they go into the ffmpeg filtergraph. Encoding: libx264 veryfast CRF 21, AAC audio (copied when it already is AAC). A first frame of the result is saved as a JPEG preview.