UGCfy AI

TikTok Ad Specs 2026: Resolution, Safe Zones, and Length by Placement

TikTok Ad Specs 2026: Resolution, Safe Zones, and Length by Placement

Short answer: TikTok ad specs call for vertical 9:16 creative, delivered as an MP4 or MOV file with a constant frame rate and an audio track, and laid out so every hook, caption, and product beat sits inside a central safe zone away from the top status area, the right-side action rail, and the bottom caption and CTA strip. Exact pixel dimensions, file-size caps, duration limits, and character counts are set by TikTok and change without notice, so confirm them in TikTok Ads Manager before a build.

This page is a build reference for TikTok ad specs: the aspect ratio, file format, safe-zone layout, and text fields you need to get right before an export leaves your editor. It is not a creative library. If you want pattern ideas instead of measurements, go to TikTok ad examples. What follows is how to lay out a frame so the platform's interface does not eat the part of the ad that carries the message.

One editorial note before the details. Our source snapshot for this update did not return usable copies of TikTok's official specification pages, so this article deliberately avoids stating pixel counts, megabyte caps, second counts, and character limits as fact. Numbers on spec pages decay fast, and a confidently wrong number costs a media buyer a re-export. Everything below is structural guidance that holds even when the exact figures shift, with instructions on where to read the current values yourself.

Where to read the current numbers

There are three authoritative surfaces, and they do not always agree:

  • TikTok Ads Manager upload validation. The most reliable check. Upload the file into a draft ad and let the system reject or accept it. Validation reflects what the platform enforces today, not what a help article said last quarter.
  • The TikTok Business Help Center article for video ad specifications. This is the canonical written list for resolution, aspect ratio, file types, file size, duration, and text limits per placement.
  • The Spark Ads help documentation. Spark uses an existing organic post, so the constraints come from what was already published rather than from a fresh upload.

Build a habit around this: before any large creative sprint, one person opens Ads Manager, uploads a throwaway test file at your intended export settings, and screenshots the result. That catches most spec problems before they multiply across a batch of variants.

The frame: vertical first, full bleed

TikTok is a full-screen vertical feed. The video fills the display, and the interface is drawn on top of the video rather than beside it. That drives the layout decisions below.

Practical consequences for the export:

  • Aspect ratio. Build 9:16. Square and landscape files can be accepted in some placements but they get letterboxed or cropped, and the empty bands are wasted attention in a full-screen environment.
  • Resolution. Master at the highest vertical resolution your pipeline supports and export down. Upscaled footage looks soft against native phone capture, and softness reads as "ad" in a creator-style edit.
  • Container and codec. MP4 with H.264 video and AAC audio is the safest default across ad platforms. MOV is commonly accepted too. Exotic codecs, variable frame rates from screen recorders, and 10-bit exports from phone cameras are the usual culprits behind mystery upload failures.
  • Frame rate. Keep it constant. A variable frame rate file that plays fine locally can transcode badly on the platform side.
  • Audio. Ship with audio, always. Sound-off design is fine as a fallback, but TikTok is a sound-on environment and a silent track feels broken.

Confirm the exact accepted resolutions, file-size ceiling, and duration range in Ads Manager before you lock an export preset for the quarter.

Safe zones: the spec most creative fails

Hands holding a phone in portrait mode showing abstract interface overlay regions across a vertical video
Check safe zones on a real handset, not only in a desktop preview.

Resolution errors get caught at upload. Safe-zone errors do not. The file passes validation, the ad goes live, and the on-screen hook sits underneath the username, the caption, or the CTA button for its entire run. Nobody sees an error message. Performance just quietly disappoints.

Think of the vertical frame as four regions:

  • Top band. The device status bar plus platform chrome. Anything placed here competes with the clock and battery icons. Treat it as unusable for text.
  • Right rail. Profile avatar, like, comment, share, and the spinning sound disc. This column is occupied down a large portion of the frame height. Never place a product, a face's key features, or reading text against the right edge.
  • Bottom block. The account handle, ad caption, music ticker, and the call-to-action button. This is the deepest intrusion in the layout and the one people underestimate most, because in an editing timeline the bottom of the frame looks empty and inviting.
  • Center safe area. The remaining middle column. This is where hooks, captions, price callouts, and the product itself belong.

A workable production rule: design your on-screen text into a centered column with generous margins on all four sides, and pull it up from the bottom more aggressively than feels necessary. If your text block would look slightly too high in a bare 9:16 preview, it is probably positioned correctly once the interface is drawn on top.

Then verify rather than assume. The reliable method is to publish the video as a private or unlisted organic post on a test account, screenshot the playback on a real phone, and drop that screenshot into your editor as a reference layer. Repeat on both a small phone and a large one, because the chrome position shifts with device dimensions and notch geometry. Ads Manager previews are useful but they are not a substitute for a real device.

Two more failure modes worth naming. First, burned-in subtitles that run edge to edge: shorten the lines and center them instead. Second, end cards that put a logo or offer at the very bottom of the last two seconds, exactly where the CTA button lives.

In-Feed versus Spark: what changes

Both placements deliver a vertical video into the feed, but the input differs and so does your control over the specs.

Standard In-Feed ads start from a file you upload. You control resolution, duration, and export settings directly, and you supply the ad text and CTA in Ads Manager. The safe-zone problem is fully yours to solve at the edit stage.

Spark Ads promote an existing organic post from your account or from a creator's account, with authorization. The video was already published, so its resolution, length, and caption are whatever was posted. You cannot re-crop it inside Ads Manager. The practical implication: if you plan to run a post as Spark, it needs to be built to ad safe zones on the day it is posted organically, not retrofitted later. Spark also carries the organic engagement and the creator handle, which changes how the frame reads. There is more detail on that mechanic in our guide to TikTok Spark Ads.

