Saltar al contenido principal
SubtitleMatrix

Convertir JSON a TXT

O pega el texto de los subtítulos

Qué cambia esta conversión

5 cosas se descartan o requieren una decisión

  • Tiempos

    toda la línea de tiempo (el formato de salida no registra ningún tiempo)

  • Estilo

    todo el estilo (negrita, cursiva, color, contorno, sombra)

  • Posición

    la posición en pantalla (cada bloque vuelve a la posición predeterminada)

  • Karaoke

    la sincronización karaoke (resaltado por sílaba)

  • Saltos de línea

    los saltos de línea (los bloques de varias líneas se unirán en una sola)

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 JSON en TXT. Arrastra un archivo —o pega el texto— y obtienes la versión TXT. La conversión se ejecuta sin salir del navegador: no se sube nada y no hace falta registrarse.

Los dos formatos no guardan lo mismo, y la diferencia no es cosmética: los tiempos, el estilo, la posición, el karaoke y los saltos de línea no tienen dónde ir en TXT. La lista de arriba se deriva de lo que cada formato puede expresar, no de tu archivo, así que no depende de lo que cargues.

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 JSON típico, convertido a TXT

Entrada

{
  "version": 1,
  "title": "Fixture: typical",
  "fps": 25,
  "styles": {
    "Default": {
      "name": "Default",
      "fontFamily": "Arial",
      "fontSize": 20,
      "primaryColor": "#FFFFFF",
      "bold": false,
      "italic": false
    }
  },
  "generator": "subtitlematrix fixtures",
  "cues": [
    {
      "id": "1",
      "start": 0,
      "end": 2000,
      "lines": [
        "Hello world.",
        "Second line."
      ],
      "style": "Default",
      "position": {
        "x": 100,
        "y": 200,
        "align": "center"
      }
    },
    {
      "id": "2",
      "start": 2500,
      "end": 4000,
      "lines": [
        "Plain line.",
        {
          "text": "Styled line.",
          "tags": [
            {
              "kind": "italic",
              "start": 0,
              "end": 6
            }
          ]
        }
      ]
    },
    {
      "id": "3",
      "start": 4500,
      "end": 6000,
      "lines": [
        "Roger: I am here."
      ],
      "speaker": "Roger"
    }
  ]
}

Resultado

Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.

Se pierden los tiempos, el estilo, la posición, el karaoke y los saltos de línea. El resto coincide línea por línea.

La misma conversión con una entrada difícil

Entrada

[
    { "start": 0, "end": 1000, "lines": ["First."] },
    { "start": 1000, "end": 2000, "text": "Second." },
    "not an object",
    { "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]

Resultado

First.
Second.
Third.

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

¿A dónde fueron los códigos de tiempo JSON al convertir a TXT?

TXT no tiene ninguno que dar: una exportación de texto son palabras, no instantes. Se mantiene el orden de las líneas JSON, así que la línea cuarenta de tu archivo es la línea cuarenta aquí, pero nada en la salida dice cuándo aparece en pantalla.

¿Qué pasa con la negrita, la cursiva y el color de JSON a TXT?

TXT no guarda estilo de ningún tipo, así que se va todo: las `tags` que lleva la línea de un bloque, o una entrada del objeto `styles` del documento, no tienen dónde caer, y cada línea se escribe como texto plano. Las palabras no se tocan.

¿Qué ocurre con la posición en pantalla al pasar de JSON a TXT?

TXT no puede decir dónde se dibuja un subtítulo, así que la posición guardada con cada bloque se descarta al salir de JSON, y cada bloque vuelve a la posición predeterminada que elige el reproductor: el borde inferior del fotograma, centrado, casi siempre.

¿Qué sucede con el karaoke al convertir JSON a TXT?

El tiempo se va; las palabras quedan. El karaoke vive en los tramos de karaoke que lleva un bloque JSON, que marcan cuándo se ilumina cada sílaba, y TXT no tiene forma de registrar un instante dentro de una línea, así que las marcas desaparecen y las sílabas llegan como texto normal de TXT.

¿Qué ocurre con un bloque JSON de dos líneas en TXT?

Se escriben las dos líneas, una debajo de la otra, pero el archivo deja de decir que van juntas: TXT no puede agrupar líneas en un solo bloque, así que leer el resultado daría dos subtítulos donde tu archivo JSON tenía uno. Eso importa si después va a leer el archivo una pasada de traducción o una herramienta de resincronización.

¿Qué aspecto tiene la salida cuando JSON se convierte en TXT?

Como TXT: sin números de bloque y sin códigos de tiempo; una línea de texto por línea de subtítulo. Cada bloque JSON se convierte en un bloque TXT, en el mismo orden y con el mismo texto.

¿Conservan los bloques JSON su orden en la salida TXT?

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

¿Puedo convertir el TXT de vuelta a JSON?

Sí, y esa dirección tiene su propia lista: convertir TXT en JSON pierde los tiempos. La lista es distinta de la de arriba porque los dos formatos guardan cosas distintas.

¿Mantiene la salida TXT la codificación del archivo JSON?

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 JSON. 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 TXT en UTF-8.

Herramientas relacionadas