SRT czy VTT: różnice, obsługa platform i jak przekonwertować

SRT czy VTT? Składnia znaczników czasu, nagłówek WEBVTT, style i pozycjonowanie, które platformy przyjmują dany format oraz jak zamienić napisy SRT na VTT.

Dwa pliki napisów obok siebie: plik SRT ze znacznikami czasu z przecinkiem i plik VTT zaczynający się od nagłówka WEBVTT, połączone strzałką konwersji.

Dostępne również w języku: English, Русский, Українська, Dansk, Deutsch, Español, Français, Italiano, Magyar, Nederlands, Norsk bokmål, Português (Brasil), Suomi, Svenska, Türkçe, Ελληνικά, עברית, العربية, 한국어, 日本語, 中文(中国), 中文(台灣), Indonesia, Tiếng Việt

SRT i VTT to tekstowe formaty napisów, które zapisują każdy napis z czasem początku, czasem końca i tekstem do wyświetlenia – przy prostych napisach są niemal wymienne. Różnice są niewielkie, ale ścisłe: plik VTT (WebVTT) musi zaczynać się od wiersza WEBVTT i używa kropki przed milisekundami, a SRT nie ma nagłówka i używa przecinka; VTT dodaje też pozycjonowanie, style i komentarze. W skrócie: VTT do filmów HTML5 na własnej stronie, napisy SRT na Facebooka i LinkedIn, a na YouTube i Vimeo – dowolny z nich.

W tym poradniku zobaczysz oba formaty na przykładach, sprawdzisz, które platformy przyjmują który z nich, i dowiesz się, jak przekonwertować SRT na VTT i z powrotem, nie psując synchronizacji.

SRT czy VTT – porównanie w skrócie

SRT (SubRip)VTT (WebVTT)
Rozszerzenie pliku.srt.vtt
NagłówekBrakWymagany: pierwszy wiersz to WEBVTT
Format czasu00:01:02,500 (przecinek)00:01:02.500 (kropka); godziny opcjonalne
Numery napisówWymagane, kolejneOpcjonalne identyfikatory (liczby lub nazwy)
PozycjonowanieNiezdefiniowaneUstawienia: line, position, size, align, vertical
StyleNieoficjalne <i>, <b>, <u>, czasem <font><b>, <i>, <u>, klasy, znaczniki głosu, bloki STYLE z CSS
KomentarzeNieBloki NOTE
Formalna specyfikacjaNie (standard de facto)Tak, specyfikacja W3C
Typowe zastosowanieMedia społecznościowe, edytory wideo, odtwarzacze na komputerzeWideo HTML5, odtwarzacze internetowe, streaming

Plik SRT – co to jest?

Plik SRT to plik napisów w formacie SubRip: tekstowa lista ponumerowanych napisów. Każdy napis składa się z trzech części – numeru kolejnego, wiersza z czasem i jednego lub kilku wierszy tekstu – a po nim następuje pusty wiersz przed kolejnym napisem.

1
00:00:01,000 --> 00:00:04,200
Witamy w podsumowaniu kwartału.

2
00:00:04,600 --> 00:00:08,000
<i>Dziś omówimy sprzedaż,
rekrutację i plan rozwoju produktu.</i>

Czas zapisuje się jako godziny:minuty:sekundy,milisekundy, zawsze z dwucyfrowymi godzinami i przecinkiem. SRT nigdy nie został formalnie ustandaryzowany, więc obsługa znaczników formatowania bywa różna. Wiele odtwarzaczy na komputerze wyświetla <i> i <b>, ale strona pomocy YouTube podaje, że obsługuje tylko podstawowe pliki SRT bez znaczników stylu, zapisane jako zwykły tekst UTF-8. Dzięki tej prostocie napisy SRT odczyta niemal każdy edytor wideo i każda platforma społecznościowa, a plik można edytować w dowolnym edytorze tekstu.

Plik VTT (WebVTT) – co to jest?

