← All platforms

TikTok

Accepted aspect ratios

9:1616:91:1

Official specs

Each row links to the platform's own documentation. Values are quoted as published — not rounded, not paraphrased. Platforms change specs; the linked page always wins over this table.

FieldRequirementSource
Aspect ratio (TikTok Ads, Auction In-Feed, non-Spark)Vertical (recommended): 9:16 | Horizontal: 16:9 | Square: 1:1ads.tiktok.com
Minimum resolution — vertical (Auction In-Feed)9:16, more than or equal to 540*960pxads.tiktok.com
Minimum resolution — horizontal (Auction In-Feed)16:9, more than or equal to 960*540pxads.tiktok.com
Minimum resolution — square (Auction In-Feed)1:1, more than or equal to 640*640pxads.tiktok.com
Max duration (TikTok Ads, non-Spark In-Feed)up to 10 minutesads.tiktok.com
Max file size (TikTok Ads, non-Spark In-Feed)Less than or equal to 500 MBads.tiktok.com
Minimum bitrate (TikTok Ads, non-Spark In-Feed)More than or equal to 516 kbpsads.tiktok.com
Accepted containers (TikTok Ads, non-Spark In-Feed).mp4, .mov, .mpeg, .3gp .aviads.tiktok.com
Frame rate (TikTok Ads In-Feed)Not stated — the ad spec article publishes no FPS/frame-rate requirement (confirmed absent, not merely unfound)ads.tiktok.com
Safe zone (TikTok Ads In-Feed) — the classic trip-up"The safe zone size is determined by the dimension (vertical, horizontal, or square), ad caption length, and any additional formats used." No pixel measurements are published inline; TikTok provides downloadable safe-zone template files (Standard LTR and Arabic RTL versions) instead.ads.tiktok.com
Ad caption display limit (Spark Ads)Extracted directly from the organic video captions. A maximum of 4 lines can be displayed, including emojis.ads.tiktok.com
Account name (Nickname) display limitMaximum 10 characters (CJK) or 20 characters (other languages)ads.tiktok.com
Profile photo — dimension / ratio (ad unit)98x98px, Square 1:1ads.tiktok.com
Profile photo — format and file size (ad unit)Formats: .jpg, .jpeg, .png; file size less than 50 KBads.tiktok.com
Profile photo — safe zone (ad unit)"The key element should be in the center of the 66px*66px-sized image to prevent it from being cropped."ads.tiktok.com
Spark Ads — format (per spec article).mp4 or .movads.tiktok.com
Spark Ads — duration (per spec article)"Video duration: No restrictions." — CONTRADICTS the Spark Ads article, see notesads.tiktok.com
Spark Ads — overall creative restrictions (per Spark Ads article)"There are no restrictions on video ratio, video resolution, file type, video duration, bitrate, and file size."ads.tiktok.com
Spark Ads — max video length (per Spark Ads article)10-minute maximum video length for content usable as a Spark Ad — CONTRADICTS "No restrictions" above, see notesads.tiktok.com
Spark Ads — account cap (trip-up)Each TikTok Ads Manager account can support a maximum of 10,000 Spark Adsads.tiktok.com
Spark Ads — deletion rule (trip-up)"Videos need to be un-authorized as a Spark Ad before it can be deleted"ads.tiktok.com
Organic — accepted containersMP4 (recommended), WebM, MOVdevelopers.tiktok.com
Organic — accepted codecsH.264 (recommended), H.265, VP8, VP9developers.tiktok.com
Organic — maximum file sizeMaximum of 4GBdevelopers.tiktok.com
Organic — minimum resolutionMinimum of 360 pixels for both height and widthdevelopers.tiktok.com
Organic — maximum resolutionMaximum of 4096 pixels for both height and widthdevelopers.tiktok.com
Organic — frame rate limitsMinimum of 23 FPS; Maximum of 60 FPSdevelopers.tiktok.com
Organic — maximum durationCreators can post up to 3, 5, or 10-minute videos depending on account status; via API developers may send videos up to 10 minutes long (users can trim afterward to match their account limit)developers.tiktok.com
Organic — photo post image specsFormats: WebP, JPEG; resolution maximum 1080p; maximum of 20MB for each imagedevelopers.tiktok.com
Organic — chunked upload rules (trip-up)Chunk size "at least 5 MB but no greater than 64 MB, except for the final chunk, which can be greater than chunk_size (up to 128 MB)"; minimum of 1 chunk and a maximum of 1000 chunks; must be uploaded sequentiallydevelopers.tiktok.com
Organic — caption/title max lengthThe maximum length is 2200 in UTF-16 runesdevelopers.tiktok.com
Organic — upload Content-Type values acceptedvideo/mp4, video/quicktime, video/webmdevelopers.tiktok.com
Organic — max photos per photo post最多可添加 35 张照片 (maximum 35 photos per post)tiktok.com
Organic — aspect ratio (in-app / consumer surface)No aspect ratio is published on TikTok's consumer support pages. 9:16 is only stated first-party in the ads context. Do not treat a 9:16 organic requirement as officially published.could not confirm on the official pagetiktok.com
Organic — max duration on consumer support surface (60-min upload claim)Could not verify on any first-party page. The only first-party duration figures found are 3/5/10 minutes (developer docs). The widely-blogged 60-minute limit was NOT confirmed on a TikTok-owned page.could not confirm on the official pagetiktok.com
Organic — cover / thumbnail image specNo cover/thumbnail pixel or file-size spec is published on the TikTok ad spec article or the consumer support posting page. The ads article's only image spec is the 98x98px profile photo.could not confirm on the official pageads.tiktok.com
Global App Bundle image ads — aspect ratio & resolutionVertical (recommended): 9:16, ≥720*1280px | Horizontal: 16:9, ≥1280*720px | Square: 1:1, ≥640*640pxads.tiktok.com
Global App Bundle image ads — formats & sizeAccepted formats: JPG, JPEG, PNG; File size within 100MBads.tiktok.com

