PHPackages                             ledat/vtt2srt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ledat/vtt2srt

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

ledat/vtt2srt
=============

A php command-line utility that converts Web Video Text Tracks files (.vtt) to SubRip Subtitle File (.srt)

15264PHP

Since Sep 1Pushed 6y ago1 watchersCompare

[ Source](https://github.com/ledazinha/vtt2srt)[ Packagist](https://packagist.org/packages/ledat/vtt2srt)[ RSS](/packages/ledat-vtt2srt/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

vtt2srt
=======

[](#vtt2srt)

A php command-line utility that converts Web Video Text Tracks files (.vtt) to SubRip Subtitle File (.srt)

So, one of these days I was ready to watch some movie, without realizing that its subtitles were on Web Video Text Tracks (.vtt) format, and my player of choice wouldn't read there files. Then, I did what most people would do: googled "vtt 2 srt", "how to convert vtt files to srt files", and so on.

To my surprise, utilities that convert vtt files to srt are scarce. The one that I found was a nodejs class that does not work at all. But, after looking at its source and figuring out the logic, I wrote a simple PHP script that did the job. Eventually, I rewrote it into a class.

The executables are at bin/ folder. To use it PHP command line executable is needed. Example of usage:

```
cd bin
php vtt2srt.php "Dawn.of.the.Planet.of.the.Apes.2014.vtt" "Dawn.of.the.Planet.of.the.Apes.2014.srt"
```

For Windows users' convenience, a executable batch file is provided.

```
cd bin
vtt2srt "Dawn.of.the.Planet.of.the.Apes.2014.vtt" "Dawn.of.the.Planet.of.the.Apes.2014.srt"
```

and if you wanna use in .php

```
define('__ROOT__', dirname(dirname(__FILE__)));
require_once(__ROOT__.'/projectname/Vtt2Srt.php');
$convert = new \ledat\Vtt2Srt("Dawn.of.the.Planet.of.the.Apes.2014.vtt","Dawn.of.the.Planet.of.the.Apes.2014.srt");
$convert->run();

```

Hope it can be usefull to you. Have a nice day.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/bfb1091e3e9bc9a731b2b18e4a6f2b589fdaedeb8e077e04fa4bd5fe2f723ff1?d=identicon)[lferaml](/maintainers/lferaml)

---

Top Contributors

[![fatih-ozturk](https://avatars.githubusercontent.com/u/10311286?v=4)](https://github.com/fatih-ozturk "fatih-ozturk (4 commits)")[![hamid914](https://avatars.githubusercontent.com/u/1765587?v=4)](https://github.com/hamid914 "hamid914 (2 commits)")[![leda-ferreira](https://avatars.githubusercontent.com/u/7317891?v=4)](https://github.com/leda-ferreira "leda-ferreira (2 commits)")[![picasso250](https://avatars.githubusercontent.com/u/1884104?v=4)](https://github.com/picasso250 "picasso250 (1 commits)")

### Embed Badge

![Health badge](/badges/ledat-vtt2srt/health.svg)

```
[![Health](https://phpackages.com/badges/ledat-vtt2srt/health.svg)](https://phpackages.com/packages/ledat-vtt2srt)
```

###  Alternatives

[liborm85/composer-vendor-cleaner

Composer Vendor Cleaner removes unnecessary development files and directories from vendor directory.

35342.7k1](/packages/liborm85-composer-vendor-cleaner)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
