All Tools View Categories About Contact Privacy

Subtitle Size Optimizer

Shrink subtitle files by cleaning them.

Runs entirely in your browser — no data is uploaded or stored.

Optimizing keeps meaning but removes tags, spacing, empties and BOM for a smaller file.

About this tool & how to use it
  • Inline tag removal: Every angle-bracketed styling tag is stripped from the caption text, including italics, bold, underline and colour tags left behind by other editors. The words survive; the markup does not.
  • Whitespace trimming: Leading and trailing spaces and tabs are removed from each cue so the text starts and ends exactly where it should, which also prevents odd caption alignment in players that honour raw spacing.
  • Empty cue pruning: Cues that end up with no text after cleaning are dropped from the output instead of being written out as hollow blocks, and the remaining cues are renumbered in a continuous sequence.
  • BOM stripping: The invisible UTF-8 byte order mark is removed from the start of the file, a common cause of a first cue index being rejected by strict SRT parsers and broadcast ingest tools.
  • Timing preserved exactly: Start and end times are carried through unchanged, so the optimized file still lines up perfectly with your video and needs no re-sync.
  • Single-field simplicity: The only control is the SRT Content box; paste, run, and take the result. There are no options to misconfigure and no presets to remember.
  • Download as .srt: The cleaned result is offered as a ready-to-use .srt download, so it can go straight into an upload form or a delivery folder.
  • Runs entirely offline in the tab: No file is uploaded and no copy is retained, making it safe for embargoed or client-confidential material.
  1. Open your subtitle file in any text editor, select all of it, and paste it into the SRT Content box on this page.
  2. If you just want to see what the optimizer does before committing your own file, click Load sample to drop in a short tagged example with spare whitespace and a blank cue.
  3. Click Run to parse the cues, strip the markup and whitespace, remove empty cues and drop the byte order mark.
  4. Read the result panel and confirm that the caption wording is intact and only styling and blank lines have gone, paying particular attention to any cue where italics carried meaning such as a song lyric or an off-screen voice.
  5. Compare the cue numbering in the output with your source if you rely on cue indices elsewhere, since removed empty cues cause the remaining ones to be renumbered.
  6. Use Copy to put the optimized subtitles on the clipboard, or use the download button to save the cleaned file with the .srt extension.
  7. Upload or embed the smaller file, and keep your original tagged version if you may need the styling back later.

Example 1 - a file full of italics and stray spaces. An SRT exported from a captioning app carries font and italic tags plus padded lines. The optimizer keeps the words and timings and discards everything else.

Before:
1
00:00:01,000 --> 00:00:03,500
  <i>We should go now.</i>  

After:
1
00:00:01,000 --> 00:00:03,500
We should go now.

Example 2 - a hollow cue between two real ones. A cue that held only a formatting tag is removed completely and the cues after it are renumbered, so no player is left rendering an empty caption box.

Before:
2
00:00:04,000 --> 00:00:05,000
<font></font>

3
00:00:06,000 --> 00:00:08,000
Right behind you.

After:
2
00:00:06,000 --> 00:00:08,000
Right behind you.

The saved bytes matter most on long files and multi-language deliveries, where tag noise can account for a third of the file size.

About Subtitle Size Optimizer

Subtitle Size Optimizer takes a SubRip file pasted into the SRT Content box and returns a leaner, cleaner SRT you can copy from the result panel or save as a .srt file. It parses every cue, removes inline markup such as <i>, <b> and <font> tags, trims leading and trailing whitespace, drops cues left empty after cleaning, and strips the UTF-8 byte order mark from the head of the file.

Bloated subtitle files are a routine nuisance. Files that have passed through several editors, OCR engines or auto-translation services collect styling nobody asked for, double spaces, orphaned blank cues and an invisible BOM that makes strict parsers reject the first cue. Platform uploaders, e-learning teams and localisation vendors shipping dozens of language tracks all want the same thing: a small, plain file that every player accepts.

Technically the tool reads the standard structure - index line, HH:MM:SS,mmm --> HH:MM:SS,mmm timing line, then text - and rebuilds it from the parsed cue list. The tag filter matches any angle-bracketed span, so nested or malformed styling disappears in one pass. Timings are copied through untouched, so the optimized file stays frame-accurate against your video and only meaningless bytes are removed.

