Measured guide
Readable caption styles for vertical video

Short answer
On a 1080x1920 frame, start a full-sentence caption at about 48 px and give it a 6 px black outline: the letters are 13.4 CSS px tall on a 390 px wide phone, and with the outline every letter touched black, so contrast held at 21:1 on both clips we tested. On a snowy daylight clip, plain white text left one letter in ten below 4.5:1, and a drop shadow helped but stayed far behind the outline. Keep each line inside 80% of the frame width, use two lines at most, and hold a line on screen for at least its length divided by 17 seconds.
Key takeaways
- In our test font, 48 px was the largest size that kept a 27-character caption inside 80% of a 1080x1920 frame. Another font or a longer line changes that, so check a phone preview; a short phrase can be much bigger.
- We measured seven caption styles on two real CC0 clips. A 6 px black outline held 21:1 on both; plain white text dropped to 4.3:1 for its worst tenth of letters on snow.
- A drop shadow is not a background. On bright footage it raised the worst tenth of letters only to 5.8:1, against 12.5:1 for a 60% box and 21:1 for an outline.
- The TikTok and YouTube help pages we read publish no caption size rule. Netflix publishes the timing limits: 42 characters a line, two lines, 17 characters a second for English.
What size should a caption be on a vertical video?
Start from the frame, not from a font menu. On a 1080x1920 frame we burned the same 27-character caption into a real clip at seven font sizes, then scaled each frame to a 390 CSS px wide phone view and measured the height of the letters and the width of the line.
Two constraints fight each other. Bigger letters are easier to read, but a longer line stops fitting across the frame. The table below is what we measured for the sentence "TAP TO SEE THE FULL ROUTINE" in a bold sans serif.
| Font size | Letter height | On a 390 px phone | Width of a 27-character line | Characters that fit in 80% of the frame |
|---|---|---|---|---|
| 32 px | 23 px (1.2% of the frame height) | 8.3 px tall | 557 px (52% of the frame width) | 41 |
| 40 px | 30 px (1.6% of the frame height) | 10.8 px tall | 695 px (64% of the frame width) | 33 |
| 48 px | 37 px (1.9% of the frame height) | 13.4 px tall | 835 px (77% of the frame width) | 27 |
| 56 px | 43 px (2.2% of the frame height) | 15.5 px tall | 973 px (90% of the frame width) | 23 |
| 64 px | 49 px (2.6% of the frame height) | 17.7 px tall | wider than the frame | about 20 |
| 72 px | 54 px (2.8% of the frame height) | 19.5 px tall | wider than the frame | about 18 |
| 96 px | 73 px (3.8% of the frame height) | 26.4 px tall | wider than the frame | about 13 |
Our measurements, October 26, 2026. We rendered the same caption with ffmpeg 6.1.1 in DejaVu Sans Bold on a 1080x1920 frame, measured the letter pixels in the rendered file, and scaled the frame to 390 CSS px wide to get the phone column. The letter height is the cap height of the capital letters, so a sentence in mixed case is slightly taller. From 64 px up the line ran off the frame, so the character counts for those rows are scaled from the 56 px width, not measured.
Read the table this way: 48 px is the largest size where a 27-character line still fits inside 80% of the frame width, and 13.4 CSS px is the height those letters take on a phone screen. If your caption is a short phrase, size it by the width instead: our sample caption at 32 px still fills only 52% of the frame, so a three-word line can be twice as large as a full sentence. The 80% limit is our working margin from the frame edges, not a platform rule, and a font wider than DejaVu Sans Bold reaches it at a smaller size.

Which caption style should I use?
The style matters more than the font. We rendered seven caption styles onto one frame from each of two real CC0 clips, then compared the brightness of every letter against the pixels it actually touches, using the contrast formula from WCAG 2.2.
The left column is a dark garden clip. The right column is a snowy street in daylight, which is the harder case: the brightest patch under the caption was almost as light as the text itself.
| Style | Dark clip, worst tenth of letters | Snow clip, worst tenth of letters | When to use it |
|---|---|---|---|
| Plain white text | 8.9:1 | 4.3:1 | Only over flat, dark footage |
| Drop shadow only, 4 px offset | 13.0:1 | 5.8:1 | Better than nothing; an outline is safer |
| 6 px black outline | 21:1 | 21:1 | The default for vertical video |
| 60% black box behind the text | 16.3:1 | 12.5:1 | When you want a bar, not an outline |
| 80% black box behind the text | 19.1:1 | 17.6:1 | Over bright or busy footage |
| Solid black box behind the text | 21:1 | 21:1 | Over very bright or moving footage |
| Yellow text on a 60% black box | 12.1:1 | 9.8:1 | To highlight one word |
Our measurements, October 26, 2026, on the rendered pixels of one frame from each clip, with a 48 px caption and the WCAG 2.2 relative luminance formula. The figure is the same caption three times on the same snowy frame.
WCAG 2.2 asks for 4.5:1 for normal text and 3:1 for large-scale text. It is a standard for web content, not for video, so we use it as a yardstick rather than a rule. Each number is the contrast that the worst tenth of the letters reached. On the snow clip one letter in ten of plain white text sat below 4.5:1, and the brightest pixel under the caption was within 1.15:1 of white, so a white letter landing on it all but disappears.
The outline is the reason it wins: a black stroke sits between the white letters and whatever the camera saw, so the letters never touch the snow. A shadow cannot do that, because the shadow only touches one side of each letter and the other side still sits on the footage.

