Design on a 1080 x 1920 frame and keep text inside roughly the middle band: about 130 px in from the left, 269 px down from the top, in a 670 x 998 px box. Instagram draws its own status bar, action rail, caption and reply bar over everything outside that. These insets are measured approximations, not published Meta values.
What a safe zone actually is
Your Reel or Story is not displayed in a clean rectangle. It is displayed underneath Instagram’s interface. The video fills the screen edge to edge, and then the app paints on top of it: a status bar and clock, a username and audio strip, the like, comment, share and menu buttons stacked down the right edge, the caption, a call-to-action button, progress bars, a reply field. Everything that lands under those elements is either hidden or unreadable.
So a safe zone is not a technical constraint like an aspect ratio. Nothing gets cropped. It is a layout constraint: a map of where the app’s chrome sits, so you can put your words somewhere else. This tool draws that map over your own frame at 1080 x 1920 and tells you which interface elements your text collides with, in Reels and Stories side by side.
Why the two surfaces differ
Reels and Stories share the same 9:16 canvas and almost nothing else. Reels put a tall column of action buttons down the right edge and a deep caption block across the bottom, because a Reel is a piece of content people react to. Stories put progress bars and a header across the top and a reply field along the bottom, because a Story is a sequence people tap through. If you post the same asset to both, your text has to clear the union of both layouts, which is a considerably smaller box than either one alone.
Measured insets at 1080 x 1920
| Surface | Interface element | Region (% of frame) | Pixels at 1080 x 1920 |
|---|---|---|---|
| Reels | Status bar and top row | Top 7% of the height | y 0 to 134 |
| Reels | Caption, audio strip and CTA | Bottom 20% of the height | y 1536 to 1920 |
| Reels | Action rail (like, comment, share, menu) | Right 14% wide, from 20% to 82% down | x 929 to 1080, y 384 to 1574 |
| Reels | Profile row on the left edge | Left 10% wide, bottom 34% tall | x 0 to 108, y 1267 to 1920 |
| Stories | Progress bars and header | Top 11% of the height | y 0 to 211 |
| Stories | Reply bar | Bottom 13% of the height | y 1670 to 1920 |
| Stories | Tap-back dead zone (left third) | Left 33% wide, 11% to 87% down | x 0 to 356, y 211 to 1670 |
| Stories | Tap-forward dead zone (right third) | Right 33% wide, 11% to 87% down | x 724 to 1080, y 211 to 1670 |
| Both | Combined text-safe box on the downloadable template | x 12% to 74%, y 14% to 66% | x 130 to 800, y 269 to 1267 (670 x 998 px) |
The two Stories thirds are a different kind of obstruction from the rest. Nothing is drawn over them — they are gesture targets. A tap on the left third jumps back, a tap on the right third jumps forward. Visual content there is perfectly visible; it just cannot be tapped. That distinction matters for one thing in particular: never put a link sticker, a poll, a question box or a “tap here” prompt inside a tap third, because the tap will move the Story instead of hitting your sticker.
This also produces a deliberate inconsistency worth knowing about. The on-screen checker counts the tap thirds as collisions, so a box in the left third turns red. The downloadable template’s green box spans 12% to 74% horizontally, which overlaps both thirds. That is not a bug: the template’s box marks where pixels are never covered, while the checker is stricter and also flags where taps are swallowed. Use the green box for headlines and burned-in text, and the checker’s stricter verdict for anything interactive.
How to use the checker
- Drop a real frame. Export a still from your Reel — the frame where your title card appears — or the flat design of your Story. If you skip this, the tool falls back to a gradient, solid or ruled test canvas, which is fine for pure layout work.
- Position the text box. The four sliders set left, top, width and height as percentages of the frame, and the readout converts them to pixel coordinates on the 1080 x 1920 canvas. The box outline is green when it clears every enabled mask and red when it does not.
- Read the collision list. Every hit is named, split by Reels and Stories, with the percentage of your text box that element covers. A 6% overlap on the caption block is a nudge; a 60% overlap means start again.
- Turn masks off deliberately. If you are only ever posting to Stories, uncheck the Reels set. If you know your Reel has no CTA button, uncheck it. Just be honest with yourself about which ones genuinely do not apply.
- Take the template into your design tool. The 1080 x 1920 template PNG has every mask drawn and labelled, plus a faint 10-column by 20-row guide grid and centre lines. Drop it on a locked top layer in Figma, Canva, Photoshop or Illustrator, design underneath it, and hide it before export.
Designing so this never becomes a problem
The pattern that survives every layout change is the same one that works in print: keep the message in the optical centre and let the edges be texture. Concretely, that means a title card whose text block sits between roughly 15% and 65% of the frame height, horizontally centred, with generous padding. It means resisting the urge to run a caption along the very bottom, where the Reels caption block and the Stories reply bar both live. It means not tucking a logo into the bottom-left corner, which is exactly where the profile row sits in Reels.
A second habit: design once for the tighter of the two layouts. A frame that passes the combined Reels-plus-Stories check cross-posts without re-laying out. Design for Stories only and the Reels action rail lands straight through the right side of your text.
Third: set the type larger than feels necessary. The frame is 1080 px wide in your design tool and roughly 400 to 500 points wide in the hand.
The honest limits
These insets are approximations, not official Meta values. Meta does not publish a safe-zone specification for organic Reels and Stories. The numbers in the table are measured from the app’s layout as it behaves in practice and rounded into clean proportional bands. They are a guide, not a guarantee.
They shift, and here is what shifts them. Device height and aspect ratio: a phone taller than 9:16 letterboxes or crops your frame and moves every element relative to your pixels. Notch or Dynamic Island size: the top band grows and shrinks with the hardware. Caption length: a three-line Reel caption pushes the bottom block considerably higher than a one-line caption, and a caption someone has expanded covers more again. App version: Instagram redesigns this interface regularly, and a button that was not there last quarter is a new mask. Language and text-size settings shift it too.
Leave yourself a margin rather than hugging the edge. A text block that clears the caption mask by one pixel passes in the tool and fails on a phone whose caption ran to an extra line. Aim to clear each mask by a visible gap, not by a rounding error.
Always check on a real phone before you publish. Put the asset in a draft, open it in the app on the device your audience actually uses, and look. That takes thirty seconds and is the only test that is authoritative. A tool that draws rectangles on a canvas cannot know what your specific build of the app will render.
What the tool does not do. It does not read your video — drop a still frame instead. It does not render fonts or lay out your actual text; the box is a proxy for wherever your type will sit. It caps sources at 80 MB and roughly 80 megapixels, and exports PNGs at exactly 1080 x 1920.
This runs in your browser
No sign-in, no Instagram password, no account connection. Images you open here are read by your own browser with the Canvas API from a local object URL. There is no upload endpoint on this site, so there is nowhere for the file to go. Open your browser’s network tab and watch: after the page loads, there are no further requests.
Frequently asked questions
What is the Instagram Reels safe zone?
On a 1080 x 1920 frame, keep text clear of roughly the top 7%, the bottom 20%, a 14%-wide action rail down the right edge between 20% and 82% of the height, and a 10%-wide profile strip in the bottom-left third. These are measured approximations, not published values.
What is the Stories safe zone?
Clear the top 11% for progress bars and the header, and the bottom 13% for the reply bar. The left and right thirds between those bands are tap targets rather than covered pixels — visible, but anything interactive placed there gets tapped past.
Are these official Meta safe-zone numbers?
No. Meta does not publish a safe-zone specification for organic Reels and Stories. These insets are measured from the app’s observed layout and rounded to clean proportions. Treat them as a design guide and verify on a real device.
Where is it safe to put text in both Reels and Stories?
The template’s combined box runs from x 130 to 800 and y 269 to 1267 on a 1080 x 1920 frame — about 670 x 998 px in the middle. Nothing in that region is covered on either surface, though the stricter on-screen check also flags the Stories tap thirds for interactive elements.
Why does my text pass here but get covered on my phone?
Because the real insets move. A longer caption pushes the Reels bottom block up, a taller phone changes where your pixels land, a bigger Dynamic Island grows the top band, and app updates redraw the interface. Leave a visible margin and check a draft on the device before publishing.
What size should a Story or Reel template be?
1080 x 1920 px, a 9:16 ratio. That is what the tool previews and what the downloadable template PNG is exported at, so guides drawn against it line up with your design canvas exactly.
Can I check a video with this tool?
Not directly. Export a still frame from the moment your text appears and drop that in. The tool reads images only, and the layout question is about a single frame anyway.