💬
Creator & Video/SRT Caption Formatter

SRT Caption Formatter

Auto-detect SRT / VTT / plain text. Convert, clean, time-shift.

LOCALAuto-detectTime shiftCPS warning3 output formats

Paste subtitles and click “Format”

Data Source & Legal Disclaimer
Effective: Current
Sources: SubRip (.srt) Subtitle Format

All formatting is performed locally in your browser — your subtitle file and video timestamps are never uploaded. Timing adjustments use standard .srt conventions. Always preview the output with your actual video before publishing.

See all data sources & update policy →

How the SRT subtitle format works — illustrated

An SRT (SubRip) file is a plain-text sequence of cue blocks. Each block starts with an incrementing cue number, then a timestamp line in HH:MM:SS,mmm form (hours:minutes:seconds,milliseconds) with an arrow (-->) between the start and end time, then one or more text lines. The closely related VTT (WebVTT) format is identical except it requires a WEBVTT header, writes milliseconds with a dot (00:00:03.500), and supports inline styling. Players like YouTube, VLC, and Premiere align each text line to its timestamp window — so the two things that matter most are correct timing and reading speed (around 15–20 characters per second).

Anatomy of an SRT cue block — and how VTT differs
100:00:03,500 --> 00:00:07,200Welcome back! Todaywe build a sketch.Cue numberstarts at 1, +1 per blockStart --> endHH:MM:SS,mmm windowText lineskeep to 2 lines · ~15–20 CPSVTT variant — almost identicaladds a WEBVTT header line · milliseconds use a dot (00:00:03.500) · optional inline stylingFormatter: auto-detect format · re-wrap lines · shift time offset · CPS warning flags

Every cue is a numbered block of start → end timestamps plus text. The formatter auto-detects SRT / VTT / plain text, re-wraps long lines, applies a time offset, and checks characters-per-second (CPS) so your captions stay readable.

Tightening a rough transcript — Diego's interview captions

Diego interviews a guest for his 40-minute podcast. His recorder exports captions with no header, over-long single-line cues, and every timestamp landing 2.4 seconds late. He cleans it up before publishing to YouTube.

  1. Paste & auto-detect:He pastes the raw transcript; the formatter identifies it as SRT and reports 128 cue blocks across a 38:52 duration
  2. Re-wrap the lines:Setting max line length 42 and max 17 CPS breaks the long sentences into readable two-line cues that fit on phone screens
  3. Shift the timing:A +2.4 s offset pushes every start/end timestamp forward so captions land exactly on the speech
  4. Convert & publish:He exports VTT for YouTube and plain SRT for X (Twitter); remaining CPS warnings flag the few cues still too fast to read comfortably
↩ Back to calculator

To format subtitles: upload your SRT file — the tool adjusts timing, converts between SRT and VTT, and checks characters-per-second limits, all in your browser.

FreeToolHub SRT Subtitle Formatter is a free browser-based tool that formats, converts, and fixes SRT subtitle files, no signup, no upload.

About this tool

What is this tool?

Clean, convert and time-shift SRT/VTT caption files with auto format detection. Free, in-browser.

Auto-detectTime shiftCPS warning3 output formats

What Is the SRT Caption Formatter?

This tool repairs and restyles subtitle files: it converts between SRT, WebVTT, and plain text; applies time offsets to fix files shifted early or late; renumbers broken cue sequences; and wraps overlong lines to readable lengths. Quality checks flag the problems players choke on — overlapping cues, negative durations, reading speeds above comfortable CPS, and gaps too short to read — with one-click fixes for each. Load a file, review the diagnostics, apply repairs, and download a clean copy; the entire pipeline runs locally so unreleased video captions never upload.

Who Should Use This Tool?

Video editors fix machine-generated captions whose timing drifts or lines run long before delivery. Course creators convert SRT to VTT for HTML5 players and to plain text for transcripts and show notes. Translators merge and re-time subtitle files against new cuts of the same video. Podcasters repurpose captions into articles. Anyone receiving caption files from mixed tools — each with its own formatting quirks — normalizes them into one consistent, spec-correct format here.

How Does It Work?

(1) Load or paste an .srt or .vtt file; the parser maps every cue with its number, timestamps, and text. (2) Review diagnostics: overlaps, gaps, duration extremes, and characters-per-second speed. (3) Apply fixes — offset all timing, renumber, rewrap to your line-length limit, and repair flagged issues — or convert formats outright. (4) Download the cleaned file in SRT, VTT, or plain text. Offsets apply positively or negatively, so both early and late shifts correct in the same pass.

What Makes Captions Look Professional?

Readable captions follow measurable rules. Line length: at most 42 characters per line, one or two lines per cue — two short lines beat one long one on every screen. Reading speed: 15–21 characters per second for adult audiences, lower for children's content; anything faster gets trimmed or split into two cues. Duration: 1 second minimum so a cue is actually readable, 7 seconds maximum, with at least 2 frames of gap between cues so they never visually collide. Positioning: bottom center, clear of burnt-in text and lower-third graphics. Text style: sentence case rather than ALL CAPS, punctuation intact, speaker changes marked with dashes, and sound events in brackets [music playing] for accessibility. Sync discipline: captions lead what's spoken by no more than a fraction of a second — viewers forgive late more than early. This formatter's diagnostics encode exactly these thresholds, so professional-grade output is the default rather than a manual audit.

Frequently Asked Questions

How do I fix overlapping subtitles in an SRT file?

Load the .srt into this formatter — it detects overlaps, negative durations, and gaps under your threshold, then re-times or renumbers the whole file in one pass while preserving text.

What is the correct SRT subtitle format?

Sequential number, timestamp line in HH:MM:SS,mmm --> HH:MM:SS,mmm format, one or more text lines, then a blank line. Deviations in commas, arrows, or numbering break most players — this tool normalizes them all.

How long should a subtitle stay on screen?

Industry standard is 1–7 seconds duration with a minimum 2-frame gap between cues, reading speed near 15–21 characters per second for adult audiences.

Can I convert SRT to VTT online?

Yes — this tool exports WebVTT, which uses the same cue structure with a WEBVTT header and period-separated timestamps, required for HTML5 track elements.

Can it convert and time-shift subtitle files?

Yes. Convert between SRT and WebVTT formats, shift timestamps by ±milliseconds (fix sync drift), and clean formatting errors (missing sequence numbers, incorrect timestamp delimiters). Auto-detects input format. A 2-hour movie subtitle file (2,000+ cues) processes in under 1 second with frame-rate conversion support (23.976, 25, 29.97 fps).

What common subtitle errors does it fix?

It repairs: BOM characters that break players, CRLF vs LF line-ending inconsistencies, missing blank lines between cues, timestamps using periods instead of commas (SRT requires 00:01:23,456), and overlapping cue timings. These errors cause subtitles to display as raw text or not appear at all in VLC, Plex, and smart TV players.

Related tools

Joke of the Day
Sep 6

What do you call a crab that plays baseball?

100% Free, Forever

Keep Tools Free for Everyone

No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.

Support me on Ko-fi— keep tools free

100% of proceeds go towards hosting & building more free tools.