Caveats

METHOD / ACCESS PROBLEMS. The WebSearch budget for this session was already fully consumed (200/200) before I made a single call, so I could not search — everything below came from direct URL fetches and one real browser render. Most guessed ads.tiktok.com/help/article/<slug> URLs return "The article you are looking for no longer exists or failed to load" (tiktok-video-ad-specifications, tiktok-ads-specifications, video-ad-specifications, creative-specifications, in-feed-ads, tiktok-video-ads all 404). I recovered the canonical article IDs from the Ad Review Checklist page, which links video specs as aid=6669199281502552069 and image specs as aid=6701253237862825989. Those two IDs are the load-bearing sources here; the human-readable slugs are unreliable. PAGES THAT WOULD NOT FETCH. support.tiktok.com now 302-redirects to www.tiktok.com/support/faq_detail?id=..., and those pages are JS-rendered — WebFetch returns only an empty "TikTok Support" shell. I rendered them in a real browser to get past this. The rendered "posting a post" FAQ contains NO technical specs at all (no duration, no file size, no aspect ratio, no format) — it is a pure how-to. TikTok's support search URL would not render either. business-api.tiktok.com/portal/docs also returns an unrendered shell. This is why several organic rows are marked unverified: the numbers are simply not published on a TikTok consumer page I could reach, and I declined to fill them from blogs. DIRECT CONTRADICTION BETWEEN TWO OFFICIAL PAGES — Spark Ads duration. The spec article (aid=6669199281502552069) states for Spark Ads (Pull): "Video duration: No restrictions." The Spark Ads article (ads.tiktok.com/help/article/spark-ads) states a 10-minute maximum video length, while also saying "There are no restrictions on video ratio, video resolution, file type, video duration, bitrate, and file size." The Spark Ads article therefore contradicts both the spec article and itself within the same page. Both are recorded above. Practical read: treat 10 minutes as the real ceiling. The two pages also disagree on format — the spec article restricts Spark Ads to ".mp4 or .mov" while the Spark Ads article says there is no file-type restriction. RECENCY. The In-Feed ad spec article carries "Last Updated: June 2026" — i.e. roughly one month old as of this check, so it is current. I could not diff it against an earlier revision (no archive access without search), so I cannot state which specific values changed in the last year. Treat "what changed recently" as unestablished rather than "nothing changed." SURFACE MAPPING CAVEAT. The ads numbers above are specifically TikTok Auction In-Feed Ads. The spec article contains no separate tables for Pangle or Global App Bundle *video*; the aid=6701253237862825989 article turned out to be Global App Bundle *image* ads (CapCut/Fizzo placements), not a general TikTok image spec — I labeled those rows accordingly rather than presenting them as sitewide. SCOPE NOTE. The task brief lists Amazon main-image video duration, A+ module counts, and Reels/Shorts safe zones as examples. Those are not TikTok surfaces and no TikTok-owned page covers them, so I did not produce rows for them; the TikTok equivalent of the safe-zone concern is captured in the Safe Zone row, where TikTok deliberately publishes downloadable templates instead of pixel numbers. FRAME RATE ASYMMETRY (easy to get wrong). TikTok publishes explicit frame-rate bounds for organic posting (23–60 FPS, developer docs) but publishes NO frame-rate requirement for In-Feed ads. I verified that absence on the page rather than assuming it, so do not carry the 23–60 FPS figure over to ad creative as if it were an ad spec.

Templates matching these ratios

Multi-Angle · One Photo, More Views1:1Snapshot to Studio · Instant Polish1:1Lifestyle Scene · Product in Context1:1Logo on Merch · Brand Extension1:1Packaging Variants · One to a Family1:1Product 360° · Seamless Spin1:1Poster in Motion · Still to Scroll-Stopper9:16Make the Model Walk · Try-On to Runway9:16Product Ad · E-commerce16:9

FAQ

How often do these change?

Platforms can change them at any time. Every row here links to the source, so if something looks off, the linked page wins — and tell us. Checked: 2026-07-25.

Can Tovaki output something that meets these specs?

Aspect ratio and duration are chosen before generating, and templates come preset to common platform ratios. Delivery parameters like codec, container and file size depend on what you do after export; this page lists the requirements so you can check them.

Can one asset serve several platforms?

Yes. The template library includes a cross-platform adaptation that recomposes one key visual into 1:1 / 9:16 / 16:9 rather than cropping it.

Start something that fits TikTokOpen Tovaki
TikTok video specs (official) + templates that fit · Tovaki