Skip to main content

Subtitle Engine

Because downloading an SRT file shouldn't require installing VLC.

Drag, Drop, Read.

Native HTML5 `<video>` elements support subtitles via the `<track>` element, but they are incredibly restrictive. You can't adjust the sync delay, and styling is locked to whatever the browser manufacturer deems "readable."

uPlayVideo bypasses this by intercepting your dropped `.srt` or `.vtt` file, parsing the timecodes using a custom JavaScript layer, and rendering the text in an overlay synchronized to the `video.currentTime` property.

Sync Offset Controls

Downloaded a Web-DL but the subtitles are from a BluRay rip? The 2-second offset will ruin the experience.

Use keyboard shortcuts to adjust timing in real-time:

G : -100ms (Subs appear earlier)
H : +100ms (Subs appear later)

Encoding and Garbage Characters

If your subtitles appear as é instead of é, the file is encoded in ISO-8859-1 (Latin-1) or Windows-1252 instead of UTF-8.

Our parser attempts to auto-detect common encoding errors and convert them to UTF-8 on the fly using the browser's native TextDecoder API.

Supported Formats

  • .SRT (SubRip) The undisputed standard. 99% of downloaded subs use this.
  • .VTT (WebVTT) The web native standard. Fully supported.
  • .ASS / .SSA Advanced SubStation Alpha. Extremely complex styling. Not currently supported due to parsing overhead.
  • PGS (Image-based) Found in direct BluRay rips. Browsers cannot render image-based subtitle overlays directly.