WebVTT (Web Video Text Tracks) to format napisów stworzony z myślą o internecie. Dokumentacja WebVTT w MDN streszcza zasady: plik musi zaczynać się od WEBVTT, musi być zapisany w UTF-8, a w znacznikach czasu przed milisekundami stoi kropka. Godziny są opcjonalne, więc zapis 01:02.500 jest poprawny.

WEBVTT

NOTE Podsumowanie kwartału, napisy po polsku

intro
00:01.000 --> 00:04.200
Witamy w podsumowaniu kwartału.

00:04.600 --> 00:08.000 line:85% align:center
<v Maria>Dziś omówimy sprzedaż,
rekrutację i plan rozwoju produktu.</v>

Trzy elementy z tego przykładu nie istnieją w SRT:

  • Ustawienia napisu po wierszu z czasem decydują o tym, gdzie pojawi się tekst: line (położenie w pionie), position i size (położenie w poziomie i szerokość), align (start, center, end) oraz vertical (dla pism pionowych).
  • Znaczniki głosu i klas, takie jak <v Maria> czy <c.highlight>, wskazują, kto mówi, albo nadają styl.
  • Bloki NOTE to komentarze, których widz nigdy nie zobaczy. Identyfikatory napisów (jak intro powyżej) są opcjonalne.

Przed pierwszym napisem możesz też umieścić CSS w bloku STYLE:

WEBVTT

STYLE
::cue {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.7);
}
::cue(v[voice="Maria"]) {
  color: #ffd166;
}

Poza przeglądarkami obsługa stylów jest nierówna. YouTube na przykład przyjmuje pozycjonowanie WebVTT, ale ogranicza style do pogrubienia, kursywy i podkreślenia. Traktuj style jako dodatek, a nie coś, co każdy odtwarzacz uwzględni.

Które platformy przyjmują SRT, a które VTT?

Większość widzów nigdy nie widzi formatu pliku, ale formularze przesyłania bywają wybredne. Oto, co znaleźliśmy na stronach pomocy poszczególnych platform i w aktualnych poradnikach (sprawdzone w październiku 2026 r.; interfejsy się zmieniają, więc potwierdź to w bieżącym centrum pomocy).

PlatformaSRTVTTUwagi
YouTubeTakTakSRT jako format podstawowy (bez znaczników stylu); WebVTT jako zaawansowany (pozycjonowanie, ograniczone style). Zwykły UTF-8.
VimeoTakTakCentrum pomocy Vimeo zaleca WebVTT tam, gdzie to możliwe; pliki muszą być w UTF-8.
FacebookTakBrak dokumentacjiPoradniki zgodnie opisują tylko SRT z kodem języka w nazwie, np. video.pl_PL.srt.
LinkedInTakBrak dokumentacjiStrona pomocy LinkedIn opisuje dołączanie pliku SRT na komputerze przed publikacją posta.
TikTokNie znaleźliśmy bezpośredniego przesyłaniaNie znaleźliśmy bezpośredniego przesyłaniaNie znaleźliśmy oficjalnego sposobu na dołączenie pliku z napisami; użyj wbudowanych napisów TikToka albo wtop napisy w obraz.
HTML5 <video>Nie natywnieTakElement <track> jest przeznaczony dla WebVTT.

Czy YouTube używa SRT czy VTT?

Obu. Strona YouTube o obsługiwanych plikach napisów wymienia SubRip (.srt) wśród formatów podstawowych, a WebVTT (.vtt) wśród zaawansowanych. Jeśli potrzebujesz tylko tekstu i czasów, SRT najrzadziej sprawia kłopoty. Jeśli napisy mają się pojawiać z dala od tekstu widocznego w kadrze, użyj VTT.

Wideo HTML5 na własnej stronie

W przypadku własnego odtwarzacza VTT to jedyny praktyczny wybór:

