You've exported one polished video, uploaded it to Facebook, and then discovered that the Feed crop works while Reels adds awkward framing, Stories trims the text, and an ad placement rejects the file entirely. That's the problem with searching for size video Facebook as though the platform has one universal answer. Facebook publishing now spans several surfaces, and each one can treat resolution, aspect ratio, duration, and file weight differently.
The practical solution isn't memorizing one maximum. Build a clean master, derive placement-specific versions, and validate the limit most likely to fail before you upload. The workflow below covers the technical choices that hold up across Feed, Reels, Stories, In-Stream placements, Cover video, and ads.
Table of Contents
- Why Facebook Video Size Is Not One Number
- Facebook Video Specs for Every Placement
- Recommended Export Settings That Hold Up Everywhere
- Resizing and Exporting on Desktop Step by Step
- Resizing on Mobile Without Losing Quality
- Troubleshooting the Most Common Upload Failures
- Scheduling Multi-Placement Videos With SleekPost
Why Facebook Video Size Is Not One Number
Facebook video publishing has always supported both large files and long runtimes. Independent guides commonly list standard Facebook video posts at up to 240 minutes, with maximum upload sizes often shown as 4 GB, while some current documentation and guides mention 10 GB for certain uploads or placements. Meta's own Facebook video requirements should be checked when a specific ad account or placement produces a different result.
That means “video size” can refer to several separate properties:
- Dimensions, such as 1080×1920 or 1080×1350.
- Aspect ratio, such as 9:16, 4:5, 1:1, or 16:9.
- Duration, which can determine whether a placement accepts the file.
- File weight, affected by runtime, bitrate, frame rate, and codec.
- Container and codec, usually MP4 with H.264 for the safest handoff.
The placements don't behave alike. Feed supports square and vertical variants. Reels and Stories are built around vertical viewing. In-Stream placements favor video that can sit naturally inside another viewing experience. Cover video has a different visual role, and ads may apply account or placement-specific validation.

Use one master, then derive the crops
Start with a high-quality vertical master at 1080×1920 or higher, provided the important action can survive a crop. Keep faces, product demonstrations, captions, and logos away from the extreme edges. You can then derive a 4:5 Feed version, a square version, or a 16:9 cut without repeatedly rebuilding the edit. For more context on planning vertical assets, see this guide to vertical video dimensions.
This approach works better than forcing one export everywhere. A 16:9 master may be perfectly usable in Feed, but it wastes valuable mobile screen space in Reels. A vertical master can fill Reels and Stories, but it may need a deliberate crop or letterbox treatment for horizontal placements.
The limits that usually matter first are aspect ratio for vertical placements, duration for Reels or Stories, and file weight for long, high-bitrate uploads. Treat those as separate failure modes rather than searching for a single number.
Facebook Video Specs for Every Placement
The most useful reference is placement by placement, not a single “Facebook video size” recommendation. The table below combines the practical export targets commonly used by production teams with the verified platform guidance available for Facebook video publishing. Where Meta's current behavior is more flexible, use the values as production targets rather than assuming every value is a universal hard reject.
| Placement | Resolution | Aspect Ratio | Duration | Max File Size |
|---|---|---|---|---|
| Feed video | 1080×1080 or 1080×1350 | 1:1 or 4:5 | Up to 240 minutes | Commonly 4 GB, some guidance lists 10 GB |
| Reels | 1080×1920 | 9:16 | Current Meta guidance removes the former length and format restrictions | Placement-dependent, verify during upload |
| Stories | 1080×1920 | 9:16 | Typically short-form, with current guidance varying by publishing path | Commonly 4 GB in independent guides |
| In-Stream video | 1080×1080 or landscape equivalent | 1:1 or 16:9 | Up to 240 minutes | Placement-dependent |
| Cover video | Around 820×462 | Approximately 16:9 | Commonly 20 to 90 seconds in production references | Placement-dependent |
| Marketplace and Right Column | Square or landscape source | 1:1 or 16:9 | Use a concise cut suited to the placement | Placement-dependent |
| Ads | Export to the selected placement | Varies by placement | Depends on the selected ad surface | Varies by placement |
Meta announced that Facebook Reels would have no length or format restrictions in its current publishing model, while Feed video still follows different expectations. That distinction makes older Reels specifications unreliable as a blanket answer. The safest operational choice remains a 9:16 export for a vertical surface, even when the platform accepts a wider range.
Hard rejects versus soft warnings
A duration limit is more likely to block a placement than a modest difference in resolution. Aspect ratio can also trigger rejection or an unwanted crop, especially when the file was designed for a different surface. File-size guidance is less consistent across independent references, so treat the lower commonly cited threshold as your working ceiling when you need predictable uploads.
For Feed, 1280×720 and 1920×1080 remain established horizontal targets, while square and vertical versions are also supported according to the official Facebook video requirements. For mobile-first delivery, vertical and 4:5 exports generally make better use of the screen than reusing a wide master.
A square or vertical version can also be useful for ads, but don't assume one ad export will look correct in every destination. Select placements first, then create the crop that preserves the message, subject, and readable text. If you also publish on TikTok, the same crop planning principles apply to TikTok aspect ratio, though Facebook's current placement behavior is its own system.
Recommended Export Settings That Hold Up Everywhere
A reliable Facebook export starts with compatibility, not the highest possible bitrate. Use an MP4 container, H.264 video, and AAC stereo audio unless a specific delivery requirement tells you otherwise. Facebook will transcode uploaded video, so an exotic codec or oversized encode can create more problems without preserving visible quality after processing.
For a 1080p delivery file, a practical preset is:
- Container: MP4 with fast start enabled.
- Codec: H.264, encoded with x264 where available.
- Profile: High, Level 4.2.
- Rate control: CRF 18–21, or a target bitrate of 8–12 Mbps for 1080p.
- Pixel format: yuv420p.
- Audio: AAC, 48 kHz, stereo.
- Frame rate: 30 fps for most Feed, Reels, and Stories exports.
- Alternative frame rates: 24 fps for cinematic advertising, 60 fps only when motion detail benefits from it.
H.264 is the safer choice than HEVC or AV1 when the file will pass through different uploaders, schedulers, browsers, and Facebook processing paths. HEVC can be efficient, but newer phone recordings may arrive with metadata or profiles that an older uploader handles poorly. AV1 can be efficient in supported workflows, yet it's not the conservative choice for a cross-placement social pipeline.

