Caption Colour, Contrast and Legibility: The Complete Guide
Why captions vanish on bright footage, the contrast ratio that actually works over video, and how to test it in ten seconds.

Summary — the short answer
- Captions fail on your brightest frame, not your average one — that is where you have to test them.
- The WCAG floor of 4.5:1 contrast is a text-on-static-background rule; over moving video you need more headroom than that.
- A background plate or a heavy stroke is more reliable than picking a clever text colour.
- Pure white with a dark stroke is the most robust default for Indian creator footage, which is usually bright and warm.
- Test at phone size with the screen at 40% brightness, not on a desktop monitor at full brightness.
Key facts
- WCAG AA minimum
- 4.5:1
- Recommended over video
- 7:1 or a plate
- Most robust default
- White + dark stroke
- Stroke weight at 1080p
- 2–4px
- Test brightness
- ~40% screen
- Frame to test on
- Your brightest
Caption legibility is usually treated as a styling preference. It is closer to an engineering constraint. Text over video has to stay readable while the thing behind it changes sixty times a second, on a screen held at arm's length, frequently outdoors, often at reduced brightness to save battery. Most caption styling decisions are made in exactly the opposite conditions: a large bright monitor, indoors, on a single paused frame.
Why contrast ratios are necessary but not sufficient
The WCAG AA requirement of 4.5:1 for normal text is the right starting point and a widely accepted floor. But it was written for text on a known, static background. Video violates both assumptions: the background is unknown at design time and it moves.
The practical consequence is that a caption which measures a comfortable 6:1 against your average frame can drop below 2:1 for the twenty frames where someone walks past a window. Those twenty frames are enough to break reading, because the reader loses their place and has to recover.
| Situation | Contrast target | Why |
|---|---|---|
| Text on a solid plate | 4.5:1 | Background is known and static |
| Text on stable dark footage | 7:1 | Headroom for exposure shifts |
| Text on bright or mixed footage | Plate or stroke required | Ratio alone cannot be guaranteed |
| Text over outdoor daylight | Plate strongly recommended | Highlights clip to near-white |
| Small supporting text | 7:1 minimum | Lower stroke weight, less margin |
The three reliable techniques
Stroke (outline)
A dark stroke around light text is the workhorse of short-form captions. It is cheap, it never covers footage, and it works because the stroke guarantees a local contrast boundary regardless of what is behind it. Two to four pixels at 1080p is the usable range; below two it disappears, above four it starts to swallow letterforms — especially in Devanagari, where the shirorekha merges.
Plate (background box)
A semi-opaque rounded rectangle behind the text. This is the most reliable option and the one broadcast has used for decades. The cost is that it covers footage and reads as more formal. Use 60 to 80 percent opacity — fully opaque looks bolted on, and below 50 percent stops guaranteeing anything.
Shadow
A tight, offset drop shadow. Softer visually than a stroke, and adequate on footage that is consistently mid-toned. It is the weakest of the three on bright backgrounds because a blurred shadow does not create a hard boundary. Keep the blur small; a large soft shadow adds mud, not contrast.
Colour choices that survive real footage
Brand colour captions are tempting and usually a mistake. Saturated colours have lower luminance than white, so they lose contrast faster, and mid-tone brand colours are the worst offenders. Keep brand colour for the highlight word, not the body.
- White body text with a dark stroke: the most robust default, and it suits the bright, warm footage typical of Indian creator content.
- Pale yellow body text: slightly better on very bright backgrounds, and a long-standing broadcast convention.
- Brand colour on the active or highlighted word only, with the rest of the line in white.
- Never mid-tone grey, mid-blue or mid-green for body text — they fail against both dark and bright footage.
- Avoid pure black text unless you are always on a light plate.
A ten-second test that catches nearly everything
- 1Scrub to the single brightest frame in your video — usually a window, a sky, a white wall or a reflective surface.
- 2Pause there and look at the caption. If it is uncomfortable, it is broken; that frame will appear.
- 3Now scrub to your darkest frame and check the stroke is not swallowing the letters.
- 4Drop your phone brightness to about 40 percent and look again. This is how a large share of your audience will actually see it.
- 5Hold the phone at normal viewing distance, roughly 40 to 50 centimetres, rather than close to your face.
- 6Finally, watch the video once at full speed without reading the captions deliberately. If your eye trips anywhere, fix that moment.
4.5:1
WCAG AA floor
2–4px
usable stroke at 1080p
60–80%
plate opacity that works
Script-specific adjustments
Latin type is not the hardest case. Devanagari, Tamil, Telugu and Bengali all carry marks above or below the baseline, and their strokes are typically thinner at the same optical size. Same stroke settings, different result.
| Script | Line height | Stroke | Watch for |
|---|---|---|---|
| Latin | 1.1–1.2 | 2px | Descender clipping |
| Devanagari | 1.3–1.35 | 2.5–3px | Shirorekha merging |
| Tamil | 1.3 | 2.5px | Loop counters filling in |
| Telugu | 1.35 | 2.5–3px | Above-base marks clipping |
| Bengali | 1.3–1.35 | 2.5–3px | Conjunct legibility |
A caption that is readable on the average frame and unreadable on the bright one is an unreadable caption. Readers do not average.
Accessibility is not a separate goal
Everything above is usually framed as accessibility work, and it is. It is also straightforwardly commercial: roughly the same adjustments that make captions usable for a viewer with low vision make them usable for a viewer on a bus in daylight with the sound off. That is not a minority case in India — it is the default viewing condition.
Frequently asked questions
What contrast ratio should captions over video hit?
Treat 4.5:1 as the absolute floor from WCAG AA, and aim for 7:1 or a background plate over video, because the background changes and you cannot guarantee a ratio frame by frame.
Is a background plate old-fashioned?
It is the most reliable technique available, and styled with rounded corners and 70% opacity it looks entirely current. Broadcast has used plates for decades because they work.
Can I use my brand colour for captions?
Use it on the highlighted or active word and keep the body text white. Saturated brand colours have lower luminance than white and lose contrast much faster over bright footage.
How thick should the stroke be?
Two to four pixels at 1080p for Latin, and slightly heavier for Indic scripts. Too thick merges letterforms, which is worse than too thin.
Do I need to test on a real phone?
Yes. Desktop monitors at full brightness hide almost every legibility problem. Test on a phone at around 40 percent brightness at normal viewing distance.
Do captions help viewers who can hear perfectly well?
Substantially. A large share of short-form viewing happens on mute in public, so captions function as the primary channel rather than an accommodation.
Sources & further reading
- WCAG 2.1 — contrast (minimum)The formal 4.5:1 requirement and how the ratio is calculated.
- WCAG 2.1 — contrast (enhanced)The 7:1 AAA level, which is the right target over video.
- W3C — captions in media accessibilityWhat accurate, usable captions formally require.
- Nielsen Norman Group — legibility and readabilityResearch on how type treatment affects comprehension.
- VerbCraft: caption safe areas on InstagramWhere platform UI covers your text, which is the other half of legibility.
- VerbCraft: Hindi captions and Devanagari typographyScript-specific line height and weight rules in detail.
Use this article elsewhere
Copy a structured brief for ChatGPT, Claude, Perplexity or Gemini — it includes the key points and the canonical link so the assistant can cite VerbCraft properly.
https://verbcrafts.in/blog/caption-colour-contrast-accessibility