<video controls src="update.mp4">
  <track kind="subtitles" src="update.pl.vtt" srclang="pl" label="Polski" default>
</video>

Jeśli masz plik SRT, najpierw go przekonwertuj. O napisach wtopionych w obraz i krótkich formach wideo przeczytasz w poradniku jak dodać napisy do filmu.

Jak przekonwertować SRT na VTT (i VTT na SRT)

Formaty są tak podobne, że konwersja jest w zasadzie mechaniczna. Krótki plik poprawisz ręcznie, przy dłuższych lepiej użyć konwertera.

SRT na VTT ręcznie

  1. Dodaj WEBVTT jako pierwszy wiersz, a po nim pusty wiersz.
  2. Tylko w wierszach z czasem zamień przecinek przed milisekundami na kropkę: 00:00:04,600 zmienia się w 00:00:04.600.
  3. Zostaw numery napisów – WebVTT akceptuje je jako identyfikatory.
  4. Zapisz plik w UTF-8 z rozszerzeniem .vtt.

Uważaj na funkcję „znajdź i zamień”: zamiana wszystkich przecinków zmieni też przecinki w dialogach – a w polskim tekście jest ich sporo.

VTT na SRT ręcznie

  1. Usuń nagłówek WEBVTT oraz wszystkie bloki STYLE, NOTE i REGION.
  2. Usuń ustawienia napisów z końca wierszy z czasem.
  3. Dopisz brakujące godziny (01:02.500 zmienia się w 00:01:02.500) i zamień kropkę na przecinek.
  4. Ponumeruj napisy po kolei (1, 2, 3) i usuń znaczniki dostępne tylko w VTT, takie jak <v Maria>.

Konwersja w przeglądarce

Darmowe narzędzia Audiotexta – konwerter SRT na VTT i konwerter VTT na SRT – wykonują te kroki za ciebie. Wklejasz napisy albo wybierasz plik, a konwersja odbywa się w przeglądarce, więc nic nie jest wysyłane. Czasy zostają zachowane co do milisekundy, a prefiks mówcy na początku wiersza („Imię:”) pozostaje bez zmian. Jedno uczciwe zastrzeżenie: konwertery usuwają z tekstu znaczniki HTML i style VTT, więc jeśli zależy ci na kursywie lub własnych stylach, dodaj je ponownie po konwersji albo popraw plik ręcznie.

Najczęstsze błędy w plikach SRT i VTT i jak je naprawić

  • Brak nagłówka WEBVTT. Przeglądarki ignorują plik VTT bez niego. Dodaj go jako pierwszy wiersz.
  • Przecinki w czasach VTT albo kropki w SRT. Najczęstszy skutek zmiany rozszerzenia zamiast konwersji. Popraw tylko wiersze z czasem.
  • Złe kodowanie. Jeśli zamiast „ą”, „ę” czy „ż” widzisz dziwne symbole, plik zwykle nie jest w UTF-8. Zapisz go ponownie jako UTF-8 w edytorze tekstu.
  • Plik zapisany jako .srt.txt. Niektóre edytory po cichu dopisują .txt. Włącz wyświetlanie rozszerzeń i zmień nazwę.
  • Brak pustych wierszy. Każdy napis musi być oddzielony pustym wierszem; bez niego napisy się zlewają albo plik przestaje być poprawnie odczytywany.
  • Czas końca przed czasem początku albo nakładające się napisy. Odtwarzacz może pominąć taki napis. Sprawdź czasy edytowanych fragmentów.
  • Napisy nie pojawiają się na Facebooku. Poradniki wskazują na nazwę pliku: powinna kończyć się kodem języka, np. .pl_PL.srt.
  • VTT działa lokalnie, ale nie na serwerze. Serwuj plik z typem zawartości text/vtt. Jeśli leży w innej domenie, element wideo potrzebuje atrybutu crossorigin, a serwer musi wysyłać nagłówki CORS.
  • Napisy domyślnie wyłączone. Dodaj atrybut default do elementu <track>, jeśli mają się wyświetlać automatycznie.