Avoid the settings that create fragile files
Variable frame rate footage from phones can confuse duration checks and cause audio drift after processing. Convert it to a constant frame rate before delivery. Keep B-frame use conservative, with no more than three, and avoid pixel formats outside yuv420p when compatibility matters more than production-grade mastering.
A moderate H.264 encode usually survives Facebook's second pass more gracefully than a huge high-bitrate file that gets compressed heavily. The goal isn't to defeat transcoding. It's to give the platform a clean, predictable source.
For a mobile publishing comparison, keep Stories exports vertical and readable in full-screen use. This Instagram Story specs guide is also useful when the same source edit is going to both platforms.
Export line: MP4, H.264 High Level 4.2, 1080p, CRF 18–21 or 8–12 Mbps, AAC stereo at 48 kHz, yuv420p, constant frame rate.
Resizing and Exporting on Desktop Step by Step
Desktop preparation is easiest when you separate editing from delivery. Keep a high-quality master untouched, then create named exports for Feed, Reels, Stories, and horizontal placements. HandBrake handles the common conversion path, while FFmpeg gives you exact control when automatic cropping or metadata causes trouble.
HandBrake for repeatable exports
Open the master in HandBrake and begin with the Fast 1080p30 style of workflow, then adjust it rather than accepting every default. In Picture settings, choose the target canvas:
- Feed square: 1080×1080.
- Feed vertical: 1080×1350.
- Reels or Stories: 1080×1920.
- Feed horizontal: 1920×1080.
Use crop to remove excess edges when the subject is safely positioned. Use padding when preserving the full composition matters more than filling the frame. Set H.264, choose RF 20–22 for a practical 1080p delivery, and save named presets such as Facebook Feed 4x5, Facebook Reel 9x16, and Facebook Landscape 16x9.
| Task | HandBrake | FFmpeg |
|---|---|---|
| Basic H.264 conversion | Simple interface and previews | Precise, command-driven control |
| Crop or pad | Good for routine jobs | Exact pixel-level filters |
| Frame-rate conversion | Straightforward | Precise control with filters and flags |
| Metadata handling | Limited visibility | Can strip or map metadata explicitly |
| Batch processing | Presets help | Strong for scripted batches |
FFmpeg for precise control
Use FFmpeg when HandBrake centers the subject incorrectly, preserves unwanted metadata, or handles a phone's variable frame rate poorly. A padding workflow that preserves the complete image can look like this:
ffmpeg -i master.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -preset slow -crf 20 -r 30 -c:a aac -b:a 128k reel.mp4
For a deliberate crop, replace the filter with a crop expression based on the source dimensions. Test the crop on a short excerpt first, especially when captions or a speaker's face sits near the edge. A short test saves a full export when the composition is wrong.
Before upload, verify three things:
- Duration: Use
ffprobeand confirm the file fits the selected placement. - Encoding: Open the final file in MediaInfo and check H.264, frame rate, audio, and bitrate.
- Upload path: Drag the finished file into Facebook's uploader instead of pasting a cloud-storage link.
For related desktop publishing workflows, see this guide to desktop upload to Instagram. The same discipline applies, preserve the master and validate the delivery file.
Resizing on Mobile Without Losing Quality
Mobile editing works well for trims, captions, and straightforward crops, but it gives you less control over bitrate and codec behavior. Apple's iMovie and Final Cut Camera can handle simple iOS jobs, while Google Photos is adequate for basic Android edits. They're convenient, but they may not expose the delivery controls needed for a consistent Facebook production pipeline.
CapCut and InShot are more practical when you need to choose the export dimensions and frame rate. Use CapCut for a clean vertical Reels or Stories version, and InShot for quick square or 4:5 Feed crops.
Save a preset for each surface
For a vertical export, choose 1080×1920, 30 fps, MP4, and the highest quality setting that doesn't produce an unnecessarily large file. Keep the subject centered and check the preview for interface overlap before saving to the camera roll. For Feed, choose 1080×1080 or 1080×1350, depending on whether the creative was designed for square or taller mobile viewing.
Don't export a 720p recording and expect an app to restore the missing detail. Upscaling can make the file larger, but it won't recreate sharp text, hair detail, or fine product texture that wasn't captured in the original.

