Troubleshooting••8 min read

SRT Timestamp Format: Why Does My Subtitle File Use the Wrong Time Format?

Learn the correct SRT timestamp format (HH:MM:SS,mmm), why subtitle files use the wrong time format, comma vs dot differences, and how to fix broken timecodes.

If your video player refuses to load your subtitle file, shows dialogue at completely erratic moments, or your subtitle editor throws an "invalid timecode" error, you are almost certainly dealing with an SRT timestamp format problem.

The standard SRT timestamp format requires the exact syntax HH:MM:SS,mmm --> HH:MM:SS,mmm. Subtitle files use the wrong time format when periods are accidentally substituted for commas, the arrow separator (-->) is malformed, millisecond digits are omitted, or timestamps were exported from incompatible formats such as WebVTT or ASS.

Every subtitle cue relies on its start and end timestamps to tell the video player precisely when dialogue should appear on screen and when it should vanish. Even a minor punctuation slip—such as writing 00:01:25.500 instead of 00:01:25,500—can break strict subtitle parsers used by streaming services, video editing suites, and media players.

In this guide, you will learn the exact syntax rules of the SRT timestamp format, why timestamps end up corrupted, the critical differences between SRT, VTT, and ASS timecodes, and how to fix invalid timestamps without altering your subtitle timing.


What Is the Correct SRT Timestamp Format?

The SubRip Subtitle (.srt) format was created in the early days of DVD ripping and desktop digital video. Its timecode architecture is rigid and predictable.

The universal, standard SRT timestamp format is:

HH:MM:SS,mmm --> HH:MM:SS,mmm

Here is how each component is structured:

  • HH (Hours): Two-digit representation of hours, ranging from 00 to 99. Leading zeros are mandatory (e.g., 01, not 1).
  • : (Colon Separator): Mandatory separator between hours and minutes, and between minutes and seconds.
  • MM (Minutes): Two-digit representation of minutes, ranging from 00 to 59.
  • SS (Seconds): Two-digit representation of seconds, ranging from 00 to 59.
  • , (Comma Millisecond Separator): The standard SRT decimal separator. Conventional SRT must use a comma, not a period or dot.
  • mmm (Milliseconds): Exactly three digits representing thousandths of a second, ranging from 000 to 999 (e.g., 500 represents half a second).
  • --> (Arrow Separator): Two hyphens followed by a greater-than symbol with a single space on either side. It separates the start timestamp from the end timestamp.

Anatomy of a Complete, Valid SRT Cue

A standard SRT file consists of sequential subtitle cues separated by blank lines. Each cue must follow this four-part structure:

1
00:01:25,500 --> 00:01:28,750
Welcome back to our channel!
Today we are discussing subtitle formats.

2
00:01:29,100 --> 00:01:32,400
Let us jump straight into the details.

In Cue 1:

  1. Sequence Number: 1
  2. Timestamp Line: The subtitle appears at exactly 1 minute, 25 seconds, and 500 milliseconds (00:01:25,500) and disappears at 1 minute, 28 seconds, and 750 milliseconds (00:01:28,750).
  3. Subtitle Text: Two readable lines of dialogue.
  4. Blank Line Separator: A clean empty line separating Cue 1 from Cue 2.

Why Does My SRT File Use the Wrong Time Format?

If your subtitle file contains invalid or rejected timestamps, the issue usually stems from one of these common causes:

1. A Period Was Used Instead of a Comma

By far the most frequent timestamp formatting error is using a period (.) instead of a comma (,) before milliseconds: - Incorrect (in conventional SRT): 00:01:25.500 --> 00:01:28.750 - Correct: 00:01:25,500 --> 00:01:28,750

While forgiving players like modern desktop VLC can tolerate periods, stricter environments—including Adobe Premiere Pro, Final Cut Pro, Plex, smart TV players, and automated broadcast validators—will reject the file or fail to render the cue.

2. The Arrow Separator Was Broken or Altered

The arrow separator requires exactly two hyphens, a right angle bracket, and flanking spaces ( --> ). Common mistakes include: - A single hyphen: 00:01:25,500 -> 00:01:28,750 - Missing spaces: 00:01:25,500-->00:01:28,750 - Using an en-dash or em-dash: 00:01:25,500 –-> 00:01:28,750 - An extra space inside the arrow: 00:01:25,500 - -> 00:01:28,750

