Convertir CSV a VTT
O pega el texto de los subtítulos
Qué cambia esta conversión
No se pierde nada en esta dirección: cada característica del formato de origen tiene un lugar al que ir en el formato de destino.
Esta lista proviene de la matriz de capacidades de estos dos formatos, no del archivo concreto que has cargado. Un archivo específico puede perder más si usa características que el formato permite pero que la matriz no modela.
Esta página convierte CSV en VTT. Arrastra un archivo —o pega el texto— y obtienes la versión VTT. La conversión se ejecuta sin salir del navegador: no se sube nada y no hace falta registrarse.
En esta dirección no se pierde nada. Todo lo que CSV puede expresar tiene un equivalente en VTT —una fila de la tabla se vuelve un bloque web—, así que la salida son los mismos subtítulos con otra envoltura. Eso vale para cualquier archivo CSV, incluso uno que use todas las funciones que permite el formato.
Un solo archivo está bien, y una temporada completa también: la cola los procesa en orden y los resultados se descargan juntos en un único ZIP.
Ejemplos
Un archivo CSV típico, convertido a VTT
Entrada
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
Resultado
WEBVTT
00:00:01.000 --> 00:00:03.500
The quick brown fox.
00:00:04.000 --> 00:00:06.250
Jumps over, the lazy dog.
00:00:07.000 --> 00:00:09.000
Two lines here.
And a second one.
Aquí no se pierde nada: compara los dos lados línea por línea.
La misma conversión con una entrada difícil
Entrada
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
Resultado
WEBVTT
1
00:00:01.000 --> 00:00:04.000
Hello there, friend.
2
00:00:05.000 --> 00:00:07.000
Second line.
4
00:00:10.000 --> 00:00:10.001
End before start.
5
00:00:12.000 --> 00:00:14.000
Unquoted comma in text, right here.
Estos son los daños que traen los archivos reales: finales de línea mezclados, espacios sueltos, campos vacíos. Compáralo con el ejemplo limpio de arriba para ver qué perdona el analizador.
Preguntas frecuentes
¿Qué aspecto tiene la salida cuando CSV se convierte en VTT?
Como VTT: una línea de identificador opcional encima de cada bloque, que ningún reproductor muestra. Cada bloque CSV se convierte en un bloque VTT, en el mismo orden y con el mismo texto.
¿Son exactos los tiempos CSV en el archivo VTT?
Sí, al milisegundo, que es lo más fino que llega cualquiera de los dos formatos. Tanto CSV como VTT escriben un instante igual, `00:00:04.126`, así que los códigos de tiempo salen carácter por carácter como entraron.
¿Cómo sale en VTT un bloque CSV de dos líneas?
Como dos líneas, una debajo de la otra. La pareja se mantiene: las dos líneas CSV siguen perteneciendo a un mismo subtítulo en la salida VTT, y el reproductor las muestra juntas.
¿Mantienen las filas CSV su orden en la salida VTT?
Sí, y de paso se ordenan por hora de inicio: primero los más tempranos, que es lo que esperan todos los formatos de este sitio y cómo los leen los reproductores. Si tu archivo CSV traía los bloques desordenados, la salida VTT los devuelve a su orden; eso cambia la estructura del archivo, no su contenido, y es deliberado.
¿Puedo convertir el VTT de vuelta a CSV?
Sí, y esa es la dirección con pérdidas: el estilo y el contenido propio del formato no tienen dónde ir en CSV. En este sentido no se pierde nada, así que ese costo solo aparece si vuelves.
¿Respeta la salida VTT la codificación del archivo CSV?
No: la salida es UTF-8, con finales de línea Unix y sin marca de orden de bytes, sea cual sea la que usara el archivo CSV. Un archivo que llega en UTF-16 o en una codificación Windows de un solo byte se decodifica a la entrada (el panel de resultados lo indica cuando ocurre); lo que sale es siempre el mismo VTT en UTF-8.