Scroll through any short video feed on a bus or in a waiting room and look at the people around you. A lot of them are watching with the sound off. Some forgot their earbuds, some are in a quiet office, some just don't want strangers hearing what they watch. If your video depends on audio to make sense, those people swipe away in a second or two.
Captions fix most of that. But badly made captions can also hurt a video, so this post covers both parts: why they matter, and how to make them look decent without spending an hour per clip.
Who actually reads your captions
The sound-off crowd is the obvious group. There are others, and they matter just as much.
Deaf and hard-of-hearing viewers can't follow a talking video without text. For them captions are not a style choice, they are the only way in. If you skip captions, you are telling a real group of people that your video is not for them. Most creators don't mean that, they just never thought about it.
Then there are non-native speakers. A huge part of the internet watches content in a second or third language. I'm one of them. Reading along while someone talks fast in English helps a lot, especially with accents, slang, or a noisy background. Even native speakers lose words when someone talks quickly or mumbles the end of a sentence.
And honestly, people just follow better with text on screen. Fast talking-head videos, tutorials with numbers, recipes with measurements. When the text is there, viewers catch the "two tablespoons" they would have missed.
Keep lines short
This is the mistake I see most. Someone dumps a full sentence across the screen in small text, three or four lines deep, and it's gone before anyone can read it.
A few rules that work for me:
- Two lines at most on screen at once. One line is often better for short videos.
- Roughly 30 to 40 characters per line. Past that, the eye has to travel too far on a phone screen.
- Break lines at natural pauses. "I tried this for a week / and here's what happened" reads better than "I tried this for a week and / here's what happened".
- Let each caption stay up long enough to read. If someone talks very fast, it's fine to trim filler words from the captions. Nobody needs "um, so, like" in text.
Short lines also mean bigger text, and bigger text is easier to read on a small screen held at arm's length.
Stay out of the bottom area
Every short video platform puts its own stuff on top of your video. The username, the description, the music label, the like and comment buttons on the right side, sometimes a progress bar. Most of that sits in the bottom part of the screen and along the right edge.
If you place your captions at the very bottom, like a movie, they end up hidden behind the description text. I've watched my own videos on the phone after posting and seen half a caption covered by the app's interface. Annoying, and easy to avoid.
A safer spot is somewhere around the lower middle of the frame, above where the description starts. Keep some margin from the right edge too. The exact safe zone differs a bit between platforms and changes when they update their apps, so the best test is simple: export, open it in the actual app, and look.
Contrast, outline and fonts
White text on a white wall disappears. Yellow text on a sunset disappears. You need contrast that holds up across every frame of the video, not just the first one.
What usually works:
- White or bright text with a dark outline or a soft shadow.
- Or a semi-transparent dark box behind the text. Less stylish, very readable.
- A bold, simple font. Thin fonts and fancy script look nice in a thumbnail and are hard to read at speed.
Don't go too small. On a phone, text that looks fine on your laptop editor can turn into tiny letters. If you have to squint while previewing on the phone, it's too small.
Word-by-word highlighting: good, in small doses
The style where each word lights up as it's spoken (people call it karaoke style) is popular for a reason. On a talking-head video it keeps the eye busy and makes the pace feel faster. It works well when one person is speaking directly to camera and the video is short.
But it can get tiring. On a three-minute video, a constantly flashing word starts to feel like a strobe light. It also pulls attention away from whatever is happening in the video itself, which is bad if you're showing a product, a drawing or a game. For those, a calmer style with full phrases is usually better.
My rough rule: highlight style for punchy talking clips under a minute, plain phrase captions for anything where the visuals matter.
Always check auto-captions
Automatic speech recognition has gotten very good. It is still wrong often enough that you have to read through every caption before posting.
The usual problem spots:
- Names. People, brands, places, apps. Speech models guess at unusual names and often guess wrong.
- Numbers. "Fifteen" vs "fifty" is a classic. If you're giving prices, measurements or dates, check each one.
- Slang and niche words. Gaming terms, local words, mixed-language speech. Models trained mostly on standard speech trip on these.
- Overlapping voices and music. If two people talk at once, or the background music is loud, expect gaps or nonsense.
A wrong word in a caption is worse than no caption in one way: it looks careless, and comments will point it out. Spending two minutes fixing it is worth it.
Burned-in captions vs platform captions
There are two ways to add captions, and they each have tradeoffs.
| Burned-in (part of the video) | Platform captions (added in the app) | |
|---|---|---|
| Looks the same everywhere | Yes | Depends on the app |
| Custom style and placement | Full control | Limited or none |
| Viewer can turn them off | No | Usually yes |
| Reposting to other platforms | Captions come along | Have to redo each time |
| Search and accessibility tools can read the text | No | Often yes |
Burned-in captions are what most short-video creators use, because the style is part of the look and they survive reposts and downloads. Platform captions are better for accessibility in some ways, since screen readers and search can use the text, and viewers can switch them off.
Some people do both: a burned-in stylized caption for the look, plus the platform's own caption track turned on. That can mean double text on screen, so check how it looks before committing. For most short clips I'd just pick burned-in and make them good.
Translation for more reach
If your video has no strong language-specific jokes, translated captions can open it up to a much wider audience. A cooking video, a tech tip, a workout, a drawing timelapse with narration. These travel well.
Machine translation is decent for simple sentences and weak on jokes, idioms and slang. If you speak the target language even a little, read the translation once. If you don't, keep your original speech simple and direct, which makes translation better anyway. Some creators post the same video twice with different caption languages, which is worth trying if you notice viewers from one particular country in your analytics.
The tool I use
I built Captio partly because I got tired of typing captions by hand and fixing timing frame by frame. It generates subtitles with Whisper (in the free tier that runs on your phone, not a server), can translate them into 60+ languages, and burns them into the video when you export. It has 10 caption styles, including the karaoke word highlight I talked about above, and a style editor if you want to set your own font, colors and outline.
It won't fix every name or slang word for you. No speech model does that reliably yet, so you still need to read through the result. But it takes care of the boring part.
If you're working on getting viewers to stay past the start of your clips, I also wrote about the first three seconds of a short video. Captions and a strong opening line work well together, since the first caption on screen is often the hook itself.
If you only remember one thing from this post: watch your own video on your phone, with the sound off, inside the actual app, before you post it. Most caption problems show up right away when you do that.