The two mobile traps
Aggressive in-app compression can make movement and fine gradients look muddy after Facebook processes the file again. Avoid repeatedly exporting the same clip through several apps. Each generation gives the platform a softer source.
The cleanest mobile route is to make one crop, export once, save it directly to the camera roll, and upload through the Facebook app. AirDropping the file to a desktop can be useful for archiving, but it adds an unnecessary handoff when you're publishing from the road. Keep a camera-roll folder for Feed, Reels, and Stories versions so you don't select the wrong crop under time pressure.
Troubleshooting the Most Common Upload Failures
Upload failures become easier to diagnose when you stop treating “Facebook video size” as one setting. A file can be small enough but too long, correctly encoded but framed incorrectly, or visually acceptable while carrying a codec profile the uploader doesn't accept.
Duration rejection
The standard Feed headline is up to 240 minutes, while older Reels guidance commonly used a 90-second ceiling. Meta's current update removed length and format restrictions for Facebook Reels, so a rejection may depend on the publishing route, account interface, or an outdated tool rather than the current Reels model. Check the exact destination before cutting a long master to fit an old specification.
Use ffprobe to inspect duration before rendering multiple versions. If a scheduling tool still enforces an older limit, create a placement-specific cut rather than assuming the same file will pass through every publishing path.
Aspect ratio rejection
Vertical surfaces are the first place a wide export causes trouble. A 1.91:1 horizontal file may be rejected by a vertical workflow, while a file that technically uploads can be letterboxed or cropped in a way that hides the subject and captions.
Export a five-second test clip at the target aspect ratio and upload it before committing to the full render. Confirm that the crop keeps the speaker, product, and text inside the visible area. This test is quicker than diagnosing a failed long upload.
File weight and codec problems
Independent guidance differs between 4 GB and 10 GB for Facebook uploads, so use the lower threshold when you need predictable handling. Large files can also stall because of bitrate, connection stability, browser behavior, or platform-side processing. MediaInfo can reveal whether an unnecessarily high bitrate is making the file heavier than the placement needs.
HEVC from newer iPhones can also cause compatibility problems in older uploader builds. Remuxing alone won't always solve a codec issue. Transcode to H.264 in an MP4 container, then inspect the result before trying again.

Keep your source files and final exports organized separately. If you're also managing a large archive of visual assets, this practical resource on how to save Facebook photos easily can help preserve the library you need for future edits.
Check the placement first, then test duration, aspect ratio, codec, and file weight in that order.
Scheduling Multi-Placement Videos With SleekPost
A scheduler should reduce repeated handling of the same source file, not hide placement differences. Prepare one clean master, then apply per-placement overrides so Feed, Reels, Stories, and In-Stream each receive the crop and duration they can use.
Upload the master to your media library, then create delivery variants inside the publishing workflow. A vertical master around the 1080×1920 target can feed a 9:16 Reels version and a 9:16 Stories version, while Feed receives a 1:1 or 4:5 crop and In-Stream receives a 16:9 treatment. Keep the original edit intact so you can revise one caption, hook, or soundtrack without rebuilding every output.
Set rules before you schedule
Assign a duration rule to each slot. The Reels version should follow the active limit imposed by the publishing path, while the Feed version can retain the longer narrative when that placement accepts it. Don't let the scheduler crop or trim a version without reviewing the first and last frames.
Recurring slots also need operational checks. Set the correct timezone for each account, confirm queue priority when several platforms share a calendar, and review whether an evergreen post should recur with the same caption or a platform-specific variation. A cross-platform calendar is useful only when each destination keeps its own media and copy requirements.
Use this best tool to schedule social media posts workflow as a model for reducing context switching without flattening every platform into one export.
Before clicking schedule, verify:
- Aspect ratio: Feed, Reels, Stories, and In-Stream each have the intended crop.
- Duration: Every placement-specific version fits its active publishing rule.
- Captions: The correct caption file or burned-in text is attached.
- Thumbnail: The selected frame remains clear at the destination's crop.
- Reels cover: A first-frame still is exported and checked for readable composition.
- Timezone and queue: The post is assigned to the right account, slot, and priority.
The best multi-placement workflow preserves the edit once and changes only what the destination requires. That keeps quality consistent while avoiding a pile of manually rebuilt files.
SleekPost lets you upload one source file, customize media and copy by Facebook placement, and schedule Feed, Reels, Stories, and other social posts from one dashboard. Visit SleekPost to simplify your master-then-derive workflow, manage recurring queues, and publish each video in the format that fits its destination.