3. Milliseconds Were Omitted or Truncated

Some automated speech-to-text tools or custom scripts export timestamps truncated to whole seconds (00:01:25 --> 00:01:28) or with only two digits (00:01:25,50). Standard SRT parsers expect three millisecond digits. Two digits (,50) can be misinterpreted as 50 milliseconds rather than 500 milliseconds, causing visual stutter or parsing errors.

4. Single-Digit Hours or Minutes

Unlike WebVTT, which permits shorthand timecodes (such as 1:25.500 or 25.500), standard SRT requires two digits for every time unit. Writing 0:01:25,500 or 1:25,500 violates the format specification.

5. Timestamps Copied Directly from Other Subtitle Formats

If you copy timestamps from YouTube caption downloads, WebVTT files, or ASS/SSA scripts, the timestamp notation will not match SRT syntax: - WebVTT uses periods: 00:01:25.500 - ASS/SSA uses centiseconds: 0:01:25.50

6. Accidental Text or Stray Spaces on the Timestamp Line

A stray character, invisible unicode space, or misplaced punctuation mark on the timestamp line will invalidate the entire cue.

SRT Timestamp Comma vs. Period: What Is the Difference?

The debate over commas versus periods in subtitle timestamps often confuses creators. Both notations represent the exact same duration, but they belong to different format specifications:

FormatMillisecond SeparatorTimestamp Syntax ExampleHour Omission Allowed?
SubRip (SRT)Comma (,)00:01:25,500 --> 00:01:28,750No (always HH:MM:SS,mmm)
WebVTT (VTT)Period (.)00:01:25.500 --> 00:01:28.750Yes (allows MM:SS.mmm)

Why Did SRT Adopt the Comma?

SubRip was created in France, where continental European numbering conventions use a comma as the decimal separator (e.g., 1,5 kg instead of 1.5 kg). When the W3C later designed WebVTT as the official HTML5 web video standard, they chose the period to match standard programming and web decimal conventions.

[!IMPORTANT]
Simply replacing commas with periods does not convert an SRT file into a valid WebVTT file! WebVTT files also require a mandatory WEBVTT header on the first line, optional cue identifiers, and CSS styling options. To convert properly, use our free SRT to VTT Converter.


SRT vs. VTT vs. ASS Timestamp Formats

Different subtitle formats store timecodes differently to serve different playback engines:

1. SubRip (.srt)

- Syntax: 01:14:22,450 --> 01:14:25,900 - Precision: Milliseconds (3 decimal digits) - Separator: Comma (,) - Use Case: Universal desktop playback, media players (VLC, Plex), video editing timelines.

2. WebVTT (.vtt)

- Syntax: 01:14:22.450 --> 01:14:25.900 or 14:22.450 --> 14:25.900 - Precision: Milliseconds (3 decimal digits) - Separator: Period (.) - Use Case: Modern web browsers, HTML5 <video> tags, YouTube, Vimeo, streaming web players.

3. Advanced SubStation Alpha (.ass)

- Syntax: Dialogue: 0,1:14:22.45,1:14:25.90,Default,,0,0,0,,Dialogue text - Precision: Centiseconds (2 decimal digits, hundredths of a second) - Separator: Period (.) - Use Case: Styled anime subtitles, karaoke effects, precise onscreen screen-positioning.

Because ASS uses centiseconds (45 = 450ms) and inline styling fields, you cannot simply rename an SRT file to ASS. If you need advanced styling, read our complete guide on How to Convert SRT to ASS Without Losing Formatting.


How to Fix an Incorrect SRT Timestamp Format

Fixing timestamp formatting errors does not require re-timing your subtitles. Follow these step-by-step instructions to restore standard SRT syntax:

Step 1: Make a Backup Copy

Before editing your subtitle file, create a duplicate copy (e.g., movie_backup.srt). This ensures your original timing data remains safe.

Step 2: Open in a Plain-Text Editor

