FREE BROWSER TOOL
Free SRT Subtitle Quick Fix
Shift timings, rewrap lines and merge short cues — fix the file locally and download a clean .srt.
- Data never uploads to a server
- Free, no sign-up, no watermark
- Runs offline after loading
Drop a .srt file here, or click to browse.
UTF-8 .srt — up to 20MB
Merge candidates
Before / after
As imported
Current
Upload or paste an .srt — entries show up here, editable one by one.
How to fix a subtitle file
- Load the file. Drop a UTF-8 .srt, or paste the text and hit Import. The sample button loads a tiny file so you can try every feature first.
- Apply a fix. Shift every cue by ±milliseconds, rewrap to a line-length limit, or preview-then-confirm merging of short adjacent cues. Each step can be undone, and Restore import resets everything.
- Polish entries. Index, start, end and text of every cue are editable; flagged problems (negative time, end before start) block export until fixed.
- Download. Export writes a real UTF-8 .srt whose numbering, timestamps and text match the preview exactly.
What each fix does
Shift
Offsets every start and end by the same milliseconds — for audio that runs early or late. Results below zero are flagged, never clipped.
Rewrap
Re-breaks lines at a per-line limit: CJK counts characters, English breaks on whole words. Markup like italics tags stays glued together — text itself never changes.
Merge
Short flashes (default: under 1s with a gap ≤200ms) can be merged into their neighbour — you tick each pair first, and every word and millisecond is preserved.
Frequently asked questions
What happens when a shift pushes a cue below zero?
Nothing is silently clipped — the affected entries are highlighted and export is blocked. Reduce the offset or fix those cues individually.
Does rewrapping change my text?
Only line breaks move: CJK text wraps by character, English wraps on whole words — nothing is added, removed or rewritten, and markup like <i> or {\an8} stays intact. Cues that can't be safely rewrapped keep their original text and are flagged.
Can merging short cues lose text?
No. You review and tick every candidate pair first; a merge keeps all text from both cues and spans earliest start to latest end. It never merges across a large gap or double-merges, and undo restores the previous state.
When is export blocked?
When flagged errors exist: timings shifted below zero, an end not later than its start, or a hand-edited time that can't be parsed. Pre-existing overlaps are reported as warnings only — export still works.
Are my subtitles uploaded or stored?
No. Parsing, editing and export all run locally in your browser — the file never leaves the device, nothing is logged or auto-saved, and refreshing clears it.
What SRT files are supported?
UTF-8 files with standard timing lines (00:00:01,000 --> 00:00:02,500). Dot milliseconds, LF/CRLF endings and UTF-8 BOM all work. Blocks that fail parsing are located and kept verbatim — nothing is silently dropped.