Saltar al contenido principal
SubtitleMatrix

Convertir CSV a JSON

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 JSON. Arrastra un archivo —o pega el texto— y obtienes la versión JSON. La conversión se ejecuta entera dentro del navegador: no se sube nada y no se pide cuenta.

En esta dirección no se pierde nada. Todo lo que CSV puede expresar tiene un equivalente en JSON —una fila de la tabla se vuelve un objeto de bloque—, 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 archivo vale, y una temporada completa también: la cola los recorre en orden y los resultados llegan juntos como un único ZIP.

Ejemplos

Un archivo CSV típico, convertido a JSON

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

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 3500,
      "lines": [
        "The quick brown fox."
      ]
    },
    {
      "start": 4000,
      "end": 6250,
      "lines": [
        "Jumps over, the lazy dog."
      ]
    },
    {
      "start": 7000,
      "end": 9000,
      "lines": [
        "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

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 4000,
      "lines": [
        "Hello there, friend."
      ]
    },
    {
      "id": "2",
      "start": 5000,
      "end": 7000,
      "lines": [
        "Second line."
      ]
    },
    {
      "id": "4",
      "start": 10000,
      "end": 10001,
      "lines": [
        "End before start."
      ]
    },
    {
      "id": "5",
      "start": 12000,
      "end": 14000,
      "lines": [
        "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 JSON?

Como JSON: un arreglo de objetos de bloque, cada uno con su propio `id`, `start` y `end`. Cada bloque CSV se convierte en un bloque JSON, en el mismo orden y con el mismo texto.

¿Son exactos los tiempos CSV en el archivo JSON?

Sí, al milisegundo, que es lo más fino que llega cualquiera de los dos formatos. CSV escribe un instante como `00:00:04.126` y JSON escribe el mismo instante como `4126`; nada se redondea ni se desplaza, y un bloque que estaba en pantalla 2,9 segundos sigue estándolo.

¿Cómo sale en JSON un bloque CSV de dos líneas?

Como dos entradas en el arreglo `lines` del bloque. La pareja se mantiene: las dos líneas CSV siguen perteneciendo a un mismo subtítulo en la salida JSON, y el reproductor las muestra juntas.

¿Mantienen las filas CSV su orden en la salida JSON?

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 JSON los devuelve a su orden; eso cambia la estructura del archivo, no su contenido, y es deliberado.

¿Puedo convertir el JSON de vuelta a CSV?

Sí, y esa es la dirección con pérdidas: el estilo, la posición y el karaoke no tienen dónde ir en CSV. En este sentido no se pierde nada, así que ese costo solo aparece si vuelves.

¿Mantiene la salida JSON 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 JSON en UTF-8.

Herramientas relacionadas