Skip to content

Subtitles

Subtitles are per-language subtitle files attached to a video. You upload and manage them on the video through the asset manager, and translate them across languages in the translation tool. This page is about how those cues actually look when a learner watches the course.

SRT and VTT files

You can upload subtitles as either WebVTT (.vtt) or SubRip (.srt). An .srt file is converted to .vtt automatically on upload — that's the format the course stores and serves, so a converted file behaves exactly like one you uploaded as .vtt.

The conversion only changes the format: cue timings and text are preserved as they are. It doesn't reformat cues or change how they wrap, and it doesn't add styling. Whatever inline styling the SRT contains passes into the VTT unchanged — but only <i> and <b> reach the screen (see Text formatting). Tag-based SubRip styling like <u> or <font color> is dropped at display. Older brace-style overrides such as {\i1} aren't recognized at all and will appear as literal text — remove them from the source file.

How subtitles wrap

The course player draws subtitles itself instead of leaving it to the browser, so it can size and place them consistently on every screen — from a small embedded preview to fullscreen. Cue text sits near the bottom of the video, centered, and wraps automatically to fit the width, split evenly across lines.

Because of this, line breaks inside the subtitle file are ignored — the player re-flows the text to whatever width it's shown at. This is deliberate: automated translation often introduces more line breaks than the original (a sentence that was two lines in German might be three in French), and keeping those would leave wordy languages with a stack of short, awkward lines.

INFO

You don't need to balance line lengths per language. Write each cue as a normal line and let the player wrap it.

Forcing a line break

When a cue genuinely needs to break at a specific point, add <br> where you want the break:

00:00:04.000 --> 00:00:07.000
First line<br>second line

WARNING

<br> is a hard break: it stays fixed no matter how large or small the video is shown. On a small embedded player a manually broken line can look cramped or run off the edge where automatic wrapping would have adapted. Use <br> only when a break is genuinely needed, and let everything else wrap on its own.

Text formatting

Two inline tags are supported inside a cue:

  • <i>…</i> — italic
  • <b>…</b> — bold

Everything else is removed before the cue is shown: other HTML tags, and all attributes — including inline style, classes, colours, and fonts. Subtitle appearance (font, size, position, contrast) is controlled by the course player so it stays consistent across courses; it can't be set per cue.

When something looks off

  • The upload is rejected. Only .srt and .vtt files are accepted. Convert other subtitle formats to one of those first.
  • A wordy language shows several short lines. Check the cue for stray <br> tags — those force breaks the player would otherwise smooth out. Without them, the text wraps to fit.
  • Words run together. Usually a tag splitting a word, or a <br> placed mid-word with no surrounding spaces. Keep tags around whole words.
  • A tag shows as literal text or disappears. Only <i>, <b>, and <br> are kept; anything else is stripped. Re-check the cue uses one of those.
  • Curly-brace codes like {\i1} show in the text. Those are ASS/SSA-style overrides; the player doesn't interpret them. Strip them from the SRT before upload.
  • The subtitle doesn't appear at all. The file must be a .vtt in the video's audio language. See Video subtitles in the translation tool article for why a subtitle might not show up.

See also