Ir al contenido
OneKitly

De los subtítulos a la hoja de cálculo, y vuelta: qué sobrevive al viaje

Publicado el 5/8/2026 · 13 min de lectura · Herramientas para desarrolladores

Daniel Okonkwo

Daniel OkonkwoDesarrollador front-end y redactor de Tecnología en OneKitly

Rendimiento web · Formatos de archivo

Verificado con 3 fuentes

Ver perfil
En resumen

Las dos mitades del viaje son conformes y un subtítulo vuelve exactamente como salió. A la ida, cada subtítulo se convierte en una fila de índice, inicio, fin y texto; todo campo que contenga una coma, una comilla recta o un salto de línea va entre comillas dobles y las comillas internas se duplican, que es lo que describe la RFC 4180. Las marcas de tiempo también quedan entrecomilladas de forma automática, porque SubRip escribe las milésimas tras una coma: 00:00:01,000 contiene un separador. A la vuelta, el conversor de CSV a SRT lee el archivo como registros CSV y no como líneas de texto, así que un salto de línea solo termina un registro cuando cae fuera de las comillas: un subtítulo de dos líneas y uno de tres vuelven completos. Probado sobre la salida del propio exportador, un archivo que mezcla subtítulos de una, dos y tres líneas, con comas y comillas, se reconstruye byte a byte igual y lo sigue siendo tras tres viajes consecutivos. La importación acepta además archivos separados por punto y coma, reconstruye en el orden de la columna de índice cuando cada fila lleva un número distinto, y avisa si un subtítulo acaba antes de empezar o si una fila no se pudo leer. Lo que aún exige cuidado no son los dos conversores sino la hoja de cálculo del medio, que puede reinterpretar una columna de tiempos en cuanto abres el archivo.

Una coma se entrecomilla, una comilla se duplica y un subtítulo de dos líneas conserva las dos —verificado byte a byte en tres viajes consecutivos—. Lo que todavía puede alterar tu archivo es la hoja de cálculo del medio.

Por qué una hoja de cálculo es la forma correcta para revisar

Un archivo de subtítulos es un mal objeto para entregar a alguien que no es subtitulador. Entremezcla contenido y maquinaria, así que un revisor tiene que saltarse números y marcas de tiempo para leer una frase, y cualquier cambio accidental en una marca queda invisible hasta la reproducción. Una fila por subtítulo arregla los dos problemas a la vez. El texto ocupa una sola columna, legible de arriba abajo; los tiempos ocupan sus propias columnas, visibles pero difíciles de tocar; y se puede añadir una segunda columna para una traducción, un comentario o una marca de aprobación sin molestar nada.

Las columnas que escribe este conversor son índice, inicio, fin y texto, en ese orden, con una fila de encabezado con exactamente esos cuatro nombres. El índice se regenera a partir de la posición de cada subtítulo en el archivo en lugar de copiarse de la numeración de origen, así que un archivo con contadores duplicados o desordenados sale limpiamente numerado desde uno. Conserva esa columna. A la vuelta se lee en vez de ignorarse: cuando cada fila lleva un número distinto, la importación reconstruye en el orden del índice, de modo que una hoja que ordenaste por texto mientras trabajabas produce igualmente un archivo de subtítulos en el orden correcto.

Comas, comillas y el RFC que los cubre

El diálogo está lleno de comas, y la coma es el separador de campos: es lo primero que hay que comprobar en cualquier herramienta de subtítulos a CSV. El RFC 4180, la nota de 2005 que dejó por escrito el aspecto habitual de los archivos CSV, da la regla: los campos que contengan saltos de línea, comillas rectas o comas deberían encerrarse entre comillas, y una comilla dentro de un campo así se escapa anteponiéndole otra comilla. Este conversor cumple las dos mitades. «Bueno, no, no exactamente.» se escribe como un solo campo entrecomillado, y Dijo "el puerto", no los muelles. se escribe "Dijo ""el puerto"", no los muelles.", entrecomillado porque contiene a la vez una comilla y una coma, con cada comilla interna duplicada.

Las marcas de tiempo reciben el mismo trato sin que nadie lo decida, y la razón es un feliz accidente del formato. SubRip escribe sus milisegundos tras una coma, de modo que 00:00:01,000 contiene un separador de campos y queda entrecomillada en cada fila de cada archivo que produce esta herramienta. Merece la pena notarlo, porque es el único punto en que la extraña elección de separador de SubRip te hace un favor: una marca WebVTT, que usa un punto, saldría sin comillas y quedaría a merced de lo que el programa lector decida que es un 00:00:01.000 sin proteger.

