Quality problems
Captions cut off or hidden: find where they are lost
Short answer
Captions get lost in three different places, and each needs a different fix. In your export, a crop or a pad edge cut the text before the platform ever saw it. In the burned-in text, the line was too close to the frame edge or too long for the width. On the player, nothing was cut at all: the interface is drawn over the text, which is why the words look truncated. Meta's safe-zone guidance is explicit that text and logos near the edges of 9:16 creative are covered by the user interface.
Key takeaways
- Open the exported file first: if the text is already missing, the problem is in your export.
- Covered is not the same as cut: the player interface draws over the video.
- Meta says to keep the edges of 9:16 creative free of key elements, text and logos.
- For Reels ads with disclaimers, Meta says to leave the bottom 40% free.
- Long lines wrap into the interface; break them into shorter cues.
Pad or crop, and what each command does
Padding keeps every pixel and adds an edge. Cropping fills the frame and throws pixels away. FFmpeg documents both filters. pad adds space around the input at the size you ask for and centres the input if x or y is negative. crop takes out a rectangle of the size you ask for, evaluated for each frame, so expressions such as in_h and 9/16 work directly.
| Goal | Filter | Notes from the FFmpeg documentation |
|---|---|---|
| Fit inside 9:16 with bars | scale then pad | pad takes width, height, x, y and a color; negative x or y centres the input |
| Fill 9:16 and lose the sides | crop | crop=w:h:x:y, with x and y evaluated per frame |
| Square crop of a vertical clip | crop=in_h:in_h | documented example: crop the central square with crop=out_w=in_h |
| Fix a squashed file | setsar=1 | DAR = width ÷ height × SAR, so a wrong SAR is what makes a video look stretched |
Free tools:Crop a video9:16 video reference
Find your case
| What you see | What it usually means | Do this |
|---|---|---|
| Text missing from the exported file itself | A crop or a pad edge removed it | Re-export from the original (step 1) |
| Bottom of each line hidden | The player draws its caption and controls over the lower frame | Move the text above the bottom 35% (step 3) |
| Right side of each line hidden | The button column covers the right edge | Keep lines short and inside 6% (step 3) |
| Top of tall text hidden | The top edge is covered or cropped on taller screens | Start below the top 14% (step 3) |
| Only the last line of a sentence missing | A long cue wrapped outside the frame | Split the cue (step 4) |
| Fine on desktop, unreadable on a phone | Text size tuned for a monitor | Set a minimum font size in the burn (step 5) |
Fix it step by step
Look at the exported file, not the post
Open the file you uploaded. If the caption text is already cut in the file, the platform is not involved: a crop in your editor, a pad edge or a text box that ran past the canvas removed it. Re-export from the original rather than cropping a cropped copy.
Decide whether captions are a track or pixels
A caption track is drawn by the platform and can be covered or restyled by the platform's own layout. Burned-in text is part of the picture, so only your crop can remove it, but you own the position exactly. Choose one, and test it on a phone, not only in the editor.
Move the text inside the safe area
Meta's guidance for 9:16 creative is to keep the edges, top, bottom and sides, free of key creative elements, text and logos so they stay within the safe zone and are not cropped out or covered by the user interface. On a 1080 × 1920 frame that is below the top 14%, above the bottom 35%, and at least 6% from each side.
Break long cues into shorter lines
A cue that is wider than the safe area wraps, and the wrapped part lands where the interface is. YouTube's own caption guidance notes that files can include position and style information, and its .srt support ignores markup, so position has to be decided by line length. Aim for about 32 to 42 characters per line, which is general practice rather than a published rule.
Burn with a font size you can read on a phone
ffmpeg -i in.mp4 -vf "subtitles=subs.srt:force_style='FontName=DejaVu Sans,FontSize=14,MarginV=140'" -c:a copy out.mp4. FFmpeg documents force_style as an ASS-style key and value list, and the subtitles filter needs libass. Raise the font size until the line is readable at arm's length on your own phone.Re-check the surface, not just the app
Meta says that on devices taller than 9:16 it may either zoom the creative, which crops areas outside the safe zone, or show it in the original ratio with a black background. Preview on the surface that matters: the feed, the full-screen player or a shared link.
Safe area for a 1080×1920 video
| Edge | Keep text out of | Pixels |
|---|---|---|
| Top | 14% | 269 px |
| Bottom | 35% | 672 px |
| Left | 6% | 65 px |
| Right | 6% | 65 px |
Official guidance (approximate). Source: Sales Video Ad Specs on Instagram Reels (Meta Ads Guide), checked 2026-10-05. Meta publishes this for Reels ads; organic Reels can differ.
Values that decide whether a caption survives a player
| Frame | 1080 × 1920 (9:16) · Instagram accepts 1.91:1 to 9:16 for Reels |
|---|---|
| Safe area | Top 14%, bottom 35%, 6% each side · from the table on this page |
| Reels ads with disclaimers | Bottom 40% free |
| Line length | About 32 to 42 characters · general practice, not a published limit |
| Minimum frame rate | 30 fps on Reels · Instagram's published minimum |
A caption audit in four questions
- Is the text present in the exported file?
- Is any line outside the safe area on the left, right, top or bottom?
- Does any cue wrap to a second line that lands low in the frame?
- Is it readable on a phone in the full-screen player, with the interface on?
If all four answers are yes, the captions are fine and the problem is the platform's rendering, which you cannot change without moving the text.
Check your file
Extension and MIME type are labels, not proof of the container. Dimensions and duration come from this browser's media reader. This does not detect codecs, bitrate, corruption or platform upload compatibility. Files and measurements are not sent anywhere.
Frequently asked questions
Why are my captions cut off at the bottom?
The player draws its caption, sound and controls over the lower part of the frame. Meta's guidance is to keep the bottom of 9:16 creative free of text and logos, so move the captions up into the safe area.
Are my captions cropped or covered?
Open the exported file. If the text is missing there, it was cropped in your export. If it is complete in the file and missing in the post, the player interface is covering it.
How do I stop captions wrapping into the interface?
Split long cues into shorter lines and burn them with a larger font. YouTube's .srt support ignores style markup, so the line length is what controls the wrap.
What is the minimum caption size for a phone?
No platform publishes one. Set it by test: if you cannot read the line at arm's length on your own phone in the full-screen player, it is too small.
Sources
- Meta Business Help: About text overlays and the safe zone for ads (official, checked 2026-10-07)
- Instagram Help: Reel size & aspect ratios (official, checked 2026-10-07)
- FFmpeg Documentation: Video filters (crop, pad, scale, setsar, subtitles) (official, checked 2026-10-07)
- Pinterest Help: Review Pin specs (Video Pin specs and safe zones) (official, checked 2026-10-07)
Reviewed 2026-10-07. Steps not attributed to a source are general video practice or computed above.