Open the file in a clean text editor such as VS Code, Notepad++, or Sublime Text. Avoid word processors like Microsoft Word, which insert non-standard smart punctuation.

Step 3: Identify Formatting Inconsistencies

Scan the timestamp lines or use search tools (Ctrl+F) to look for: - Periods between seconds and milliseconds (.) - Malformed arrows (-> or --> without spaces) - Missing leading zeros in hours (0: or 1:)

Step 4: Correct the Syntax

Update the timestamps so they strictly adhere to HH:MM:SS,mmm --> HH:MM:SS,mmm.
BEFORE (Invalid - WebVTT period, broken arrow, 2-digit ms):
3
00:00:14.50 -> 00:00:18.2
We noticed an error in the system.

AFTER (Fixed - Standard SRT syntax):
3
00:00:14,500 --> 00:00:18,200
We noticed an error in the system.

Notice that the actual timing did not change: 14.5 seconds remains 14.5 seconds (14,500), and 18.2 seconds remains 18.2 seconds (18,200). Only the formatting was corrected.

Step 5: Check Sequence Numbers and Blank Lines

Verify that each cue retains a sequential number (1, 2, 3...) and that exactly one blank line separates each subtitle block.

Step 6: Save in UTF-8 Encoding

Save your file as plain text with the .srt extension using UTF-8 encoding.

Step 7: Test in Your Media Player

Load the corrected SRT file into VLC or your editing software to verify that the subtitles appear and disappear at the right moments.

Common SRT Timestamp Errors and Their Fixes

Here is a quick reference guide to common timestamp errors and their solutions:

Error 1: Using Periods Instead of Commas

- Faulty Line: 00:02:10.400 --> 00:02:14.800 - The Problem: WebVTT notation used inside an SRT file. - The Solution: Replace periods with commas: 00:02:10,400 --> 00:02:14,800.

Error 2: Missing Milliseconds Completely

- Faulty Line: 00:02:10 --> 00:02:14 - The Problem: Truncated timecode missing millisecond precision. - The Solution: Pad with three zeros: 00:02:10,000 --> 00:02:14,000.

Error 3: Single-Digit Hour Field

- Faulty Line: 0:02:10,400 --> 0:02:14,800 - The Problem: Missing leading zero. - The Solution: Add the leading zero: 00:02:10,400 --> 00:02:14,800.

Error 4: End Time Earlier Than Start Time

- Faulty Line: 00:05:20,000 --> 00:05:15,000 - The Problem: Negative duration cue. The end time occurs 5 seconds before the start time. - The Solution: Correct the end time so it occurs after the start time (e.g., 00:05:20,000 --> 00:05:25,000).

Error 5: Timestamp Exceeds Video Duration

- Faulty Line: 01:45:10,000 --> 01:45:14,000 on a 45-minute video. - The Problem: Subtitles were timed for a different cut or extended version of the video. - The Solution: If subtitles are out of sync across the entire file, follow our guide on How to Fix SRT Subtitles Out of Sync.

Can Incorrect SRT Timestamps Cause Subtitle Sync Problems?

It is essential to distinguish between a formatting error and a synchronization error:

  • Formatting Error: The syntax of the timestamp line is invalid (e.g., missing comma, broken arrow). The parser may crash, reject the file, or fail to load specific cues. The subtitle does not appear at all.
  • Synchronization Error: The timestamp syntax is 100% valid, but the time values do not match the spoken dialogue (e.g., dialogue appears 3 seconds too early, or gradually drifts over time).

If your subtitles display at the wrong moment, fixing commas or colons will not resolve the desynchronization. You need to apply a timing offset or frame-rate adjustment. Conversely, if your player shows an error or ignores the subtitle file entirely, fixing the timestamp format will immediately solve the problem.

For general playback errors, also check our troubleshooting guide on Why Is My SRT File Not Working?.


Why Is My SRT File Not Loading After Editing Timestamps?