Dos desviaciones honestas, ninguna dañina pero ambas reales. El RFC 4180 dice que los registros se delimitan con retorno de carro y salto de línea; este conversor escribe un salto de línea solo, que toda hoja de cálculo acepta y que solo importa si algo aguas abajo es muy literal. Y el RFC es de estatus Informational, no una norma: describe lo que hacen las implementaciones en vez de imponerlo, y su propia redacción dice «deberían» y no «deben». Tratarlo como la definición del CSV es una convención útil, no una garantía sobre el próximo programa que lea tu archivo.

Cuatro cosas que conviene saber sobre la hoja de cálculo intermedia

El delimitador. Las hojas de cálculo de las lenguas que usan la coma como separador decimal —es decir, francés, alemán, español, italiano y portugués— suelen guardar el archivo con punto y coma entre campos en lugar de comas, siguiendo el separador de listas del sistema. La importación mira el primer registro y cuenta los separadores que quedan fuera de las comillas, así que un archivo así se lee en vez de rechazarse; un punto y coma dentro de un subtítulo no se cuenta, porque está dentro de un campo entrecomillado. Elegir explícitamente la variante separada por comas, cuando tu hoja la ofrece, sigue dando un archivo más limpio, pero un guardado normal en una de esas cinco lenguas ya no te cuesta la importación.

Los tipos. El CSV no lleva ninguna información de tipo: el RFC 4180 no dice nada sobre tipos de datos, porque no hay nada que decir, todo campo es texto. Las comillas protegen el análisis, no el significado. Una hoja de cálculo lee el campo protegido, lo desenvuelve y luego decide por su cuenta qué contiene, y ahí es donde la marca de tiempo corre peligro: 00:00:01,000 es una cadena que un programa tiene derecho a leer como hora, como número con separador de miles o como texto, según su configuración regional y sus conjeturas. Nada en el archivo se lo indica. La costumbre fiable es importar en vez de abrir —usar la vía de importación de texto de la hoja y poner las dos columnas de tiempo en Texto antes de que lleguen los datos— y comprobar una marca antes de empezar a editar.

Las fórmulas. Un subtítulo cuyo texto empieza por un signo igual, un más o una arroba —y por un menos seguido de una cifra u otro operador, como -1-1— se escribe como campo entrecomillado precedido de un apóstrofo, el escape que la hoja de cálculo ya entiende: la celda muestra el texto y no evalúa nada. La importación quita ese apóstrofo, de modo que =SUM(A1:A9) hace el viaje tal cual. El guion de diálogo se deja aparte a propósito, porque una línea que empieza por «- Sí.» es una réplica en uno de cada dos archivos de subtítulos y no es una fórmula en ninguna hoja. De lo que esto no te protege es de una fórmula que escribas tú mismo al editar.

El orden. Ordenar es el gesto más natural en una hoja de cálculo, así que la importación lee la columna de índice en lugar de ignorarla: cuando cada fila lleva su propio número distinto, la salida se reconstruye en el orden del índice y un aviso te indica que las filas se han vuelto a poner en secuencia. Ordena por texto para agrupar réplicas parecidas en una revisión terminológica y el SRT reconstruido sale igualmente en orden cronológico. Si los números están duplicados, o faltan en algunas filas, la columna no es fiable: entonces se conserva el orden de las filas y la herramienta lo dice. Los tiempos invertidos se señalan igual: una fila que va de 00:00:09,000 a 00:00:04,000 se sigue escribiendo tal cual, pero ahora se cuenta y se nombra en vez de pasar en silencio.

El contenido de un subtítulo en el viaje: exportado a CSV, editado en una hoja, reconstruido como SRT
Qué contiene el subtítuloCómo se escribe el CSVQué vuelveVeredicto
Una comaCampo entre comillas doblesIdénticoSobrevive
Una comilla rectaCampo entrecomillado, cada comilla interna duplicadaIdéntico, incluso tras varios viajesSobrevive
Un salto de línea (subtítulo de dos líneas)Campo entrecomillado con salto real dentro: correctoLas dos líneas, en el mismo subtítuloSobrevive: idéntico byte a byte, tres viajes
Una marca de tiempo, 00:00:01,000Siempre entrecomillada: contiene una comaIdéntica, si la hoja no la reinterpretóSobrevive al archivo; el riesgo es la hoja
Un texto que empieza por = + - o @Entrecomillado, con un apóstrofo delante: el escape de la hojaLa celda muestra el texto; la importación quita el apóstrofoSobrevive: el guion de diálogo no se toca
Filas reordenadas en la hojaNada marca el orden original salvo la columna de índiceLa columna de índice se lee; la salida se reconstruye en su ordenSobrevive: conserva la columna de índice y lee el aviso
Conversor de SRT a CSVConvierte un archivo de subtítulos SRT en un CSV listo para hoja de cálculo, con columnas de índice, inicio, fin y texto. Los campos con comas o saltos de línea van entre comillas según la norma CSV, para abrirse limpio en Excel, Sheets o Numbers. Copia o descarga el archivo.Probar la herramienta

