Video ad codec requirements by platform are more alike than different. Nearly every major ad platform — Meta, TikTok, YouTube, Snapchat, Pinterest — expects a video encoded in H.264 (and increasingly accepts H.265), packaged in an MP4 or MOV file, with AAC audio. The real risk isn't picking the "wrong" codec. It's exporting with settings that cause banding, stutter, or audio drift once the platform re-compresses your file for feed delivery. This guide breaks down what each platform actually expects, where they genuinely differ, and how to export one master file that works everywhere.
What a video codec actually controls in your ad
A codec is the compression method used to shrink raw video into a manageable file size — H.264 and H.265 are the two you'll run into almost everywhere in paid social. The codec is separate from the container (the .mp4 or .mov file that wraps the video and audio streams together), the frame rate (how many frames play per second), and the bitrate (how much data is used per second of video, which affects how clean motion and detail look after compression).
Platforms publish codec requirements because their upload pipelines automatically re-encode almost everything you send them anyway. If your source file uses an unusual or outdated codec, that re-encode can introduce artifacts — blocky shadows, smeared motion, audio that drifts out of sync with captions. Getting the codec right at export time isn't about satisfying a checklist; it's about giving the platform's compression a clean file to work from.
Video ad codec requirements by platform, compared
The table below reflects the general, stable guidance each platform gives for self-serve ad uploads. Treat specific numeric limits (max file size, bitrate ceilings) as something to confirm in each platform's current upload interface before a big campaign push, since platforms do adjust these over time.
| Platform | Video codec | Container | Audio codec | Notes |
|---|---|---|---|---|
| Meta (Facebook & Instagram) | H.264, with H.265 generally accepted | MP4 or MOV | AAC | Progressive scan (not interlaced) and a standard color profile are expected; see our guide on Facebook ad video resolution for pixel dimensions. |
| TikTok | H.264 | MP4 or MOV | AAC | Vertical 9:16 is the default placement; constant frame rate matters more here than on most platforms. |
| YouTube & YouTube Shorts | H.264, with H.265 also accepted for larger uploads | MP4 | AAC | YouTube's own re-encoding is aggressive, so a clean, high-quality source helps more than a high bitrate export. |
| Snapchat | H.264 | MP4 or MOV | AAC | Full spec checklist available in our Snapchat ad specs guide. |
| H.264 | MP4 or MOV | AAC | Treated like most feed placements; standard H.264/AAC export is safe. |
Notice the pattern: every platform in this list accepts H.264 in MP4. That overlap is the whole point. If you export one master file using H.264 video and AAC audio in an MP4 container, you can usually reuse it across every placement without separate codec conversions — you'll just resize for the aspect ratio each placement expects, which our video ad aspect ratio cheat sheet covers in detail.
Audio codec and format expectations
Audio is simpler than video. AAC is the codec every platform in this guide expects, almost always at a standard stereo or mono setting. The more common problems are not about the codec itself but about levels and sync:
- Audio that's mixed too quietly compared to platform-normalized volume, so voiceover gets lost next to louder ads in the feed.
- A soundtrack or voiceover that drifts out of sync after re-encoding, usually traced back to a variable frame rate source file.
- Music or sound effects layered so densely that captions and voiceover become hard to parse even at full volume.
- No captions or visual cues at all, which matters because ads are frequently viewed with sound off — see our notes on visual cues for muted video ads for how to design around that.
If your ad relies on a voiceover carrying the offer or call to action, test it with sound off before launch. A clean codec export won't fix a message that only works when audio is on.
Frame rate, bitrate, and color settings that keep quality intact
Variable frame rate vs constant frame rate
Many phone screen recordings and some editing exports default to variable frame rate (VFR), where the number of frames per second fluctuates slightly throughout the clip. This is a frequent, under-diagnosed cause of audio drift and playback stutter after a platform re-encodes your ad. Converting to constant frame rate (CFR) before export — most editing tools have this as an export setting — removes the variable and gives every platform's compression engine a predictable file to work with.
Frame rate choice
30 fps is a reasonable, widely compatible starting point for feed ads, and matches what most editing and animation tools default to. If your source footage was shot at a different frame rate, converting cleanly to a constant rate matters more than hitting an exact number. Avoid mixing frame rates within a single timeline (for example, 24 fps b-roll cut into a 30 fps sequence) without converting first, since that's another common source of stutter.
Bitrate and color
Platforms generally don't publish a single required bitrate — they re-compress your upload regardless. As a starting point to test, export at the highest quality setting your editing tool offers for the target resolution, rather than trying to guess an exact bitrate number; a cleaner source file degrades more gracefully through re-encoding than a file that was already compressed too aggressively. Stick to a standard RGB color profile rather than a specialized or wide-gamut profile meant for professional color grading — unusual color profiles are more likely to look washed out or shifted after a platform's automatic re-encode.
A safe, universal export setting to use as your default
If you want one export preset that works across TikTok, Meta, YouTube, Snapchat and Pinterest without platform-specific tweaks, this combination is a solid starting point to test:
- Video codec: H.264
- Container: MP4
- Frame rate: constant (not variable), 30 fps as a default
- Scan type: progressive
- Color profile: standard RGB
- Audio codec: AAC, stereo
- Resolution and aspect ratio: matched to the specific placement — check our cross-platform video ad spec checklist before exporting multiple sizes
Export once at this setting, then resize or crop for each aspect ratio you need rather than re-encoding from scratch for every platform. Fewer encode passes mean fewer chances for compression artifacts to stack up.
Common codec mistakes that hurt ad quality or get a video rejected
- Uploading a variable frame rate file straight from a phone screen recording without converting it to constant frame rate first.
- Using an older or uncommon codec (anything outside H.264/H.265) because an export tool defaulted to it, without checking the actual format before upload.
- Exporting at a low bitrate to save file size, then wondering why fast motion or text overlays look blocky after the platform re-compresses it further.
- Mixing footage shot at different frame rates in one timeline without converting them to match.
- Assuming a codec that works on one platform automatically looks identical on another — resolution and aspect ratio also affect final quality, which is a separate issue from codec choice.
Most of these mistakes are invisible until after the ad is live, which is exactly why a quick technical check before launch is worth the five minutes it takes. If an ad is already underperforming and you suspect it's a playback or clarity issue rather than a creative one, our guide on video ad drop-off rate analysis walks through how to tell the difference.
How FrameNotion handles codecs so you don't have to think about them
FrameNotion renders every ad as a 30-second MP4 at 1080×1920, 30 fps — the format built for TikTok, Instagram Reels, YouTube Shorts, Facebook Reels and Meta ads — using settings designed to hold up after each platform's own re-encoding. You paste a product link or upload a poster, and FrameNotion AI writes and renders the ad from scratch, checking its own rendered frames before it hands you the finished file. Every ad also comes as 4:5, 1:1 and 16:9, so you're not re-exporting or re-encoding manually for each placement. You can see finished examples on the examples page, or read more about the process on the features page.
FrameNotion doesn't publish ads directly to ad platforms or report on ad performance — you still upload the finished file and run the campaign yourself. What it removes is the manual export and codec guesswork: the file you download is already built to the safe, cross-platform specification this guide describes.
If you're setting up a full checklist before a campaign push — resolution, aspect ratio, length and codec together — our cross-platform video ad spec checklist and ideal video length by platform guides cover the rest of the spec, not just the codec.
Frequently asked questions
Can I just upload a .mov file instead of converting to .mp4?+
Most platforms accept MOV alongside MP4, but MP4 is the more universally tested container across TikTok, Meta, YouTube and Snapchat. If you only want to export once, MP4 with H.264 video and AAC audio is the safer default.
Does using H.265 instead of H.264 improve ad quality?+
H.265 can produce smaller files at similar quality, and most major platforms now accept it, but H.264 remains the more widely tested option across upload tools and older playback environments. If you're not sure your editing software exports clean H.265, H.264 is the lower-risk choice.
Will the platform re-compress my video even if I use the right codec?+
Yes. Every platform in this guide re-encodes uploaded video for feed delivery regardless of your source codec. Matching the recommended codec reduces the chance of artifacts from that re-encode, but it doesn't skip the process entirely.
Why does my ad look fine on my computer but glitchy after uploading?+
This is often caused by a variable frame rate source file, an unusual color profile, or a bitrate that was already too low before the platform's own compression kicked in. Converting to constant frame rate and exporting at a high-quality setting before upload usually resolves it.
Do I need a different codec for 9:16 vertical ads versus 16:9 horizontal ads?+
No. The codec, container and audio format stay the same across aspect ratios. What changes is the resolution and framing, not the codec — see the aspect ratio cheat sheet for how to handle that separately.
