Expert answers, technical specs, and troubleshooting for social video safe zones, HTML5 display ads, clickTag, and privacy.
A safe zone is the part of a 9:16 video or image that stays visible once the app draws its interface on top: usernames, captions, audio labels, like, comment and share buttons, progress bars and search bars.
Text, logos or faces outside it get covered, so viewers miss the hook or the offer. Keep anything that must be read or recognised inside the safe box, and check the finished file in the Safe Zone Checker before it ships.
TikTok's own In-Feed ads template, scaled to 1080×1920, keeps 240 px free at the top, 660 px at the bottom and 120 px on each side, a safe box of 840 × 1020 px. From 840 px down, the like, comment and share column adds a 180 px block on the right, so the right margin there is 300 px. Longer ad captions shrink the area further. Source: TikTok In-Feed ads help, verified 30 September 2026.
TikTok publishes no organic template. The Feed overlay in the checker is measured from the app at about 200 px top, 334 px bottom, 86 px left and 140 px right.
Meta publishes numbers for ads only. For Reels ads and Stories ads the Meta Ads Guide asks for 14% at the top, 35% at the bottom and 6% on each side to stay free of text and logos. On 1080×1920 that is 269 px, 672 px and 65 px, which leaves a 950 × 979 px safe box.
Organic Reels show less interface. The Feed overlay in the checker is measured from the app at about 250 px top, 319 px bottom, 86 px left and 119 px right. Organic Stories have no call to action, only the Send message bar, so the checker uses a lighter guide there: 250 px top, 250 px bottom and 65 px on each side, a 950 × 1420 px safe box. Meta publishes no organic numbers, so that guide is not official.
Google publishes one vertical safe zone for every YouTube vertical video ad, Shorts included: 288 px top, 672 px bottom, 48 px left and 192 px right on 1080×1920, a safe box of 840 × 960 px. The wide right margin clears the like, comment and share buttons. Source: Google Ads Help, verified 30 September 2026.
Google publishes no number for organic Shorts, so the Feed overlay in the checker is measured from the app and works as a guide.
Snapchat: Snap publishes one safe zone for Stories, Spotlight and Commercials (Safe Zones for Ads on Snapchat): 10% top, 35% bottom and 6% on each side, which is 192 px, 672 px and 65 px on 1080×1920. A block on the lower right keeps the profile and call to action icons clear, so stay 162 px from the right edge in the lowest 864 px of the frame.
Pinterest Idea ads: 270 px top, 440 px bottom, 65 px left and 195 px right on 1080×1920, per the Pinterest product specs.
Under EBU R95 and SMPTE ST 2046-1, action safe sits 3.5% in from every edge (93% of the frame) and title or graphics safe sits 5% in (90% of the frame). On 1920×1080 the title safe box is 1728 × 972 px. The older 5% and 10% pair comes from SMPTE RP 218, which is deprecated except for caption windows.
The Ads numbers are. Each one was read from the platform's own ads guide or measured from its downloadable template, last verified on 30 September 2026, and every source is linked in the specs matrix. TikTok, Instagram, YouTube, Snapchat and LinkedIn publish no organic safe zones, so every Feed overlay on this site is measured from the app and labelled that way.
A clickTag is a JavaScript variable that holds the landing page URL. The ad server fills it in when the ad is served and counts the click, so the creative never hardcodes a link. Google Ads and CM360 both use the standard declaration var clickTag = "https://www.example.com";, CM360 expects it in the primary HTML file, and DV360 also accepts Studio exits. A missing clickTag, or one with the wrong casing such as clicktag, means clicks are not counted and the creative fails QA.
No. Google Ads accepts HTML5 ZIP files up to 600 KB with no more than 40 files. 150 KB is still the ceiling for a static GIF, JPG or PNG image ad, which is why the number keeps coming up. CM360 accepts ZIPs up to 9.5 MB with up to 100 files, and DV360 sets no ZIP ceiling but caps what the browser downloads at 5 MB. The Banner Validator checks each of them as a separate environment.
It is a meta tag in the head of index.html that states the size of the creative: the name is ad.size and the content reads width=300,height=250 for a 300×250 banner. Google Ads requires it. CM360 and DV360 do not, but when the tag is present the validator still checks that it matches the size the creative itself declares.
Google Ads rejects HTML5 ads that persist data in the browser, so in the Google Ads environment the Banner Validator reports localStorage, sessionStorage and IndexedDB as errors. Keep state in plain JavaScript variables instead. In CM360 and DV360 the same finding is only a warning, because some publishers still block creatives that store data.
The most widely used IAB formats are 300×250 (Medium Rectangle), 336×280 (Large Rectangle), 728×90 (Leaderboard), 160×600 (Wide Skyscraper), 300×600 (Half Page), 320×50 (Mobile Banner), 320×100 (Large Mobile Banner) and 970×250 (Billboard). The validator recognises every size Google lists for display ads.
No, never. Every AdCheckLab tool runs inside your browser with the Canvas API, the File API and JSZip. Your files never leave your computer and never touch a server.
Yes. Because all processing runs locally in the browser, you can load a page once and keep running safe zone checks and banner audits without an internet connection.
Download the PNG for your platform from the safe zone templates. Drag it onto the top video track of your timeline (V2 or V3), set its opacity to 50 to 70%, keep your text inside the clear box, and hide the track before the final export.
The Aspect Ratio Calculator works out exact pixel dimensions, scaling factors, letterbox padding and a bitrate estimate when you convert between 9:16, 16:9, 1:1 and 4:5.
The clickTag Generator builds a whole campaign in one table, one row per format with the landing URL entered once, and exports the clickTag code for Google Ads, CM360 and DV360 as a CSV. Its linter repairs existing code, for example by renaming a wrongly cased clickTag instead of adding a second one.