How long should a caption stay on screen?
A caption that is gone before it is read is a caption that was not written. The speed number to use is characters per second: the length of the line, spaces included, divided by the seconds it stays on screen.
Netflix publishes two limits for English and they do not match, so we used the stricter one. Its English (USA) Timed Text Style Guide allows up to 20 characters per second for adult programs; its Subtitle Templates guide caps adult English templates at 17 characters per second. We used 17.
| Caption | Characters | On screen | Characters per second | Against 17 per second |
|---|---|---|---|---|
| TAP TO SEE THE FULL ROUTINE | 27 | 1.2 s | 22.5 | Too fast |
| TAP TO SEE THE FULL ROUTINE | 27 | 1.6 s | 16.9 | Readable |
| TAP TO SEE THE FULL ROUTINE | 27 | 2.0 s | 13.5 | Comfortable |
| THIS TEXT IS FAR TOO SMALL TO READ | 34 | 1.5 s | 22.7 | Too fast |
| THIS TEXT IS FAR TOO SMALL TO READ | 34 | 2.0 s | 17.0 | At the limit |
Our calculation, October 26, 2026, from the caption strings above and the durations in the table. Netflix also requires a minimum of five sixths of a second per subtitle event and a maximum of seven seconds, and two lines of text at most.
Practical rule: seconds on screen = characters divided by 17, then round up. A 27-character caption needs 1.6 seconds, and a 34-character caption needs 2.0 seconds. If the line does not fit that time, split it or cut words rather than speeding it up.
What do the published caption size rules say?
Creator guides disagree with each other, and none of them is a platform rule. We checked the TikTok and YouTube help pages: TikTok says creator captions let you change the font style and the color, and YouTube describes manual captions, automatic captions and caption files. Neither publishes a size.
What the guides do publish are percentages of the frame height. They are worth reading together, because the spread between them is the whole problem.
| Source | Rule as published | On a 1080x1920 frame |
|---|---|---|
| easyvids.io | 4 to 6% of the frame height | 77 to 115 px |
| vidpal.ai | 6 to 9% of the video height | 115 to 173 px |
| Blitzcut | 7 to 10% of the frame height | 134 to 192 px |
| sapari.io | 64 to 80 px | 64 to 80 px |
Third-party creator guides, read October 26, 2026. The pixel column is our arithmetic on a 1920 px tall frame; the rules themselves are community advice, not platform documentation. The largest published number is more than twice the smallest.
Part of the disagreement is units. These percentages are quoted against font size, while our table measures the height of the letters, and the two are not the same thing. Our own answer is narrower because it starts from a real constraint: 48 px is the largest size that keeps a full sentence inside 80% of the frame width.
What values should you enter in your editor?
Set the values, not the menu names. Editors express caption size differently, so match what appears on the frame rather than a number in a field.
We did not test inside CapCut, Premiere Pro or DaVinci Resolve. The numbers below are what we measured on the rendered pixels; the conversions from pixels to points are ours at 1080p, where one pixel is 0.75 points.
| Setting | Value | Why |
|---|---|---|
| Font size | About 48 px (36 pt) for a full sentence, in our test font | Our measurement: the largest size that keeps a 27-character line inside 80% of the frame width |
| Line length | 27 characters at 48 px | Fits the width; Netflix allows 42 characters a line, which needs a smaller font |
| Lines on screen | 2 at most | Netflix Timed Text Style Guide |
| Outline | 6 px black (4.5 pt) | Our measurement: 21:1 in both clips, because the letters touch only the black stroke |
| Outline thickness | About 12% of the font size | Our suggestion, so the stroke keeps its weight when you resize the text |
| Background box | 60% black, or 80% over bright footage | Our measurement: 12.5:1 and 17.6:1 on the snow clip |
| Hold time | Characters divided by 17 seconds | Netflix, stricter of its two English limits |
Our measurements and our arithmetic, October 26, 2026. For the step-by-step caption workflow in each app, see our CapCut caption guide and our subtitle file guide, both linked below.
Where should the caption sit in the frame?
Size and contrast decide whether a caption can be read. Position decides whether it survives the platform interface, which covers the bottom of a vertical video with the caption, the name and the sound label, and the right side with the like, comment and share buttons.
Keep the caption centered horizontally and high enough to clear that layer. Our safe zone templates show the published margins for TikTok, Instagram Reels and YouTube Shorts, and the safe zone calculator will place a caption box for you.
Limits and what we did not test
- We did not test on a physical phone. We scaled every frame to a 390 CSS px wide phone view and report the letter height in CSS pixels as our proxy for physical size. CSS pixels are not inches, so treat the phone column as a comparison between our sizes, not a measurement of a real screen.
- We did not test inside CapCut, Premiere Pro or DaVinci Resolve. Every number here comes from rendered pixels and from the published rules in the sources below.
- We tested two CC0 clips, one dark and one bright. Footage that moves behind the caption, such as a busy street or water, can be worse than either, because the background changes while the text is on screen.
- We did not test color vision, screen readers or the accessibility of a caption track. WCAG 2.2 is a web standard and we use its contrast formula as a yardstick only.
- We did not test captions in other languages. Netflix publishes different reading speed limits per language, and those are the numbers to look up for a language other than English.
Do it in your browser
Free Koldflux tools, no account needed.
Burn captions into a videoCheck a caption file against platform rulesSafe zone calculator
Questions people ask
What size should I use for captions on a vertical video?
About 48 px on a 1080x1920 frame for a full sentence, in our test font, DejaVu Sans Bold. We measured that this is the largest size where a 27-character line still fits inside 80% of the frame width, and the letters are 13.4 CSS px tall on a 390 px wide phone view. A short phrase can be much larger, so size by the line width.
Do my captions need a background box?
No, if you add a black outline. A 6 px outline held 21:1 contrast on both clips we tested. A 60% black box held 12.5:1 on the bright clip and an 80% box held 17.6:1, so a box works too, but it has to be dark enough.
Does a drop shadow make white text readable?
It helps, but less than an outline or a box. On the snow clip it raised the worst tenth of letters from 4.3:1 to 5.8:1, while a 6 px outline held 21:1, because the shadow covers one side of each letter and the other side still sits on the footage.
How long should each caption stay on screen?
Divide the characters by 17 seconds and round up, using the stricter of the two Netflix limits for English. A 27-character caption needs 1.6 seconds, a 34-character caption needs 2.0 seconds.
Is there an official caption size rule from TikTok or YouTube?
Not on the two help pages we checked. TikTok help says creator captions let you change the font style and the color, and YouTube help describes manual captions, automatic captions and caption files. We found no published font size on either of those two help pages.
How many words should one caption hold?
At 48 px on a 1080x1920 frame, 27 characters fill 77% of the width. Netflix allows 42 characters a line and two lines at most, which works if you drop the font size to fit.
How do I convert these sizes for my editor?
On a 1080p frame, 48 px is 36 pt and a 6 px outline is 4.5 pt. If your editor only shows a percentage or a slider, resize the text until the line takes about 77% of the frame width.
Related
Sources and how we checked
- English (USA) Timed Text Style Guide (Netflix Partner Help) (checked 2026-10-26)
- Timed Text Style Guide: General Requirements (Netflix Partner Help) (checked 2026-10-26)
- Timed Text Style Guide: Subtitle Templates (Netflix Partner Help) (checked 2026-10-26)
- Understanding Success Criterion 1.4.3: Contrast Minimum, WCAG 2.2 (W3C) (checked 2026-10-26)
- Accessibility for your videos (TikTok Help Center) (checked 2026-10-26)
- Add subtitles and captions (YouTube Help) (checked 2026-10-26)
- Best Font for Captions: Sizes, Colors and Readability by Platform (easyvids.io, third party) (checked 2026-10-26)
- 12 Best Fonts for Subtitles and Captions in 2026 (vidpal.ai, third party) (checked 2026-10-26)
- How to Make Captions Look Professional (Blitzcut, third party) (checked 2026-10-26)
- Best Fonts for Video Captions on Mobile (rendercut.io, third party) (checked 2026-10-26)
- Caption Styles and Strategies for Video (Sapari, third party) (checked 2026-10-26)
- Our test run log, October 26, 2026 (Koldflux, plain text) (checked 2026-10-26)
- Our test script for ffmpeg (Koldflux, shell) (checked 2026-10-26)
- Our pixel measurement code (Koldflux, Python) (checked 2026-10-26)
Sizes and contrast are our measurements. We burned the same caption into two real CC0 clips from Wikimedia Commons with ffmpeg 6.1.1 at seven font sizes and seven styles, read the rendered pixels, and computed contrast with the WCAG 2.2 relative luminance formula. Every frame was scaled to a 390 CSS px wide phone view to get the letter height on a phone. The test script, the measurement code and the full log are linked in the sources above. The character limits and reading speeds are Netflix published rules, read on the dates in the sources; the TikTok and YouTube help pages we read publish no caption size rule.