Meta publishes its ad specs across a dozen help-centre pages, changes them without announcement, and leaves the old numbers online. This page collects the 2026 set in one place, marks what changed, and tells you which files to actually export.
The useful thing to understand first is that Meta does not think in placements any more, it thinks in ratios. A single 4:5 file will be served into feed, Marketplace, search results and Audience Network, cropped differently in each. Your job is not to make eleven files. It is to make two or three files that survive cropping.
What changed in 2026
Four changes, one of which will break existing campaigns.
| Change | What it was | What it is now |
|---|---|---|
| Flexible Format | A toggle in ad setup that let one ad hold several assets and pick per placement | Removed in March 2026. The same behaviour now lives in Advantage+ creative and per-placement asset customisation |
| Feed default ratio | 1:1 square, 1080 × 1080 | 4:5 vertical, 1080 × 1350, for images. Feed video is now recommended at 9:16 |
| Recommended resolution | 1080 pixels on the long edge | 1440 pixels. 1440 × 1440, 1440 × 1800, 1440 × 2560 |
| Safe zones | Separate guidance for Reels and Stories | Unified. One 9:16 export with correct margins clears both surfaces |
The Flexible Format removal is the one to act on. If a campaign was built on that toggle, the ad still runs but the multi-asset logic is gone, and Meta will serve whichever single asset it has. Open anything built before March, check which asset is live per placement, and rebuild the mapping in Advantage+.
How asset mapping works now that Flexible Format is gone
Advantage+ creative decides per placement, and you control it through asset customisation rather than a single toggle.
Under the old system, one ad could hold a set of assets and Meta picked between them per surface. That logic is not gone, it moved. In the current build you upload your assets at ad level, then use placement customisation to say which file belongs to which surface, and Advantage+ handles the variations inside that constraint, cropping, enhancing and occasionally generating an alternate framing.
The practical difference is that the mapping is now explicit and yours to maintain. Before, an incomplete asset set was quietly handled. Now, if you upload a 4:5 file and no 9:16 file, Meta serves the 4:5 into Reels with bars or an automated crop, and you find out from the placement breakdown rather than from a warning.
So the audit is short. Open the ad, switch the breakdown to placement, and check that every placement receiving meaningful spend is receiving the asset you intended. Anything showing a cropped 4:5 in Reels is a fix worth making before you touch bids, budgets or audiences.
Also turn off the Advantage+ enhancements you have not chosen deliberately. Automatic brightness, aspect-ratio adjustment and text overlays are on by default in many accounts, and they will happily add a filter to product photography that was colour-matched on purpose.
The resolution change is the one to ignore, mostly. 1440 is a recommendation, not a requirement, and Meta compresses aggressively on delivery. Export new work at 1440 because it costs nothing. Do not re-export a library of proven 1080 creative to chase it.
The four ratios that cover everything
4:5, 9:16, 1:1 and 1.91:1. Every Meta placement takes one of these.
| Ratio | Export at | Where it runs | Share of impressions |
|---|---|---|---|
| 4:5 | 1080 × 1350 or 1440 × 1800 | Facebook and Instagram feed, Marketplace, search results, Explore | Feed placements ~28% |
| 9:16 | 1080 × 1920 or 1440 × 2560 | Reels, Stories, in-stream vertical, Facebook Reels | Reels ~40%, Stories ~18% |
| 1:1 | 1080 × 1080 or 1440 × 1440 | Carousel cards, Collection, right column fallback, Messenger inbox | Carousel ~10% |
| 1.91:1 | 1200 × 628 | Right column, in-article, some Audience Network | Low single digits |
Read the right-hand column before you decide where the effort goes. Reels alone now carry roughly the same weight as feed and Stories combined, and Reels only accepts vertical. If your production budget makes one asset properly and one asset badly, make the 9:16 one properly.
Worked through, that share changes production order. Suppose a month of creative is one shoot and four finished assets. The instinct is a square hero, a feed variant, a story cutdown and a spare. The share table says the correct split is two vertical assets, one 4:5 for feed, and one square for carousel, because roughly three in five impressions will be served vertically and only a quarter into the feed. Producing the vertical asset last, from leftovers, means the majority of your delivery runs on your worst file.
It also changes how the shoot is framed. Vertical-first means the camera is turned before the shoot, not the file cropped after it. A 9:16 crop pulled out of a horizontal frame loses the sides of the product, and on a phone that reads as a mistake even to viewers who could not name what is wrong.
The 4:5 shift matters for a simple physical reason: at the same width, a 4:5 image occupies about 31% more vertical screen than a square. Same bid, same audience, more thumb-time. That is the whole argument for switching, and it is enough.
Full placement reference
Native size per placement, for when a client asks for exact numbers.
| Placement | Image | Video | Notes |
|---|---|---|---|
| Facebook feed | 1080 × 1350 | 1080 × 1350 or 1080 × 1920 | Min width 600px. 4:5 is the current default |
| Instagram feed | 1080 × 1350 | 1080 × 1350 | Profile grid still crops to 1:1 |
| Instagram Reels | — | 1080 × 1920 | Up to 90s. Safe zone applies |
| Facebook Reels | — | 1080 × 1920 | Same asset as Instagram Reels |
| Stories, both apps | 1080 × 1920 | 1080 × 1920 | 15s per card. Safe zone applies |
| Carousel | 1080 × 1080 | 1080 × 1080 | 2 to 10 cards. All cards must match ratio |
| Collection | 1080 × 1080 | 1080 × 1080 | Cover plus 4 products minimum |
| In-stream video | — | 1080 × 1080 or 1080 × 1350 | Must be 15s or longer for mid-roll |
| Right column | 1200 × 628 | — | Desktop only. Text overlay renders small |
| Search results | 1080 × 1080 | 1080 × 1080 | Square crops most reliably here |
| Marketplace | 1080 × 1080 | 1080 × 1080 | Product-style imagery outperforms lifestyle |
| Messenger inbox | 1080 × 1080 | — | 1.91:1 also accepted |
| Audience Network | 1080 × 1080 | 1080 × 1920 | Third-party apps. Quality varies widely |
Safe zones, with the actual numbers
On a 1080 × 1920 asset, keep everything that must be read inside the middle 1265 pixels.
Meta's interface sits on top of your creative in Reels and Stories. The profile name and close button occupy the top band, the caption, CTA button and audio strip occupy the bottom. Text placed in either band is either covered or unreadable.
| Zone | Percentage | Pixels on 1920 height | What sits there |
|---|---|---|---|
| Top band | 14% | 0 to 270 | Profile name, sponsored label, close and menu icons |
| Safe middle | 66% | 270 to 1535 | All text, logos, faces, product, price |
| Bottom band | 20% | 1535 to 1920 | Caption, CTA button, audio attribution, engagement icons |
Because the Reels and Stories zones were unified in 2026, one correctly margined 9:16 export now clears both. That removes a real production cost, but only if the margins are built into the template rather than eyeballed per asset.
Build the margins into a template, once
Eyeballing the safe zone per asset is how the price ends up behind the CTA button.
Make one 1080 × 1920 project file in whatever editor you use. Add two locked guide rectangles, one from the top edge to 270 pixels, one from 1535 pixels to the bottom, filled at 30% opacity in a colour you would never use in creative. Save it as the template every vertical export starts from.
Then the check becomes visual and takes two seconds: if anything you need read is touching a coloured band, move it. Hide the bands before export. This removes the entire class of error rather than catching it, which matters because the error is invisible in your editor and only appears once the ad is live.
One more thing worth building in: a bottom margin slightly larger than Meta specifies. The interface grows. Caption lines wrap differently on smaller devices, and an asset designed exactly to 1535 pixels will occasionally get clipped on a phone with a shorter viewport. Design to 1480 and the asset survives interface changes without a re-export.
Native vertical assets are also cheaper to deliver. A 9:16 file built for Stories rather than a square file letterboxed into it is commonly reported to run 15 to 25% lower CPM on the same audience, because the ad reads as native rather than repurposed.
Text limits
Primary text truncates around 125 characters, headline around 27 on mobile feed.
| Field | Renders before truncation | Hard limit | Practical advice |
|---|---|---|---|
| Primary text | ~125 characters | Very long, but pointless | First 80 characters carry the offer |
| Headline | ~27 characters on mobile | 255 | Treat 27 as the real limit |
| Description | ~27 characters | 255 | Often not shown at all. Do not rely on it |
| Link display URL | Domain only | — | Use a clean domain, not a tracked redirect |
The truncation numbers are approximate for a real reason: Meta renders text differently across devices, languages and placements, so there is no single character count at which the More link appears. Treat the figures above as the point at which you should assume the reader stops, not the point at which the platform cuts.
For Urdu and mixed Urdu-English copy the effective limit is shorter still, because the rendered width per character is greater. If you are writing for a Pakistani audience, write the offer into the first line and treat everything after it as optional detail that most people will not open.
The 20% text-on-image rule is gone and has been for years, but the reason it existed has not changed: heavy text overlay performs badly. Overlay one short line, not a paragraph.
File specs
| Type | Formats | Max file size | Other |
|---|---|---|---|
| Image | JPG, PNG | 30 MB | Min width 600px. sRGB |
| Video | MP4, MOV | 4 GB | H.264, AAC audio, 30fps or higher |
| Video length | — | 241 minutes | Build for 15 to 30 seconds |
| Captions | SRT upload or burned in | — | Roughly 80% of feed video plays muted |
None of these limits are the ones that bite. The 30 MB and 4 GB ceilings are generous enough that you will not reach them with correctly exported creative, and if you are near them the file is almost certainly exported wrong. What bites is compression: Meta re-encodes everything on upload, and a video exported at a low bitrate goes in soft and comes out worse. Export video at a high bitrate and let Meta compress from a good source rather than a thin one.
Burn captions into the file rather than relying on the SRT upload. Auto-captions on Reels are inconsistent with Urdu and with English spoken in a Pakistani accent, and a caption that mistranscribes the price is worse than no caption.
Five mistakes that cost money
These are the defects we find most often when auditing an account that is spending without results.
- One square file for everything. It runs, but it is a smaller ad in feed and a letterboxed ad in Reels, which is where 40% of impressions now are.
- Text inside the bottom 20%. The price or CTA sits behind Meta's own button. This is the single most common defect in client creative.
- Assuming Flexible Format still works. Removed in March 2026. Anything built on it is now serving one asset everywhere.
- Writing a headline to 40 characters. Mobile feed shows roughly 27. The rest is written for nobody.
- Relying on auto-captions. They mistranscribe Urdu and accented English regularly, and a wrong price in a caption is a refund request.
Export checklist
Eight things to confirm before a creative leaves the editor.
- Two exports minimum: 4:5 for feed, 9:16 for Reels and Stories
- Long edge at 1440 pixels for anything newly produced
- All text and logos inside the middle 66% on the 9:16 file
- Captions burned in, checked against what is actually said
- Price, offer or claim readable at thumbnail size on a phone
- Primary text delivering the offer within 80 characters
- Headline written to 27 characters, not trimmed to fit later
- Carousel cards all the same ratio, first card carrying the hook
What to test once the sizes are right
Dimensions are hygiene, not strategy. They stop you losing money; they do not make money.
Once the export template is correct, the variables worth testing are the first three seconds, the hook line, and the offer framing. Ratio testing has a ceiling and you hit it quickly. Hook testing does not.
There is a useful sequence to it. Get the exports correct once, so that no impression is being wasted on a letterboxed or clipped asset. Then test hooks, three or four genuinely different openings rather than four edits of the same one. Then test the offer. Ratio and placement testing sits underneath all of that as maintenance, revisited when Meta changes something, not run as a monthly experiment.
Judge results on cost per outcome, not on the engagement numbers Ads Manager shows first. A vertical asset with a strong hook will often show worse hold-rate than a slow one and still deliver cheaper purchases, because it filters faster. Creative decisions made on watch time tend to produce ads that are pleasant to watch and do nothing.
If you are producing this yourself, the two services that connect to it are UGC ad production and video editing. If you are running paid search alongside, the same creative discipline applies in Google Ads, where the constraints are text rather than pixels.