Jaki format wyeksportować?

Jeśli tworzysz napisy od zera, rzadko musisz wybierać z góry. Generator napisów Audiotexta transkrybuje dźwięk i eksportuje zarówno SRT, jak i VTT – także w darmowym planie, bez zakładania konta – a transkrypcję możesz poprawić przed eksportem, żeby czasy i treść były prawidłowe. Cały proces, od transkrypcji po długość wierszy i tempo czytania, opisujemy w poradniku generator napisów SRT i VTT.

Prosta zasada: eksportuj SRT, gdy plik trafia na platformę społecznościową lub do edytora wideo, VTT – na strony internetowe i do odtwarzaczy webowych, a jeśli publikujesz w kilku miejscach, zachowaj oba. Tekst i czasy są identyczne; zmienia się tylko opakowanie.

Jak przekonwertować napisy SRT na VTT

  1. Otwórz konwerter SRT na VTT. Wejdź w przeglądarce na konwerter SRT na VTT w Audiotexta. Działa lokalnie, więc plik z napisami nie jest nigdzie wysyłany.
  2. Wklej napisy lub wybierz plik. Wklej zawartość pliku .srt do pola albo wybierz plik z komputera i sprawdź, czy liczba rozpoznanych napisów się zgadza.
  3. Pobierz plik VTT. Pobierz wynik. Konwerter dodaje nagłówek WEBVTT i zamienia przecinek przed milisekundami na kropkę, nie zmieniając żadnych czasów.
  4. Przetestuj plik w odtwarzaczu. Dołącz plik .vtt do filmu, na przykład przez element track w HTML5 albo formularz przesyłania napisów na platformie, i odtwórz kilka fragmentów, żeby sprawdzić czasy i polskie znaki.

Najczęściej zadawane pytania

Jaka jest główna różnica między SRT a VTT?

Oba formaty zapisują napisy z czasami jako zwykły tekst. Plik VTT musi zaczynać się od wiersza WEBVTT i używa kropki przed milisekundami, a SRT nie ma nagłówka i używa przecinka. VTT obsługuje też pozycjonowanie napisów, style CSS i komentarze, których SRT oficjalnie nie definiuje.

Czy YouTube używa SRT czy VTT?

YouTube przyjmuje oba formaty. Jego strona pomocy wymienia SubRip (.srt) jako format podstawowy bez znaczników stylu, a WebVTT (.vtt) jako format zaawansowany z pozycjonowaniem i stylami ograniczonymi do pogrubienia, kursywy i podkreślenia. Pliki powinny być zapisane jako zwykły tekst UTF-8.

Czy wystarczy zmienić rozszerzenie pliku .srt na .vtt?

Nie. Zmiana nazwy nie dodaje wymaganego nagłówka WEBVTT ani nie zamienia przecinków w znacznikach czasu na kropki, więc rygorystyczne odtwarzacze, na przykład przeglądarki, odrzucą plik albo nic nie wyświetlą. Użyj konwertera lub popraw nagłówek i wiersze z czasem.

Czy coś tracę przy konwersji VTT na SRT?

Zwykle tylko dodatki typowe dla VTT: ustawienia pozycji i wyrównania, bloki STYLE, komentarze NOTE oraz znaczniki głosu lub klas. Tekst i czasy pozostają bez zmian, a większość platform i tak korzysta tylko z nich.

Jakiego formatu użyć do filmu HTML5 na własnej stronie?

VTT. Element track w HTML jest przeznaczony dla plików WebVTT, a przeglądarki oczekują nagłówka WEBVTT i kropki przed milisekundami. Serwuj plik z typem zawartości text/vtt.

Wypróbuj Audiotexta za darmo

Prześlij plik lub wklej link i otrzymaj transkrypcję w kilka minut.

Zacznij transkrypcję

Powiązane artykuły