Benchmarks
Safe zones for reels, stories and feed posts, in pixels
The short version
- Reel or story, 1080×1920: the app's own interface covers the top 112 px, the bottom 256 px, and a 144 px strip on the right between y 576 and y 1670. The clear rectangle is 936×1552.
- The same frame as a paid ad: Meta's ads guide keeps text between y 272 and y 1248, which is a band 976 px tall.
- Feed post, 1080×1350: the profile grid shows a 3:4 centre crop, so the mark and the headline stay between x 40 and x 1040.
- YouTube thumbnail, 1280×720: the duration badge takes the bottom-right 240×104. We hold no measured box for YouTube Shorts or TikTok, so this article gives none.
Kamply is a Mac app that builds posts and reels with you, on your brand. It works with your own Claude Code or Codex subscription. See pricing.
The numbers for a 1080×1920 reel or story
These are the boxes Kamply builds to. The app's engine, the part that lays out and checks each piece, keeps them in one file, the format registry, and every reel, story and reel cover the app makes is measured against them before you see it. All values are pixels on a 1080×1920 frame, with x counted from the left edge and y from the top.
If you remember one rectangle, make it the clear one: 936 px wide and 1552 px tall, starting 112 px down from the top and flush with the left edge.
- Top 112 px: the profile strip and the phone's status bar sit here.
- Bottom 256 px: the caption and the reply bar sit here, so the clear area ends at y 1664.
- Right 144 px, between y 576 and y 1670: the column of like, comment and share buttons. In the registry it runs from 30 to 87 hundredths of the frame height.
- Clear rectangle: x 0 to 936, y 112 to 1664.
Where each number comes from, and when it was checked
The frame size, 1080×1920, is from Instagram's help pages. The registry names the page and records no date for when it was read.
The right-hand strip was measured by us in September 2026. The registry entry says so in its source line, and the decision record that introduced the boxes is dated 2026-09-06. The top and bottom figures sit in the same block of the registry with no separate date. All three are rounded to the engine's 8 px grid.
The original screenshots those measurements were taken from are not filed with the engine docs. Further down this page the registry values are drawn over finished work, which is what we can show.
Before 2026-09-06 our own plan pages drew safe zones as 5.5, 13 and 13 percent of the frame with no source. The decision record says this in those words. The percentages were replaced with the pixel boxes above, and the check described at the end of this article applies to every build whose brief locked on 2026-09-07 or later.
The right strip is why a hook headline is 10 columns wide
Our 9:16 layout has 12 columns inside a 72 px margin. A headline that spans all 12 ends at x 1008, and the button column starts at x 936. The last word of every full-width line would sit under the like button.
So a hook headline on a reel spans 10 columns, 776 px, and ends at x 848. Its top edge starts at y 184. A lower-third caption plate ends at y 1592, 72 px above the bottom of the clear rectangle.
The strip only runs from y 576 to y 1670. The registry still draws the clear rectangle 936 px wide for the full height, so a layout that stays inside it never has to track where the strip starts.
A full-width headline on a reel loses its last word to the like button.
Ads use a tighter band than organic posts
Meta's ads guide for story and reel placements keeps text out of the top 14 percent and the bottom 35 percent of the frame. On 1080×1920 the engine holds that as y 272 to y 1248, a band 976 px tall. The registry cites the guide and records no date for it.
We treat the two kinds of box differently. The interface margins are hard, because text there is physically covered. The ad band is advisory, because it only applies when the piece runs as a paid placement. The overlay draws it in grey and the check does not fail on it.
The story below shows the difference. Its offer line and button sit below y 1248, outside the ad band and inside the clear rectangle. That is fine for an organic story. Run as an ad, the same layout would need the text moved up.

Feed posts at 1080×1350: the grid crop
A 4:5 feed post is shown whole in the feed. On the profile grid Instagram shows a 3:4 centre crop of it, which the registry records as 1012×1350. That trims about 34 px from each side.
The engine rounds inward to its grid and keeps the mark and the headline between x 40 and x 1040, a box 1000 px wide and the full 1350 px tall. Text sits further in again, on the 72 px margin. The frame size is from Instagram's help page for portrait posts, with no date recorded.
The size hub lists every frame the engine builds to, and the Instagram feed post page draws this box at full size.

YouTube thumbnails, and what we do not have
For a 1280×720 thumbnail the registry holds one rule. YouTube draws the video's duration badge in the bottom-right corner, so keep text out of the last 240×104 px. The usable box is 1040×616 from the top left. The frame size is from YouTube's help page. The badge box has no measurement date on file, so treat it as a working margin.
The registry has no entry for YouTube Shorts and none for TikTok. We have not measured either, and the Instagram numbers above should not be read as covering them.
How Kamply checks this on every build
In Kamply the boxes are a check, and a build that breaks one is not shown to you as finished. Before a post reaches you, the engine measures each text box in the rendered page against the margin and the hard boxes for that format. Text inside the top 112, the bottom 256 or the right strip fails the build, and the crew fixes the layout and runs the check again.
While a piece is being built, pressing G on the served page draws the grid over the work. The two figures above draw the same registry values. The locked brief covers what is agreed before any of this is drawn, and the post on brand drift covers the other checks a build has to pass.
Questions this post answers
- What is the safe zone for an Instagram reel in pixels?
- On a 1080×1920 frame, keep text out of the top 112 px, the bottom 256 px, and the right 144 px between y 576 and y 1670. The clear rectangle is 936×1552. These are the values in Kamply's format registry. The right strip was measured in September 2026.
- Is the safe zone different for a reel ad?
- Yes. Meta's ads guide keeps text out of the top 14 percent and the bottom 35 percent of a story or reel placement. On 1080×1920 that is the band from y 272 to y 1248.
- Does a 4:5 feed post get cropped?
- Not in the feed. On the profile grid Instagram shows a 3:4 centre crop, recorded in our registry as 1012×1350. Keeping the logo and headline between x 40 and x 1040 keeps them inside it.
- Do these numbers apply to YouTube Shorts or TikTok?
- We do not know. Kamply's registry has no measured box for either, so this article gives no numbers for them.