Other placement-adjacent things to verify in Ads Manager for your account and region: which objectives support which formats, whether a given placement allows a specific CTA set, and whether the ad text field length differs by objective. These change.

Text, caption, and CTA limits

TikTok ads carry text in three separate places, and confusing them is a common source of rework:

  1. Ad text (the caption). The line that appears near the bottom of the frame above the CTA. It has a character limit set by TikTok, and it truncates. Front-load the meaning into the first few words and assume the rest may be cut on a small screen.
  2. Call-to-action. Usually chosen from a preset list rather than typed freely, though a customizable option exists in some setups. Check which set is available for your objective.
  3. On-screen text inside the video. No platform character limit, because it is pixels, not a field. This is where the hook lives and it is entirely governed by the safe zones above.

Some practical constraints that are more about readability than policy. Emoji and special characters can render differently across devices and may count oddly against character limits. Text baked into the video in a language other than the ad account's default will not be localized automatically, so multi-market rollouts need separate exports per language rather than one master with a swapped caption. If you are shipping across markets, plan the on-screen text as a variable in the build, not as a fix afterwards.

For the wording of the first line itself, our list of TikTok hooks for UGC ads is the companion piece to this one.

A pre-flight checklist before you ship

Run this on the first variant of every batch, then spot-check the rest:

  • Aspect ratio is 9:16 and the file is full bleed with no baked-in letterbox bars.
  • Export is MP4 or MOV, constant frame rate, with an audio track present.
  • File size and duration confirmed against current Ads Manager validation, not against a saved preset from last year.
  • All on-screen text sits inside the center safe column, checked against a real device screenshot on at least two phone sizes.
  • Nothing important in the last two seconds sits behind the CTA button.
  • The hook is legible at small size with sound off, and the same message also works with sound on.
  • Ad text front-loads the offer in case of truncation.
  • If the asset is destined for Spark, the organic post was built to these same margins before publishing.
  • Any disclosure your team requires for AI-assisted or creator-collaboration content is present and readable, and not tucked into a covered region.

Building variants without breaking the layout

Grid of printed vertical video frames pinned to a wall for ad variant review
Lock one template with safe margins drawn in, then vary only the hook layer.

Spec compliance gets harder as volume goes up. One carefully positioned hero video is easy. A batch of hook variants produced under deadline is where text drifts toward the bottom of the frame and someone exports a square master by accident.

Two habits help. Lock a single template with the safe margins already drawn as guides, and treat that template as the only starting point. And keep the variable elements, mainly hook text and end card, in their own layer so a swap never moves the layout.

This is also where a generation workflow helps. UGCfy AI starts from a product URL or brief and produces hooks, scripts, storyboards, AI actor scenes, captions, and ad-ready video, with vertical 9:16 and square 1:1 outputs and multi-language support, so teams that need many localized variants can work from one consistent vertical setup rather than re-laying out each market by hand. It does not remove the safe-zone check. Whatever the source of the footage, a human still has to look at it on a phone.

Specs are the floor, not the strategy. Passing validation means the ad can run; it says nothing about whether the first second earns attention. Once the layout is clean, the work moves to what you change between variants and how you measure it.

Ship vertical variants faster

Start from a product URL and generate creator-style vertical video, hooks, and captions in 9:16, ready to drop into your safe-zone template.

Build TikTok UGC ads with UGCfy AI

Frequently asked questions

What aspect ratio and resolution should TikTok ads use?

Build vertical at 9:16 and master at the highest vertical resolution your pipeline supports. TikTok plays full screen, so square or landscape files get letterboxed or cropped and waste attention. Confirm the exact accepted resolutions and the current file-size ceiling in TikTok Ads Manager before locking an export preset, since published figures change.

What is a TikTok ad safe zone?

It is the central region of the vertical frame that the app's interface does not cover. The top status area, the right-side action rail with the profile, like, comment, share and sound icons, and the bottom block with the handle, caption and CTA button all sit on top of your video. Any hook text, product shot or offer placed in those regions can be obscured during playback.

How do I check safe zones properly?

Publish the video as a private or unlisted organic post on a test account, play it on a real phone, screenshot the playback, and import that screenshot into your editor as a reference layer. Check at least one small and one large device, because chrome position shifts with screen dimensions. Ads Manager previews help but are not a substitute for a real handset.

Do Spark Ads have different specs from In-Feed ads?

The delivered format is the same vertical video, but the input differs. Spark Ads promote an existing organic post, so its resolution, length and caption are already fixed and cannot be re-cropped in Ads Manager. That means anything you might later boost as Spark should be built to ad safe zones on the day it is posted organically.

What file format is safest for TikTok ad uploads?

MP4 with H.264 video and AAC audio is the safest cross-platform default, and MOV is commonly accepted. Export at a constant frame rate and always include an audio track. Variable frame rate files from screen recorders and unusual codecs are the most common causes of upload failures or bad transcodes.

How long should on-screen text and ad captions be?

On-screen text inside the video has no platform character limit because it is pixels, not a field, so it is governed by legibility and safe zones. The ad text field does have a limit set by TikTok and it truncates, so front-load the offer into the first few words. Check the current limit for your objective in Ads Manager.

Why do my TikTok ads pass upload but underperform?

Upload validation only checks technical constraints such as format, size and duration. It does not check whether your hook sits under the caption or your end card sits behind the CTA button. Layout problems produce no error message, so they need a manual device check on the first variant of every batch.