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.

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łówek | Brak | Wymagany: pierwszy wiersz to WEBVTT |
| Format czasu | 00:01:02,500 (przecinek) | 00:01:02.500 (kropka); godziny opcjonalne |
| Numery napisów | Wymagane, kolejne | Opcjonalne identyfikatory (liczby lub nazwy) |
| Pozycjonowanie | Niezdefiniowane | Ustawienia: line, position, size, align, vertical |
| Style | Nieoficjalne <i>, <b>, <u>, czasem <font> | <b>, <i>, <u>, klasy, znaczniki głosu, bloki STYLE z CSS |
| Komentarze | Nie | Bloki NOTE |
| Formalna specyfikacja | Nie (standard de facto) | Tak, specyfikacja W3C |
| Typowe zastosowanie | Media społecznościowe, edytory wideo, odtwarzacze na komputerze | Wideo 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),positionisize(położenie w poziomie i szerokość),align(start, center, end) orazvertical(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
intropowyż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).
| Platforma | SRT | VTT | Uwagi |
|---|---|---|---|
| YouTube | Tak | Tak | SRT jako format podstawowy (bez znaczników stylu); WebVTT jako zaawansowany (pozycjonowanie, ograniczone style). Zwykły UTF-8. |
| Vimeo | Tak | Tak | Centrum pomocy Vimeo zaleca WebVTT tam, gdzie to możliwe; pliki muszą być w UTF-8. |
| Tak | Brak dokumentacji | Poradniki zgodnie opisują tylko SRT z kodem języka w nazwie, np. video.pl_PL.srt. | |
| Tak | Brak dokumentacji | Strona pomocy LinkedIn opisuje dołączanie pliku SRT na komputerze przed publikacją posta. | |
| TikTok | Nie znaleźliśmy bezpośredniego przesyłania | Nie znaleźliśmy bezpośredniego przesyłania | Nie 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 natywnie | Tak | Element <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
- Dodaj
WEBVTTjako pierwszy wiersz, a po nim pusty wiersz. - Tylko w wierszach z czasem zamień przecinek przed milisekundami na kropkę:
00:00:04,600zmienia się w00:00:04.600. - Zostaw numery napisów – WebVTT akceptuje je jako identyfikatory.
- 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
- Usuń nagłówek
WEBVTToraz wszystkie blokiSTYLE,NOTEiREGION. - Usuń ustawienia napisów z końca wierszy z czasem.
- Dopisz brakujące godziny (
01:02.500zmienia się w00:01:02.500) i zamień kropkę na przecinek. - 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 atrybutucrossorigin, a serwer musi wysyłać nagłówki CORS. - Napisy domyślnie wyłączone. Dodaj atrybut
defaultdo 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
- 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.
- 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.
- Pobierz plik VTT. Pobierz wynik. Konwerter dodaje nagłówek WEBVTT i zamienia przecinek przed milisekundami na kropkę, nie zmieniając żadnych czasów.
- 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.