A note before the content, because it changes how you should use this page.
TikTok changes its ad specifications without announcement, and every article quoting exact figures — including this one — starts going stale the day it is published. Articles that list precise maximum file sizes and bitrate ranges with a year in the title are usually copying each other rather than the source.
So this page does two things instead. It tells you which specs actually cause rejections and which are safe defaults that have held for years, and it tells you where to check the current exact numbers. For anything precise, use TikTok Ads Manager's own asset requirements and the TikTok Business Help Centre, which are the only sources that are correct by definition.
The safe defaults
These have been stable for a long time and are accepted everywhere on the platform. If you produce to this, specs stop being a thing you think about:
| Property | Safe value | |---|---| | Container | MP4 | | Video codec | H.264 | | Audio codec | AAC | | Pixel format | yuv420p | | Aspect ratio | 9:16 | | Resolution | 1080×1920 | | Frame rate | 30 fps, constant | | Audio | Present. Always present. |
Nothing on that list is exotic, and producing to it costs nothing. Most rejections come from deviating from it, not from being near some numeric boundary.
What actually gets files rejected
In rough order of how often it is the cause.
1. No audio track
The most common surprise, because the file plays perfectly on your machine. Silent video is rejected or suppressed across most placements.
Screen recordings made without system audio and clips exported from editors with the audio track muted are the usual sources. If an upload fails for no apparent reason, check this first — you can see it in seconds with a metadata viewer.
2. Wrong aspect ratio for the placement
In-feed wants 9:16. Other placements accept other shapes. Uploading 16:9 to a vertical placement either gets rejected or gets letterboxed, and letterboxing destroys the first second, which is the second that matters.
If you have landscape footage that needs to be vertical, reframe it properly rather than letting the platform do it.
3. File too large
Every platform has a ceiling and it moves. If an upload fails on a large file, compress it to a specific size rather than guessing — targeting a size is more reliable than lowering a quality slider until it works.
4. Unusual codec or pixel format
HEVC, ProRes, VP9 and AV1 are all legitimate codecs and all less widely accepted than H.264. yuv422p and yuv444p are valid pixel formats that a lot of pipelines reject. Both are invisible until you inspect the file.
5. Variable frame rate
Screen recordings and some phone exports produce VFR, where the frame rate fluctuates. It causes audio drift and inconsistent handling. Re-encode to constant frame rate if an otherwise fine file behaves strangely.
6. Content policy, not technical specs
Worth separating, because the error messages can look similar. Claims that cannot be substantiated, before-and-after imagery in restricted categories, prohibited products, and copyrighted music are policy rejections, and no amount of re-encoding fixes them. We have a separate guide to those.
The specs that are not really specs
Some things are technically allowed and practically a bad idea.
Long videos. The platform allows far longer than you should use. Feed ads live or die in the first three seconds and most of the useful ones are under fifteen.
Very high resolution. 4K uploads get re-encoded down. You are paying in upload time and file size for detail that is discarded.
Very high bitrate. Same reasoning. The platform re-encodes everything; a file that is twice the necessary bitrate arrives at the viewer looking identical.
Text near the edges. Not a rejection, but UI elements overlay the bottom and right of the frame. Keep anything that must be read within the middle of the screen.
A pre-upload checklist
Before anything goes into Ads Manager:
- Does it have audio? Check, do not assume.
- Is it 9:16 for the placement?
- Is it H.264 in an MP4?
- Is the frame rate constant?
- Is the file comfortably under the current limit?
- Is critical text out of the overlay zones?
- Does the claim in the first three seconds survive scrutiny? Policy rejections outnumber technical ones once your files are produced consistently.
Six of those seven are answered by looking at the file once. The seventh is the one that actually takes thought.
Producing to spec by default
The reliable fix for spec problems is to not create them. If your output is 1080×1920 H.264 MP4 with AAC audio at a constant 30 fps from the start, the checklist becomes a formality.
That is what generating vertical rather than reframing gets you — Faysell produces 9:16 natively with audio included, so the common failure modes are absent by construction rather than fixed afterwards. Where you do need to repair an existing file, the free tools handle resizing, compressing and inspecting without an account.
The summary
Stop looking up exact numbers in articles. Produce to the safe defaults — MP4, H.264, AAC, yuv420p, 9:16, 1080×1920, 30 fps constant, audio always present — and specs stop being a category of problem.
When something is rejected anyway, check for a missing audio track before anything else, and check TikTok's own current documentation rather than a blog post with a year in the title.