Homeβ€ΊDeveloper Toolsβ€ΊSubtitle Converter
FREE ONLINE CONVERTER

Subtitle Converter

Fixpio’s subtitle converter turns SRT subtitles into WebVTT and back again β€” with a timing-shift option β€” entirely in your browser, so your files stay private.

βœ“ Both directions: SRT to VTT and VTT to SRTβœ“ Optional timing shift to fix driftβœ“ Files are read locally β€” never uploaded
Fixpio SUBTITLE CONVERTER
CC
βœ“
SRT ↔ VTT in secondstiming shift included
βœ“

Convert subtitle files

Paste subtitle text or load a file, then convert.

1 Add your subtitles, choose the output, then convert
The file is read locally β€” never uploaded.
Runs in your browser β€” your subtitles are not uploaded.
Auto mode converts SRT to VTT and VTT to SRT, based on what you pasted. A ready-made sample is loaded above so you can see the conversion immediately β€” just press Convert.

Subtitles that fit your player

Exact conversion, honest reporting, no uploads.

🎬

Two formats, two worlds

SRT (SubRip) is the universal plain-text format from desktop players and editors; WebVTT is the web standard that browsers and streaming platforms use natively.

⏱️

It is mostly punctuation

The formats differ mainly in the timestamp decimal separator (comma vs dot), cue numbering and the WEBVTT header β€” which is why conversion is exact, not approximate.

πŸ”§

Fix drift while you convert

If subtitles were timed for a different cut of the video, a constant shift (for example +1.5 seconds) realigns every cue at once.

About this subtitle converter

This subtitle converter translates between SRT (SubRip) and WebVTT subtitle files in both directions. Paste subtitle text or load a file: the tool reads the cues, converts the timestamp format (commas in SRT, dots in VTT, and MM:SS or HH:MM:SS forms both accepted), adds or removes cue numbers and the WEBVTT header as the target format requires, and preserves every cue’s text, including multi-line captions and basic formatting tags the formats share, such as <i> and <b>.

An optional timing shift moves every cue earlier or later by the number of seconds you enter β€” the fix for subtitles that were timed against a different edit of the same video, or a release with a longer intro. The shift is applied during conversion, so you only handle the file once. If your source is a VTT file with NOTE comment blocks or positioned cues, converting to SRT drops those extras β€” SRT simply has nowhere to put them β€” and the tool tells you exactly how many were dropped rather than removing them quietly.

Subtitle files are plain text read locally by your browser: nothing is uploaded, and unreleased episode or course subtitles stay private. The converted file downloads with the correct extension for direct use in players like VLC, editors, and platforms that accept caption uploads.

Frequently asked questions

Formats, drift, dropped extras and privacy β€” answered.

What is the difference between SRT and WebVTT?

Structure and punctuation. SRT numbers its cues and writes timestamps with a comma (00:00:01,000). WebVTT starts with a WEBVTT header, does not number cues, uses a dot (00:00:01.000), and can carry extras like cue positioning and NOTE comments that SRT cannot represent.

Which players and platforms want which format?

HTML5 video and most web/streaming platforms use WebVTT. Desktop players (VLC and others), many video editors, and several upload pipelines ask for SRT. Converting between them is lossless for cue text and timing, apart from VTT-only extras noted above.

My subtitles are out of sync. Can this fix them?

If they are early or late by a constant amount, yes: enter the shift in seconds (negative to move them earlier) and it is applied to every cue during conversion. If the drift grows over time (a frame-rate mismatch), a constant shift cannot fully correct it β€” that needs retiming against the video.

Are my subtitle files uploaded?

No. Files are read as text by your browser and converted on the page. Nothing is sent to a server or stored.

Does conversion keep bold and italic formatting?

Basic inline tags shared by both formats (such as <i>, <b> and <u>) are carried through in the cue text. VTT-specific features like voice spans and cue settings are reported when they have to be dropped for SRT.

The converter says no cues were found. Why?

The input needs recognisable cue timestamp lines. Check the file is really SRT or VTT (not a different caption format renamed), and that timestamps use the standard shapes β€” hours:minutes:seconds,milliseconds for SRT or with a dot for VTT.