Safe zones are not guidelines, they are constraints
The interface eats the top and bottom of every vertical ad, and a different amount on every app. Here is where the frame goes, why letterboxing to rescue a composition is a kill, and the contract that decides layout before anything is drawn.
What is in here
- Where does platform UI actually cover a vertical ad?
- Why this post will not print the pixel numbers
- Design to the smallest guaranteed rectangle, not to the canvas
- Why is letterboxing an ad a kill?
- Crop the frame, not the asset
- The layout contract: decided in code, before anything is drawn
- How do I check an ad I already have?
Platform interface covers the top and the bottom of a vertical ad on every surface it runs on, and it covers a different amount on each one. A composition laid out on a clean 1080 by 1920 canvas gets its brand mark sat on and its caption buried. The fix is not a rescue pass at the end. Design to the smallest rectangle you are guaranteed everywhere, keep the picture bleeding to all four edges, and crop by moving the frame rather than shrinking the asset.
- Where the interface actually lands on a vertical frame, and why no two apps take the same bite
- Why this post gives you the rule and refuses to give you the pixel numbers
- The two kinds of crop: moving the frame edge, which costs nothing, against shrinking the asset, which is a letterbox
- The layout contract we run, where a text box that would leave its plate makes the plate grow or fails the render
- A check you can run on an ad you already have, in about four minutes
The numbers this post is built on
Three of these are ours01Where does platform UI actually cover a vertical ad?
Along the top, along the bottom, and down one side. A bar or a gradient across the top carrying the account row. A column of action controls down one edge - like, comment, share, the audio disc. A block along the bottom holding the handle, the caption, the call-to-action button and, on some surfaces, a progress bar. The picture keeps playing underneath all of it. Your composition does not.
The same frame, with the furniture on it
Tap the marks
The expensive failure is a process that treats the canvas as flat and the furniture as an afterthought, so the problem only surfaces at the end, where fixing it costs the most.
02Why this post will not print the pixel numbers
Because they move, and a wrong number in a blog post outlives the spec that made it wrong. Meta publishes its own safe-zone guidance for Stories and Reels ads, and it publishes per-placement specs in its ads guide. I opened both on 1 September 2026 to make sure they existed and to link them properly, and I am deliberately not copying their figures into this page. In six months somebody will find this post through a search, trust the number, and build to it.
What each surface puts on top of your frame
Switch between themThe most documented, and the one people still get wrong
Meta publishes a safe-zone article specifically about text overlays in Stories and Reels ads, which is more than most surfaces give you. Read it before you lay out a single card.
The failure I see most often is not the caption. It is the end card: a lockup centered in the lower third, which is exactly where the handle, the caption and the button live.
- Top: account row and a scrim over it
- Right: the action column, running most of the frame height
- Bottom: handle, caption, CTA button
- Where to get the number
- Meta's own safe-zone page, on the day you build
- The thing people forget
- The end card, not the captions
More furniture, and it moves more often
The action column is denser and the caption block runs deeper, because the caption is doing more work in that feed. TikTok publishes its own ad specifications in its business help center and updates them on its own schedule, which is not yours.
If you build one master and ship it everywhere, this is the surface that punishes you. A layout that clears Reels can still lose its bottom line here.
- The caption block is the deepest of the vertical surfaces
- Sound and profile elements share the right edge
- A single master across both platforms means the tighter one sets the rectangle
- Where to get the number
- TikTok's own ad specifications article, on the day you build
- The design consequence
- Design to the tighter rectangle, not to the average
Shorts, in-app placements, and whatever launches next quarter
Every vertical surface has a variant of the same three regions, and every one draws them slightly differently. Some of them also reflow when a viewer expands the caption, which means the covered area is not even fixed within a single session.
This is why the discipline is a rectangle rather than a list. A list of four placements is out of date the moment a fifth appears. A rectangle survives.
- Assume a top strip, a side column and a bottom block until proven otherwise
- Assume the bottom block can grow when a viewer taps the caption
- Assume anything you have not checked this quarter has changed
- The portable rule
- One rectangle, sized by the tightest placement you will run
- How often to re-check
- Every campaign, not every year
03Design to the smallest guaranteed rectangle, not to the canvas
Take the tightest placement you will actually run on, take its covered regions, and subtract them from the frame. What is left is the rectangle. Everything that has to be read, recognized or understood goes inside it: the proposition, the brand mark, the product at its clearest, the price if there is one. Everything else can live outside it and be beautiful.
This is not the same instruction as "keep your text in the middle." The picture still fills the entire frame. What changes is which part of the picture is load-bearing. A hand entering from the bottom edge is fine. A hand holding the product in the bottom edge is not, because the caption block is about to sit on the product.
Designing to the rectangle, against designing and then rescuing
Two processes| Dimension | To the rectangle | Design, then rescue |
|---|---|---|
| When the constraint enters | Yes. Before the first composition | No. At export, from a QA note |
| What moves when it does not fit | Yes. The frame, or the plate under the text | No. The whole picture, inward |
| Cost of a fix | Yes. Minutes, on paper | No. A re-render, and often a re-grade |
| What the viewer gets | Yes. Full bleed, nothing important covered | No. Bars, or a covered lockup, or both |
| Multi-placement delivery | Yes. One build, reframed per surface | Partly. One master, hoped for |
| Who catches the failure | Yes. The build, before a render exists | No. The client, in the feed |
The words we use when we argue about a frame
Search the vocabularyFull bleedDelivery
The guaranteed rectangleLayout
Frame-edge cropLayout
Occlusion budgetLayout
Cap height floorType
The 360-pixel proofQA
04Why is letterboxing an ad a kill?
Because bars are a signal, and the signal is that this ad was made for somewhere else. Black strips at the top and bottom of a vertical placement say the file arrived from a 16:9 timeline and nobody re-made it. Pillarboxing says the same thing louder. Our rule is blunt and it is enforced rather than requested: every frame fills the delivery canvas edge to edge, and the delivered file gets re-measured for flat bands along its edges instead of being trusted.
There is a second cost people miss. Bars do not only look borrowed, they shrink the picture into the exact region the interface is already competing for. You lose height at both ends and then hand what is left to a caption block. The rescue makes the original problem worse.

