SRT vs VTT vs ASS: którego formatu napisów użyć w 2026 roku?
SRT, VTT i ASS porównane: co niesie każdy format, gdzie każdy z nich się psuje i którego użyć do YouTube, webu, stylizowanych napisów i archiwizacji wideo.
Różnica między SRT a VTT jest niewielka: VTT, czyli WebVTT, to SRT dostosowany do przeglądarek internetowych. Plik VTT zaczyna się od linii nagłówka WEBVTT, przed milisekundami ma kropkę zamiast przecinka, jest zawsze w UTF-8 i może nieść pozycjonowanie oraz stylizację CSS, dla których SRT nie ma miejsca. ASS to zupełnie inny rodzaj pliku: zamiast samego tego, co jest powiedziane i kiedy, opisuje, jak rysowana jest każda linijka — font, kolor, dokładną pozycję i czasowanie karaoke słowo po słowie.
SRT to właściwa odpowiedź w mniej więcej dziewięciu przypadkach z dziesięciu. VTT jest odpowiedzią, gdy plik odtwarza strona internetowa. ASS jest odpowiedzią, gdy napisy są zaprojektowane, a nie tylko wyświetlane. Wszystko inne w tym porównaniu to szczegóły — ale to właśnie w szczegółach pliki są odrzucane, stylizacja bezgłośnie znika, a czasowanie przesuwa się o błąd zaokrąglenia.
Poniżej: co faktycznie zawiera każdy format i w którym konkretnie momencie każdy z nich przestaje wystarczać.
Porównanie w jednej tabeli
| SRT | VTT | ASS | |
|---|---|---|---|
| Pełna nazwa | SubRip | WebVTT | Advanced SubStation Alpha |
| Formalna specyfikacja | Nie, tylko konwencja | Tak, W3C | Nie, dokumentacja społeczności |
| Znacznik czasu | 00:00:01,000 (przecinek) | 00:00:01.000 (kropka) | 0:00:01.00 (setne sekundy) |
| Stylizacja | Podstawowe tagi, niekonsekwentnie wspierane | CSS przez ::cue | Pełna tabela stylów plus nadpisania dla poszczególnych linijek |
| Pozycjonowanie | Nie | Tak, ustawienia linijek | Tak, z dokładnością do piksela |
| Karaoke / czasowanie słów | Nie | Nie | Tak |
| Wbudowane albo dołączone fonty | Nie | Nie | Tak, przy muxowaniu do MKV |
Element track w webie | Nie | Tak, wymagany | Nie |
| YouTube, Vimeo, LinkedIn | Tak | Tak | Stylizacja nierenderowana |
| VLC, mpv, centra multimedialne | Tak | Tak | Tak |
| Typowe użycie | Wszystko | Odtwarzacze internetowe | Stylizowane napisy, anime, karaoke |
SRT: format, który działa wszędzie
Linijka SRT to cztery wiersze — numer, przedział czasu, tekst i pusta linia:
1
00:00:01,000 --> 00:00:04,120
This is the first subtitle.
To jest cały format. Nie istnieje formalna specyfikacja; SRT to konwencja, którą wszyscy zgodnie wdrożyli, i właśnie dlatego działa wszędzie.
Ta konwencja ma miękkie krawędzie. Większość odtwarzaczy honoruje <i>, <b> i <u> w tekście, a wiele honoruje tag font z atrybutem koloru, ale nic z tego nie jest gwarantowane, a odtwarzacz, który nie rozumie jakiegoś tagu, może pokazać go jako zwykły tekst. Kodowanie to druga klasyczna pułapka: SRT powstał, zanim istniała jakakolwiek reguła kodowania, więc plik zapisany jako Windows-1254 albo Latin-1 wyświetla znaki z akcentami i spoza alfabetu łacińskiego jako bezsensowne znaki w odtwarzaczu, który zakłada UTF-8. Zapisz SRT jako UTF-8, i większość problemów typu „moje napisy są uszkodzone” po prostu nie wystąpi.
Użyj SRT, gdy wgrywasz plik na platformę, wysyłasz go do klienta albo po prostu chcesz, żeby otworzył się poprawnie za piętnaście lat. Jeśli taki plik dopiero trzeba przygotować, wpisywanie, czasowanie i generowanie opisuje poradnik jak zrobić plik SRT.
VTT: SRT dla stron internetowych, z polem do rozwoju
WebVTT to format, którego wymaga element track w HTML5. Jeśli napisy odtwarzają się w stronie internetowej, przeglądarka chce VTT i niczego innego.
WEBVTT
intro
00:00:01.000 --> 00:00:04.120 line:90% align:center
This is the first subtitle.
Warto zapamiętać cztery różnice względem SRT:
- Nagłówek. Plik musi zaczynać się od
WEBVTT. Plik bez tego jest odrzucany od razu, i to najczęstszy powód, dla którego przemianowany SRT nie działa w przeglądarce. - Interpunkcja. Milisekundy oddziela kropka, nie przecinek. Zmiana rozszerzenia
.srtna.vttbez poprawienia tego daje plik, który się wczytuje i nie pokazuje niczego. - Ustawienia linijek. Każda linijka może nieść
line,position,align,sizeivertical, by przesunąć tekst z dolnego środka — przydatne, gdy to miejsce zajmuje wypalony tekst albo logo. - Prawdziwa stylizacja i struktura. VTT wspiera bloki
STYLEz selektorem CSS::cue, komentarzeNOTE, definicjeREGIONi opcjonalne nazwy linijek. Jest też zawsze w UTF-8, co całkowicie usuwa pułapkę kodowania.
Użyj VTT, gdy odtwarzaczem jest strona internetowa albo gdy specyfikacja dostawy wymaga WebVTT z nazwy. Niektóre platformy — zwłaszcza hosty kursów online — wymagają go dokładnie pod tą nazwą.
Format napisów ASS: kiedy napisy są elementem projektu
Advanced SubStation Alpha to zupełnie inny rodzaj pliku. SRT i VTT opisują co jest powiedziane i kiedy. ASS opisuje jak to jest narysowane.
Plik ASS ma sekcje. [Script Info] definiuje wirtualne płótno za pomocą PlayResX i PlayResY, dzięki czemu pozycje i rozmiary fontów zostają proporcjonalne niezależnie od rozdzielczości wideo. [V4+ Styles] przechowuje nazwane style z fontem, rozmiarem, kolorem głównym i obrysu, stylem obramowania, grubością obrysu i cienia, wyrównaniem i marginesami. [Events] przechowuje linie dialogowe, z których każda może nadpisać cokolwiek w swoim stylu wprost w tekście: \pos dla precyzyjnego umieszczenia, \an dla zakotwiczenia, \fad dla przenikania, \t dla animowanych przekształceń i \k dla czasowania karaoke, słowo po słowie.
Jak wygląda plik ASS
Ta sama pierwsza linijka napisów co wyżej, jako minimalny plik ASS:
[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,64,&H00FFFFFF,&H000000FF,&H00000000,&H64000000,0,0,0,0,100,100,0,0,1,3,0,2,60,60,50,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.12,Default,,0,0,0,,This is the first subtitle.
Rzucają się w oczy dwie rzeczy. Każda linijka wskazuje nazwany styl, więc zmiana wyglądu całego pliku to jedna poprawka w wierszu Style:, a nie wyszukiwanie i zamiana w tysiącach linijek. Po drugie, znaczniki czasu kończą się na setnych częściach sekundy, dlatego konwersja do ASS i z powrotem może przesunąć linijkę nawet o 10 milisekund.
Jeden szczegół łapie każdego przy pierwszym razie: kolory w ASS zapisuje się jako &HBBGGRR, w odwrotnej kolejności bajtów, z bajtem alfa z przodu, w którym 00 oznacza kolor w pełni kryjący. Kolor, który wygląda jak standardowy hex RGB, nim nie jest — wklej kolor marki bez zmian i dostaniesz jego bliźniaka z zamienionymi kanałami.
ASS a SSA
SSA, czyli SubStation Alpha, to starsza wersja tego samego formatu; ASS to jego rewizja „v4+”, którą deklaruje ScriptType: v4.00+. ASS dodał więcej pól stylu i tagów nadpisujących w tekście, a każde dzisiejsze narzędzie zapisuje pliki w ASS. Jeśli ktoś przyśle ci plik .ssa, otworzy go każdy odtwarzacz lub edytor, który czyta ASS.
Które odtwarzacze i edytory obsługują ASS
Odtwarzacze desktopowe zbudowane na libass renderują ASS w pełni, w tym VLC i mpv, tak samo jak centra multimedialne, które z niego korzystają. MKV to kontener stworzony po to, by go przenosić razem z fontami, których potrzebuje. Przeglądarki internetowe same nie wyświetlają ASS, więc odtwarzacz internetowy potrzebuje zamiast tego kopii VTT. Do edycji Aegisub to darmowe narzędzie zaprojektowane z myślą o typesettingu w ASS, a Subtitle Edit otwiera i zapisuje ten format obok wszystkich pozostałych.
To też format, który umożliwia stylizowaną dostawę wielojęzyczną. MKV może przechowywać jedną ścieżkę ASS na język i dołączony plik fontu, więc stylizacja renderuje się identycznie na komputerze, który nigdy wcześniej nie widział tego fontu.
Użyj ASS, gdy potrzebujesz karaoke albo podświetlania na poziomie słowa, napisów umieszczonych gdzie indziej niż dolny środek, typografii dla poszczególnych języków, albo jednego pliku, który zachowuje kilka stylizowanych ścieżek językowych.
Co przetrwa konwersję
Konwersja między tymi formatami jest bezpieczna tylko w jedną stronę.
| Konwersja | Wynik |
|---|---|
| SRT do VTT | Praktycznie bezstratna — nagłówek i zmiana interpunkcji |
| VTT do SRT | Tekst i czasowanie zostają; pozycjonowanie, regiony i CSS są odrzucane |
| ASS do SRT | Tekst i czasowanie zostają; cała stylizacja, pozycjonowanie i karaoke są utracone |
| ASS do VTT | Tekst i czasowanie zostają; część pozycjonowania da się przybliżyć |
| SRT do ASS | Działa, ale daje prosty domyślny styl — dodajesz kontener, nie design |
Praktyczna zasada: zachowaj najbogatszą wersję, jaką masz, jako plik master, i generuj z niej prostsze wersje. Pójście w drugą stronę niczego nie odtworzy.
Który format więc naprawdę wybrać?
| Dokąd trafia | Format | Dlaczego |
|---|---|---|
| YouTube, Vimeo, LinkedIn | SRT | Uniwersalny, a odtwarzacz i tak przestylizowuje wszystko |
| Strona internetowa z odtwarzaczem HTML5 | VTT | Wymagany przez element track |
| Platformy kursów online | VTT | Zwykle wymagany z nazwy w specyfikacji wgrywania |
| Tłumacz albo klient | SRT | Otwiera się w każdym narzędziu do napisów na świecie |
| Edytor wideo, taki jak DaVinci Resolve | SRT | Importuje się na ścieżkę napisów — zobacz kroki w Resolve |
| Archiwizacja albo lokalne odtwarzanie | ASS w MKV | Zachowuje stylizację i każdą ścieżkę językową w jednym pliku |
| TikTok, Reels, Shorts | Brak — wypal napisy | Te platformy w ogóle nie czytają plików z napisami |
Ten ostatni wiersz to ten, który ludzie odkrywają najpóźniej. Wertykalne platformy społecznościowe nie mają wgrywania napisów w ogóle; napisy są tam pikselami w wideo, co jest zadaniem renderowania, a nie formatu pliku. Wypalanie napisów w wideo opisuje, jak to zrobić bez zepsucia jakości.
Jak to wygląda w Sablate
Sablate zapisuje .srt, .vtt i .txt w każdym planie, a .ass plus .mkv z napisami w osobnej ścieżce w planie Pro. Warto wiedzieć, że stylizacja, którą budujesz w panelu stylu edytora, nie jest przybliżeniem podglądowym: eksport .ass, wypalone .mp4 i ścieżki w .mkv są renderowane przez libass z tej samej definicji stylu, więc wszystkie trzy wyniki dokładnie się ze sobą zgadzają.
Jeśli produkujesz kilka języków z jednego nagrania, decyzja o formacie łączy się z decyzją o sposobie dostawy — proces pracy z wieloma językami opisuje obie razem. Jeśli dopiero wybierasz narzędzie, które tworzy takie pliki, porównanie generatorów napisów offline zestawia opcje desktopowe obok siebie. Pro to jedna płatność $29; cennik ma pełny rozkład tego, co obejmuje.
W skrócie
Wysyłaj SRT, jeśli nic konkretnego nie wymaga inaczej. Wysyłaj VTT, gdy przeglądarka albo platforma kursowa prosi o niego z nazwy. Sięgnij po ASS, gdy napisy są zaprojektowane — karaoke, umiejscowienie, typografia dla poszczególnych języków — i trzymaj ten plik ASS jako swój master, bo nic, na co go skonwertujesz, nie da się skonwertować z powrotem.
Najczęściej zadawane pytania
Jakiego formatu napisów powinienem użyć na YouTube?
Użyj SRT. YouTube przyjmuje go wszędzie, każdy edytor go zapisuje, a YouTube i tak renderuje wszystkie napisy we własnym stylu odtwarzacza, więc bogatszy format nie daje ci nic na tej platformie. Użyj VTT tylko wtedy, gdy ten sam plik trafia też do odtwarzacza internetowego, który wymaga WebVTT.
Jaka jest właściwie różnica między SRT i VTT?
Trzy rzeczy. Znaczniki czasu w VTT używają kropki przed milisekundami, a SRT przecinka. Pliki VTT muszą zaczynać się od linii WEBVTT i są zawsze w UTF-8. VTT dodaje ustawienia linijek dotyczące pozycji i wyrównania, stylizację przez CSS oraz opcjonalne nazwy linijek. Wszystko poza tym wygląda w obu plikach niemal identycznie.
Czy YouTube odczytuje pliki napisów ASS?
YouTube może przyjąć taki plik, ale nie wyrenderuje jego stylizacji. Pozycjonowanie, fonty, kolory, obrysy i czasowanie karaoke są odrzucane, a napisy pojawiają się we własnym, domyślnym stylu odtwarzacza YouTube. Jeśli wygląd jest częścią treści, wypal napisy w obrazie, zamiast wgrywać stylizowany plik z napisami.
Kiedy właściwie potrzebuję formatu ASS?
Kiedy wygląd napisów jest częścią wideo: czasowanie karaoke słowo po słowie, napisy umieszczone poza dolnym środkiem, fonty i kolory dla poszczególnych linijek, albo jeden MKV, który zachowuje stylizowane ścieżki dla kilku języków. Dla zwykłych napisów dialogowych na platformie streamingowej ASS to więcej formatu, niż potrzebuje to zadanie.
Czy mogę skonwertować ASS z powrotem do SRT bez utraty czegokolwiek?
Nie. Tekst i czasowanie konwertują się bezproblemowo, ale każda instrukcja stylizacji jest odrzucana, bo SRT nie ma gdzie jej umieścić. Pozycjonowanie, fonty, kolory, animacje i czasowanie karaoke — wszystko to znika. Konwersja z SRT do VTT jest za to prawie bezstratna — to głównie linia nagłówka i zmiana interpunkcji.
Który format najlepiej wspierają odtwarzacze wideo?
SRT jest wspierany praktycznie przez wszystko. ASS jest wspierany przez odtwarzacze desktopowe i centra multimedialne zbudowane na libass, takie jak VLC i mpv, oraz przez kontenery MKV. VTT to format, którego przeglądarki internetowe wymagają dla ścieżki tekstowej HTML5. Nie istnieje jeden format, który byłby jednocześnie najlepszym wyborem wszędzie.
Jak otworzyć albo edytować plik napisów ASS?
Żeby go obejrzeć, wczytaj plik w VLC albo mpv obok wideo albo odtwórz MKV, który zawiera tę ścieżkę. Do edycji użyj Aegisub, darmowego edytora zbudowanego wokół ASS, albo Subtitle Edit; zadziała też każdy edytor tekstu, bo plik ASS to zwykły tekst. Przeglądarki same nie wyświetlą ASS, więc odtwarzacz internetowy potrzebuje zamiast tego kopii VTT.