Auto-detect SRT / VTT / plain text. Convert, clean, time-shift.
Paste subtitles and click “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.
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).
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.
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.
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.
Clean, convert and time-shift SRT/VTT caption files with auto format detection. Free, in-browser.
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.
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.
(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.
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.
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.
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.
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.
Yes — this tool exports WebVTT, which uses the same cue structure with a WEBVTT header and period-separated timestamps, required for HTML5 track elements.
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).
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.
What do you call a crab that plays baseball?
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 free100% of proceeds go towards hosting & building more free tools.