Everything happens in your browser on the text you pasted, with no upload and no copy retained, so even a feature-length file of several thousand cues is optimized in a fraction of a second.

Features

  • Inline tag removal: Every angle-bracketed styling tag is stripped from the caption text, including italics, bold, underline and colour tags left behind by other editors. The words survive; the markup does not.
  • Whitespace trimming: Leading and trailing spaces and tabs are removed from each cue so the text starts and ends exactly where it should, which also prevents odd caption alignment in players that honour raw spacing.
  • Empty cue pruning: Cues that end up with no text after cleaning are dropped from the output instead of being written out as hollow blocks, and the remaining cues are renumbered in a continuous sequence.
  • BOM stripping: The invisible UTF-8 byte order mark is removed from the start of the file, a common cause of a first cue index being rejected by strict SRT parsers and broadcast ingest tools.
  • Timing preserved exactly: Start and end times are carried through unchanged, so the optimized file still lines up perfectly with your video and needs no re-sync.
  • Single-field simplicity: The only control is the SRT Content box; paste, run, and take the result. There are no options to misconfigure and no presets to remember.
  • Download as .srt: The cleaned result is offered as a ready-to-use .srt download, so it can go straight into an upload form or a delivery folder.
  • Runs entirely offline in the tab: No file is uploaded and no copy is retained, making it safe for embargoed or client-confidential material.

How to Use

  1. Open your subtitle file in any text editor, select all of it, and paste it into the SRT Content box on this page.
  2. If you just want to see what the optimizer does before committing your own file, click Load sample to drop in a short tagged example with spare whitespace and a blank cue.
  3. Click Run to parse the cues, strip the markup and whitespace, remove empty cues and drop the byte order mark.
  4. Read the result panel and confirm that the caption wording is intact and only styling and blank lines have gone, paying particular attention to any cue where italics carried meaning such as a song lyric or an off-screen voice.
  5. Compare the cue numbering in the output with your source if you rely on cue indices elsewhere, since removed empty cues cause the remaining ones to be renumbered.
  6. Use Copy to put the optimized subtitles on the clipboard, or use the download button to save the cleaned file with the .srt extension.
  7. Upload or embed the smaller file, and keep your original tagged version if you may need the styling back later.

Examples

Example 1 - a file full of italics and stray spaces. An SRT exported from a captioning app carries font and italic tags plus padded lines. The optimizer keeps the words and timings and discards everything else.

Before:
1
00:00:01,000 --> 00:00:03,500
  <i>We should go now.</i>  

After:
1
00:00:01,000 --> 00:00:03,500
We should go now.

Example 2 - a hollow cue between two real ones. A cue that held only a formatting tag is removed completely and the cues after it are renumbered, so no player is left rendering an empty caption box.

Before:
2
00:00:04,000 --> 00:00:05,000
<font></font>

3
00:00:06,000 --> 00:00:08,000
Right behind you.

After:
2
00:00:06,000 --> 00:00:08,000
Right behind you.

The saved bytes matter most on long files and multi-language deliveries, where tag noise can account for a third of the file size.

Benefits

  • Faster uploads and page loads: A smaller caption file transfers quicker to a video platform or CDN and is fetched faster by web players, which matters when a page loads several language tracks at once.
  • Fewer rejected deliveries: Removing the byte order mark and empty cues eliminates two of the most common reasons an ingest system refuses an otherwise valid SRT.
  • Consistent look across players: With inline styling gone, captions render in the player's own house style instead of inheriting colours and italics that may clash or be ignored unpredictably.
  • Safe for your sync: Because timings are never altered, you get the size reduction without any risk of drift and without needing to re-check the file against the video.
  • Clean input for downstream tools: Translation memories, spell checkers and reading-speed analysers all behave better on plain text, so cleaning first saves rework later.
  • Complete privacy: Your subtitles are processed in the browser and never sent anywhere, which keeps unreleased scripts and client material confidential.

Frequently Asked Questions

What gets removed?
HTML tags, surrounding whitespace, empty cues and the UTF-8 BOM — without changing caption meaning.
Does it change timing?
No, only text is cleaned; timestamps stay.
Why optimize size?
Smaller files upload faster and are friendlier for embedded/soft-sub delivery.
Is my file uploaded?
No, optimization is local.