Preguntas frecuentes

¿Una coma dentro de un subtítulo rompe el CSV?
No. Todo campo que contenga una coma, una comilla recta o un salto de línea se encierra entre comillas, y una comilla dentro de un campo así se escapa duplicándola, que es lo que describe el RFC 4180. Probado con casos reales: «Bueno, no, no exactamente.» se convierte en un solo campo entrecomillado, y Dijo "el puerto", no los muelles. se convierte en "Dijo ""el puerto"", no los muelles.", entrecomillado porque contiene a la vez coma y comilla, con cada comilla interna duplicada. Los dos vuelven idénticos byte a byte por el conversor de CSV a SRT, y sobreviven a tres viajes consecutivos sin acumular comillas, que es el fallo habitual de un escapado ingenuo. Las marcas de tiempo quedan protegidas por la misma regla sin que nadie lo eligiera, porque SubRip escribe los milisegundos tras una coma y 00:00:01,000 contiene por tanto un separador.
¿Sobreviven al viaje los subtítulos de dos o tres líneas?
Sí, y la razón conviene conocerla, porque es donde suele fallar esta clase de herramienta. Un subtítulo con salto de línea se escribe como campo entrecomillado con un salto real dentro, a caballo entre dos líneas físicas del archivo CSV: la forma correcta según la RFC 4180 y la que una hoja de cálculo abre como una sola celda. El conversor de CSV a SRT lee el archivo como registros CSV y no como líneas de texto, así que un salto solo termina un registro cuando cae fuera de las comillas; un registro repartido en tres líneas físicas sigue siendo un registro. Verificado sobre la salida del propio exportador: un archivo que mezcla subtítulos de una, dos y tres líneas, uno con una coma y otro con una comilla, se reconstruye byte a byte igual y lo sigue siendo tras tres viajes consecutivos. Si editas el texto en una hoja de cálculo, usa su salto de línea dentro de la celda —Alt+Intro en Excel para Windows— en vez de teclear una barra invertida y una ene, que son solo dos caracteres de texto.
Mi hoja de cálculo guarda el archivo con punto y coma. ¿Se importará?
Sí. Las hojas de cálculo siguen el separador de listas del sistema, y en las lenguas que usan la coma como marca decimal —francés, alemán, español, italiano, portugués— ese separador es el punto y coma, así que un guardado normal produce un archivo delimitado por punto y coma. La importación mira el primer registro de lo que pegas, cuenta las comas y los puntos y coma que caen fuera de los campos entrecomillados y se queda con el más frecuente; un punto y coma dentro de una réplica no se cuenta, porque está entre comillas. Es decir, un archivo guardado desde una hoja en francés, alemán, español, italiano o portugués se importa tal cual. Elegir explícitamente la variante separada por comas —que suele ofrecerse con un nombre como CSV UTF-8 o «delimitado por comas»— sigue siendo la costumbre más limpia si vas a pasar el archivo a otra cosa, pero ya no es condición para que funcione aquí.
¿Excel destruirá mis marcas de tiempo leyendo 00:00:01,000 como hora o como número?
Puede, y las comillas no lo impiden, porque entrecomillar y tipar son dos problemas distintos. El RFC 4180 no dice absolutamente nada sobre tipos de datos: un campo CSV es texto, y el formato no tiene manera de decir otra cosa. Las comillas indican al lector dónde empieza y acaba el campo; una vez desenvuelto, lo que el lector decida que significa el contenido depende solo de él, y la conjetura de una hoja depende de su configuración regional tanto como de la cadena. No confíes en la suerte: usa la vía de importación de texto de la hoja en vez de hacer doble clic en el archivo, y pon las columnas de inicio y fin en Texto antes de que lleguen los datos. Comprueba después una marca en la hoja, antes de editar nada, y confirma que sigue diciendo 00:00:01,000 y no un valor alineado a la derecha con otra forma. Si se ha convertido, cierra sin guardar y vuelve a importar: reparar una columna de tiempos estropeados cuesta mucho más que importarla bien a la primera.
¿Puedo añadir, borrar o reordenar filas en la hoja de cálculo?
Añade y borra a placer; reordena también a placer, siempre que conserves la columna de índice. La importación lee esa columna: cuando cada fila lleva su propio entero distinto, la salida se reconstruye en el orden del índice y un aviso te señala que las filas se han vuelto a poner en secuencia, de modo que una hoja ordenada alfabéticamente por texto para agrupar réplicas parecidas produce igualmente un archivo de subtítulos en orden cronológico. Si algunas filas han perdido su número, o dos filas comparten el mismo, la columna no es fiable: la herramienta conserva entonces el orden en que aparecen las filas y lo dice en vez de adivinar. Borrar una fila no tiene riesgo: la salida se renumera desde uno, sean cuales sean los índices que queden. La importación también señala ahora un subtítulo cuyo fin precede al inicio: una fila que va de 00:00:09,000 a 00:00:04,000 se sigue escribiendo tal cual, pero se cuenta y se nombra en lugar de pasar en silencio. Los tiempos pueden introducirse en segundos en vez de en códigos de tiempo, lo que resulta cómodo al añadir un subtítulo a mano: 5.5 y 8.2 se leen como 00:00:05,500 y 00:00:08,200.

