Subtitle guide Subtitle sync fixes

How to fix malformed SRT timestamps

Updated

TL;DR — Repair malformed SRT timestamp lines, comma formatting, arrow spacing, cue blocks, and structure issues before upload or conversion.

Related tool

Fix SRT Timestamps

Open Fix SRT timestamps

Malformed SRT timestamps usually mean the subtitle file structure has drifted away from normal SRT formatting.

SRT is simple, but it is strict about its timing line. A small change such as using dots instead of commas, removing spaces around the arrow, or mixing VTT syntax into an SRT file can make uploads and converters fail.

Quick answer

If the file still contains subtitle text and timing blocks but the formatting is inconsistent, clean the structure first before trying to deliver or convert it.

The Fix SRT Timestamps tool is the right first step for parseable timing blocks. If you only want a report before changing the file, use the SRT Validator.

Choose the right timestamp fix

Start with the exact timing error instead of rewriting the whole subtitle file.

Timing problemExampleBest fix
WebVTT-style dots in an SRT file00:00:01.000 --> 00:00:03.500Use Fix SRT Timestamps if the rest is SRT, or VTT to SRT if the file starts with WEBVTT
Missing spaces around the arrow00:00:01,000->00:00:03,500Normalize arrow spacing with Fix SRT Timestamps
Missing milliseconds00:00:01 --> 00:00:03Rebuild full HH:MM:SS,mmm timing before upload
Invalid minute or second values00:00:65,000 --> 00:00:67,000Correct the time values, then validate again
Start time after end time00:00:05,000 --> 00:00:03,000Swap or repair the cue range, then test sync separately

If the validation report shows cue numbers, blank lines, or mixed file-format problems too, use how to validate SRT files before uploading again.

What valid SRT timestamps look like

A normal SRT timing line looks like this:

00:00:01,000 --> 00:00:03,500

Common failures include:

  • missing commas
  • damaged spacing
  • broken arrow formatting
  • mixed timestamp styles copied from another format

Examples of malformed timing lines

These lines are common failure cases:

00:00:01.000 --> 00:00:03.500

That is VTT-style timing, not SRT-style timing.

00:00:01,000->00:00:03,500

The timestamps are close, but the arrow spacing is not the normal SRT structure.

00:01 --> 00:03

This is too short for normal SRT delivery. Use full hour, minute, second, and millisecond timing.

Why this matters

Even when the subtitle text itself is fine, malformed timing lines can break:

  • uploads
  • conversions
  • browser testing
  • client delivery

Malformed timestamps also make later conversion less reliable. If you convert a broken SRT file to VTT, the conversion step may preserve the problem or create output that looks valid but fails during playback.

What timestamp repair can and cannot fix

Timestamp repair is for file structure, not for every subtitle timing problem.

It can usually help when:

  • timestamp dots need to become SRT commas
  • arrow spacing is inconsistent
  • cue numbers are missing but timing lines are parseable
  • timestamps need a consistent HH:MM:SS,mmm shape

It will not automatically solve:

  • subtitles that are consistently early or late
  • gradual drift caused by frame-rate or edit differences
  • a file that contains no timing lines at all
  • a file that is actually VTT, ASS, SSA, or a transcript renamed to .srt

If the file is accepted but the captions are out of sync, switch to fix out-of-sync subtitles instead of repeatedly repairing the same timestamp format.

Step-by-step workflow

  1. Open Fix SRT Timestamps or run the file through the SRT Validator first.
  2. Paste the SRT content or upload the file.
  3. Review the cleaned output and check whether the block structure looks consistent.
  4. Save the cleaned file.
  5. If the destination needs another format, convert only after the SRT structure is stable.

Manual checklist before conversion

If you are reviewing the file by hand, check these points:

  • Each cue has one timing line.
  • The arrow is -->.
  • SRT timestamps use commas for milliseconds.
  • Cue start time is earlier than cue end time.
  • Blank lines separate subtitle blocks.
  • The file does not mix WEBVTT headers or VTT cue settings into SRT output.

Upload-safe checklist after repair

Before sending the repaired file to YouTube, Vimeo, a client portal, or an editor, confirm:

  1. Every timing line uses comma milliseconds.
  2. Every timing line has one --> arrow with spaces.
  3. No seconds or minutes are above 59.
  4. Cue start times come before cue end times.
  5. Cue blocks are separated by blank lines.
  6. The repaired file passes SRT Validator before upload.

For platform-specific upload issues after a clean repair, use SRT file will not upload or best SRT settings for YouTube upload.

Common mistakes

Converting a broken source file too early

If the SRT structure is already malformed, conversion can carry the mess forward.

Mixing SRT and VTT timing styles

SRT uses commas. VTT uses dots. A mixed file is often a sign of manual editing gone wrong.

Editing many timing lines by hand

That is slow and usually introduces new mistakes.

Fixing only the first bad block

Malformed SRT problems often repeat. After fixing one cue, scan the whole file or run a cleanup pass before uploading.

When cleanup is not enough

If the file has valid-looking timestamps but captions appear too early or too late, the problem is sync rather than malformed structure. Use How to fix subtitle delay or How to fix subtitles that are too fast or too slow instead.

Use the Fix SRT Timestamps

Fix malformed SRT timestamps online by parsing cues, converting dot timing to commas, and exporting clean SubRip timing. No signup, no upload, and everything runs locally in the browser.

Open Fix SRT timestamps