If you edited timestamps manually and the file now refuses to load, check this verification checklist:

  1. Did you accidentally delete a sequence number? Every cue must have an integer number above the timestamp.
  2. Is the arrow separator intact? Confirm every cue has --> with spaces on both sides.
  3. Are there blank lines between every cue? Missing blank lines can cause the parser to merge two cues into one corrupted block.
  4. Did your editor convert straight quotes or hyphens? Ensure no em-dashes (—) replaced standard hyphens (-).
  5. Is the file saved with the .srt extension? Make sure it was not saved as subtitles.srt.txt.
  6. Is character encoding set to UTF-8? Read our guide on How to Fix SRT Subtitle Encoding Problems if text appears garbled.

How to Prevent SRT Timestamp Errors

To keep your subtitle timestamps valid and error-free:

  • Use Dedicated Subtitle Tools: Use software like Subtitle Edit or Aegisub, which enforce valid timestamp syntax automatically.
  • Avoid Manual Bulk Find-and-Replace: Replacing all periods with commas across an entire file can accidentally corrupt decimal numbers and ellipsis punctuation in dialogue text.
  • Use Dedicated Format Converters: When converting between SRT and WebVTT, never just rename the file. Always use a purpose-built conversion tool that transforms timestamp syntax cleanly.
  • Verify Files Before Publishing: Always load the file in a media player and spot-check the beginning, middle, and end of the timeline.

Convert and Format Subtitles with SRTConverters

Whenever you need to convert subtitle formats, clean transcripts, or ensure standards-compliant timecodes, SRTConverters provides free, private, browser-based tools:


Frequently Asked Questions

What is the standard SRT timestamp format?

The standard SRT timestamp format is HH:MM:SS,mmm --> HH:MM:SS,mmm, where HH is two-digit hours, MM is minutes, SS is seconds, mmm is three-digit milliseconds, and --> is the arrow separator.

Does SRT use commas or periods for milliseconds?

Standard SubRip (SRT) files use a comma (,) as the decimal separator between seconds and milliseconds (e.g., 00:01:25,500). Periods (.) are standard in WebVTT files.

How many digits should SRT milliseconds contain?

SRT milliseconds must strictly contain three digits, ranging from 000 to 999. If milliseconds have fewer than three digits, they must be padded with leading or trailing zeros (e.g., 050 for 50ms).

Can an SRT timestamp omit milliseconds?

No. Standard SRT parser specifications require three-digit millisecond precision. Omitting milliseconds or truncating the timestamp to HH:MM:SS will cause many media players and subtitle editors to reject the cue.

Why are my SRT timestamps not working?

Common reasons include using a period instead of a comma, a broken or missing arrow separator (-->), missing colons, invalid two-digit milliseconds, or having an end timestamp that occurs before the start timestamp.

How do I correct invalid SRT timestamps?

Open the SRT file in a plain-text editor, locate the malformed timestamp line, adjust the syntax to HH:MM:SS,mmm --> HH:MM:SS,mmm while preserving the numerical time values, and save the file in UTF-8 encoding.

What is the difference between SRT and VTT timestamp formats?

SRT uses a comma before milliseconds (00:00:15,000), requires two-digit hours, and uses a strict numbering scheme. WebVTT uses a period (00:00:15.000) and allows hours to be omitted for times under an hour.

Can an incorrect timestamp make subtitles disappear?

Yes. If a timestamp syntax error causes a parser to fail, or if an end timestamp is accidentally set earlier than a start timestamp (or equal to zero), the media player will skip or fail to render the affected cues.

Will fixing timestamp punctuation change subtitle timing?

No. Fixing punctuation (such as replacing a period with a comma or restoring a missing colon) corrects syntax without altering the actual start and end moments of the dialogue.

How can I check whether an SRT file is valid?

You can inspect the file in a text editor or load it into a dedicated tool like our free browser-based converters on SRTConverters.com to verify whether cues parse cleanly.


Final Thoughts

The SRT timestamp format is straightforward once you know its rules: two-digit hours, minutes, and seconds, followed by a comma, three-digit milliseconds, and a clean arrow separator (-->).

Most timestamp errors are simply punctuation mismatches—especially periods copied from WebVTT or broken arrow separators from manual edits.

By keeping the formatting consistent and using proper conversion tools, you can ensure your subtitle files load reliably across every video player, editing program, and streaming platform.

Whenever you need to format, convert, or clean your subtitles, use the free browser tools in the SRTConverters Tool Suite for fast, 100% private processing.