Artículos que podrían interesarte

Todas las guías
TutorialSubtítulos desincronizados: medir el desfase y desplazar un SRT un número exacto de segundosMide el desfase en dos puntos en vez de adivinarlo una vez. Si es constante, un solo desplazamiento arregla el archivo. Si crece, es un problema de fotogramas por segundo —25 fps contra 23,976 deriva 2,5625 segundos por minuto— y ningún desplazamiento lo arreglará.TutorialFusionar dos pistas de subtítulos en una versión bilingüe: qué les pasa de verdad a los subtítulosEl subtítulo 12 de la pista inglesa no es el subtítulo 12 de la francesa, porque los traductores parten y juntan las frases de otra forma. Existen dos estrategias para emparejarlos; este combinador no usa ninguna: intercala. Esto es lo que sale y cuándo basta.TutorialDe SRT a texto: obtener una transcripción limpia a partir de subtítulosQuitar los números y las marcas de tiempo es la mitad fácil. La que decide si la transcripción se lee son las etiquetas de cursiva, los guiones de diálogo, las descripciones sonoras y las frases partidas en dos subtítulos, y este conversor te las deja todas.ExplicaciónNormalización de pico frente a normalización de sonoridad, y el objetivo inalcanzableAmplificar hasta que la muestra más fuerte toque un techo apenas cambia lo fuerte que suena algo. Medir en LUFS, sí. Esta herramienta mide — en dos pasadas, correctamente — y luego muestra un resultado que nunca verificó, y que con material corriente puede desviarse bastante más de un decibelio.TutorialQuitar el sonido de un vídeo sin tocar la imagenUna sola orden de ffmpeg, ningún codificador, y un resultado cuyo flujo de vídeo es byte a byte el de partida — verificado por suma de comprobación. Además, por qué el archivo apenas encoge y la diferencia entre una pista silenciosa y ninguna pista.GuíaSacar fotogramas fijos de un vídeo — y por qué se ven más blandos que el vídeoTres órdenes se esconden tras tres botones: un fotograma en un instante dado, un número fijo repartido por el clip, o uno cada N segundos. Aquí están los argumentos exactos, el techo de 60 fotogramas y la razón de que un fotograma sacado del medio de un clip comprimido nunca sea tan nítido como un fotograma clave.

Herramientas relacionadas

SubRip no tiene especificación. La Biblioteca del Congreso lo describe como parcialmente documentado y mal normalizado, así que lo que cuenta como archivo .srt válido lo decide el reproductor, el codificador o la plataforma que lo lee, y dos de ellos acabarán discrepando. Todo lo que se describe aquí se comprobó contra la salida real de la herramienta, no contra una norma, porque este formato no tiene ninguna. WebVTT es distinto —tiene una especificación publicada por el W3C— pero sigue siendo un Candidate Recommendation Draft y no una recomendación terminada. Guarda el archivo original, prueba el convertido en el reproductor o el gestor de subida que de verdad vayas a usar antes de tirar nada, y trata cualquier afirmación sobre lo que hacen «todos los reproductores», incluidas las de esta página, como algo que verificar en el tuyo.

Fuentes

¿Has detectado un error en este artículo?