Four things people say about safe zones
Flip them05Crop the frame, not the asset
There are two ways to make a picture fit a rectangle, and only one of them is free. You can shrink the asset until it fits, which loses resolution and creates bars. Or you can move the frame across a picture that is bigger than the frame, which loses nothing and changes the composition on purpose.
So we composite into a buffer larger than the delivery canvas. Not much larger, and the exact ratio is build configuration rather than doctrine, but the principle transfers to any toolchain: give yourself room to move the frame without resampling it. Reframing for a second placement then costs a crop decision instead of a rebuild. It is the same instinct behind shooting wider than you cut.
Why the oversized buffer matters
Layer anatomy06The layout contract: decided in code, before anything is drawn
We learned this the expensive way. A review came back with eight static creatives carrying mechanical layout breakage: text running outside the background plates it belonged to, an image chip almost entirely hidden behind other elements, labels too small to read. None of it was a taste problem. All of it was a system that had no idea a text box had a plate it must not leave.
The build talking back
What a refusal looks likeSo it stopped being a review note. A text run that would leave its plate makes the engine grow the plate, or the render fails and says why. Every overlap carries a declared budget and the engine measures the real overlap after compositing, not the intended one. That second half matters: we once shipped animation that was real, expensive, and covered by a type layer in the delivered file. At feed size it read as a bug.
A rule is either in the path, or it is a suggestion.
Our own audit of which rules never broke, and which broke repeatedly
The layout half of our delivery contract
Copy it into your own specplate every text run belongs to a named plate fit the box fits, or the plate grows. no third option refuse a run that cannot fit its grown plate fails the render bleed zero letterboxed or pillarboxed frames, edge to edge buffer composite larger than you deliver, then move the frame rect nothing load-bearing outside the smallest guaranteed rectangle occlusion every overlap carries a declared budget, measured post-composite cap height >= 5% of frame height, measured off the ink, not the point size contrast 4.5:1 at delivery width, 3:1 at 360 px, worst local ground proof re-measure the delivered file, never the design file
The evidence behind that sentence is unflattering. When we classified our own rulebook, 149 of 293 rules existed only as documentation. The rules that never broke were the handful with a refusing gate in the only path to the effect. The ones that broke over and over were the ones written down as prose, and layout was top of that list. The longer argument is turning taste into checks a machine can run.
07How do I check an ad I already have?
On a phone, in the actual app, as a draft. Not in a preview window on a laptop. The preview lies by omission: it shows you the file, and the file is not what anybody watches. Five checks, about four minutes, and you can do all of them without opening an editor. One of them overlaps with the legibility floors a caption has to clear on a phone, which is the same problem measured on the type instead of on the frame.
The safe-zone pass
Tick as you go - it remembersOne honest limit. Clearing all five makes an ad legal, not good. Format compliance buys a small, real efficiency gain and nothing else: the best number anybody has published is CreativeX's finding of about 2% lower CPM per 10% gain in creative quality score, across 822,000 observations. Worth having. Not a campaign. The campaign is still the hook, which is how a short ad is built rather than how it is exported.
Four films that were framed before they were cut
Ours, built to the rectangleQuestions people actually ask
Open what you needWhat is the safe zone on Instagram Reels?
It is the region of the frame that platform interface does not cover: a band through the middle, with the top strip, the action column and the bottom caption block subtracted. Meta publishes the current figures in its own safe-zone article for Stories and Reels ads. Read it on the day you build rather than trusting a number from a blog post, including this one.
Where do captions get covered on Reels?
At the bottom, under the handle and caption block, and along the side edge where the action column sits. The failure people actually ship is not a caption though, it is the end card: a lockup composed into the lower third, which is precisely where the CTA button lands. Upload the cut as a draft and look at it before you deliver.
Can I letterbox a 16:9 video into a 9:16 ad?
You can, and we refuse to. Bars announce that the file was made for a different place and nobody re-made it for this one, and they also squeeze the picture into the region the interface is already competing for. Reframe instead: crop into the wide picture and lose the sides, or extend the frame with a declared treatment that somebody actually chose.
Do I need a different edit for TikTok and Reels?
Not a different edit. A different frame. Same cut, same sound, same type, reframed to the surface with the deepest interface furniture and then checked on the other one. If you only build one master, build it to the tighter rectangle, because designing to the average of two placements produces a file that is wrong on both.
What size should text be in a vertical video ad?
Big enough to survive being resampled to about a third of its delivered width. Our own floor is cap height at 5% of frame height or more, measured off the ink rather than the point size, because two faces at the same point size can have wildly different cap heights. The full argument is in our piece on legibility floors.
Is there a safe zone template I can download?
Templates go stale, which is the whole problem. Build your own once per campaign: open the current spec pages, draw the covered regions as guides over an empty 1080 by 1920 canvas, and save it with the date you checked in the filename. It takes ten minutes and it is correct for as long as the platform leaves the spec alone.
Safe zones get treated as guidelines because they are published as guidance, in a tone that sounds like advice. They are the shape of the hole your work has to fit through. The only difference between a constraint and a guideline is whether something refuses when you break it. Ours refuses. Make yours refuse, or a person has to remember, and people do not. The rest of the pass is in the pre-launch QA checklist for generated footage and in how to brief and QA ad creative.
Where the numbers came from
- Meta Business Help Center. About text overlays and the Safe Zone for ads in Stories and Reels - the current safe-zone guidance. Checked 1 September 2026. The numbers on it are deliberately not reproduced in this post
- Meta. Facebook Ads guide: ad format specs and recommendations - the per-placement spec index. Checked 1 September 2026
- CreativeX. Creative Quality Score against media cost, 822,000 observations at 99% confidence - the -2% CPM per +10% quality-score figure, 822,000 observations at 99% confidence
- W3C. Understanding Success Criterion 1.4.3: Contrast (Minimum) - the 4.5:1 and 3:1 thresholds our on-screen type gate is built from
Every figure above links to the place it was published. Numbers marked as ours are measured inside this studio and we say so where they appear. We do not print a statistic we cannot point at.
Send a link. Get one finished ad back.
One 9:16 film built from your own product, inside three days, free and yours whether or not we ever work together. Upload it as a draft and put the caption block over it. If anything that matters is underneath, you will know we do not follow our own rules.
Replies within a day. Ad within three.