Vertical video specs for short-form platforms
Every short-form feed wants the same file, and every one of them draws its own buttons on top of it. Export once to these numbers and keep your messages out of the corners the interface owns.
The file
One export covers all three platforms. Anything larger is re-encoded on upload anyway; anything smaller shows compression on text, which is the one thing a chat story cannot afford.
- Resolution 1080×1920 (9:16)
- Frame rate 30 fps, constant
- Codec H.264 (High profile), MP4
- No audio track if you plan to add a trending sound in-app
Safe zones
The middle of the frame is yours; the edges are not. Captions, usernames, buttons and progress bars sit on top of your video, and they differ per app — so leave a margin instead of guessing.
- Top: about 12% for the status bar and app header
- Bottom: about 20% for the caption, sound and action buttons
- Right: about 12% for the action rail
Length
Completion rate matters more than duration. Twenty to forty seconds gives a story room while keeping most viewers to the end; if a story genuinely needs ninety seconds, split it into parts and let the cliffhanger do the work.
Why re-recording your screen loses
Filming the playback on a phone stacks a second compression pass on top of the first, drops frames unpredictably and burns the system interface into the frame. Upload the exported file directly — it is sharper, smaller and reproducible.
FAQ
Does 60 fps look better?
Not for a chat story. The motion is text appearing and a list scrolling; 30 fps carries it exactly as well and halves the file, which means less compression on the text.
Should the export contain music?
Usually not. A silent export lets you attach the platform’s trending sound at upload, and keeps the same file usable everywhere.
What about a watermark?
A small mark is free advertising when your video travels, as chat stories often do. Keep it out of the bottom and right edges, where the interface will cover it anyway.