Check Your Ad Against Reels, TikTok and Shorts Safe Zones Before You Publish
BannerPeek · September 24, 2026
The creative is approved. It looked perfect in Figma, perfect in the deck, perfect in the PDF the client signed off. Then it goes live, you open Instagram on your own phone, and the price sits under the Share button while the headline is half-swallowed by the top bar. Nobody signed off on that version, but that is the version the audience sees.
This happens because a 9:16 creative is never shown on its own. Instagram, TikTok and YouTube draw their interface on top of it: a profile row, a caption, a like-comment-share column, a progress bar, and on a paid placement a Sponsored label and a call-to-action button. Your ad is the background of someone else's screen.
Why the template you downloaded does not save you
Most teams check safe zones with a PSD template someone found years ago. Three things go wrong with that:
- The templates age. Apps move their buttons more often than templates get re-exported. A 2021 Reels template is a guess about today's app.
- An ad is not an organic post. A Reels ad has a Sponsored label and a button, and that button eats a band of the frame that an organic Reel leaves free. The same file can pass as a post and fail as an ad.
- Every placement is different. A Story has no button column on the right, so it is the friendliest placement of all. Reels is the harshest. If you design for Stories and reuse the file on Reels, you lose the bottom third.
The fix is not a bigger template. It is looking at the actual creative inside the actual interface, which takes about a minute.
The check, in one minute
Here is the same ad twice. On the left, laid out the way a static banner would be: headline at the top of the canvas, price and button at the bottom. On the right, the corrected version, with everything inside the area the app leaves alone.
running shoes
running shoes
Nothing changed except where the elements sit. No re-shoot, no new export from the video editor beyond one render. That is the whole point of checking before publishing rather than after.
Do it yourself with your own file in the safe zone checker: drop the JPG, PNG, GIF or MP4 in, switch between Reels, Reels ad, Story, Story ad, TikTok and YouTube Shorts, and turn the zones on and off. The file is read in your browser and never uploaded, so you can check unreleased work without sending it to anyone.
The three mistakes that account for almost everything
1. Text in the top bar. The top 200–220 px of a 1080×1920 frame belong to the app. A headline that starts at the very top of the canvas starts underneath the profile row or the Stories progress bars.
2. The call to action at the bottom. This is the expensive one. On Reels the bottom 700 px are covered by the caption, the audio line and the profile row. Designers put the button at the bottom because that is where a button goes on a landing page; on a Reel it goes in the middle.
3. Anything vertical on the right edge. The like, comment, save and share column takes about 170 px on Reels, TikTok and Shorts. A vertical lock-up, a price tag in the corner, a logo tucked into the right margin: all gone.
One habit.Start free
One bottle.Niacinamide + squalane
Video needs the same check, one second at a time
A still frame lies. Most video ads are safe for fourteen seconds and fail in the last one, because the end card — logo, URL, offer, legal line — is centred on the canvas and lands exactly where the caption and the CTA button sit. The same goes for a logo reveal that slides in from the right.
So check the video, not a screenshot of it: play it inside the placement with the overlay on, and watch the end card specifically. If the end card is the only problem, you usually fix it by scaling the lock-up down 15% and lifting it above the safe line, which is a two-minute change in After Effects and a re-render, instead of a reshoot.
Doing it for a whole campaign, with the client
One file at a time is fine for your own work. A campaign is six creatives, three ratios and a client who has to approve them, and that is where the check falls apart: you verify everything, the client looks at the flat files in a PDF, approves them, and neither of you has seen what the audience will see.
The way we do it in BannerPeek:
- Create a campaign and drag the whole folder in — HTML5 zips, JPGs, GIFs and MP4s together. Sizes are detected from the files, so nothing has to be typed.
- Group the files as the media plan groups them (by placement, by language, by ratio) by dropping them into groups while they upload.
- Open a 9:16 file and pick the placement from the "Preview as…" dropdown under it: Instagram Reels, Reels ad, Story, Story ad, YouTube Shorts, Shorts ad or TikTok.
- Tick "Safe zones" to see what the app covers, untick it to see what the viewer sees. The interface is drawn over the live creative, so on a video it plays underneath and you can scrub to the end card.
- Send the client one link. They get the same dropdown and the same toggle without an account, so "the logo is hidden on TikTok" is something they can see and point at, not something they have to take on faith.
Because the overlay is display-only, the comment pins still work underneath it: the client clicks the spot where the text is covered, and on video the comment is attached to the exact second of the animation. When they hit Approve, the name, time and IP are recorded against that version.
The numbers themselves — what is covered, on which placement, in pixels — live on the safe zone checker, measured on real screenshots in September 2026 and re-checked when the apps change.
What this does not cover yet
Today the placements are the 9:16 ones: Instagram Reels and Stories, YouTube Shorts, TikTok, organic and paid. Feed formats (1:1 and 4:5) and Facebook's own Reels and Stories are next. If you work mostly in Feed, the check above does not help you yet, and no tool that claims to cover "all placements" with one template is helping you either.
The short version
- The app draws its interface on top of your ad; design for what is left, not for the canvas.
- Check the ad in the placement it will run in, as an ad and not only as an organic post.
- Check video at the end card, not on a frame from the middle.
- Let the client see the same view before they approve, so the approval means something.
Check a creative now — it takes a minute and it is free.
Related articles
- Video Ad Approvals Without the Slack and Drive Chaos
Why video ads get lost between Drive links, Slack threads and Teams chats, and a simple way to share video cuts with clients so feedback lands on the exact second and the approval is on record.
- How to Share Banner Ads with Clients for Review (HTML5, Static, GIF, Video)
The ways designers send banners to clients, from zip attachments to preview links, and why each one breaks. A practical guide to sharing HTML5, static, GIF and video ads so clients can actually see them, comment, and approve.
- How to Share Google Web Designer Banners with Clients for Review
Google Web Designer can make a shareable preview link, but only one ad per link, only for some ad environments, and with no comments or approvals. Here is what it does, where it stops, and how to send a whole GWD campaign to a client as one link.
Share your next campaign with one link
HTML5, image and video banners on one preview page, with pinned comments and approvals. Free while in early access.