araç köşesi

Convertir JSON a JSONL (JSON Lines)

Escriba cada registro de un array JSON en su propia línea, o junte líneas JSONL en un solo array JSON

Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.

Cómo funciona

JSONL (JSON Lines) es un formato de texto con un registro JSON completo por línea; lo piden los conjuntos de datos para ajuste fino de modelos de IA, las cargas masivas de BigQuery y Elasticsearch y los archivos de registro (logs). Si sus datos son un array JSON entre [ ... ], péguelos en el panel izquierdo; con la dirección "array JSON → JSONL", cada registro se escribe en una sola línea. Los tres pares de pregunta y respuesta del ejemplo se vuelven un archivo JSONL de tres líneas que termina con salto de línea, como esperan las herramientas. Los registros no se vuelven a generar: se recortan del texto original y solo se quitan los espacios sobrantes, así que identificadores grandes como 9007199254740993, que JavaScript redondearía, y escrituras como 1.0 quedan igual. En sentido contrario, pegue líneas JSONL y cambie la dirección a "JSONL → array JSON": cada línea se lee por separado y todas se juntan en un array JSON; las líneas vacías se omiten y una línea con error se indica por su número (por ejemplo "La línea 3 no es un JSON válido").

Esta herramienta también se busca como convertir json a jsonl, jsonl a json, convertidor json lines, json to jsonl.

¿Qué es JSONL (JSON Lines)?

JSONL es un formato de texto plano en el que cada línea es por sí sola un valor JSON válido; las líneas se separan con \n y el archivo va en UTF-8. Como el archivo completo no es un único documento JSON, un programa puede procesar un registro antes de leer el siguiente y se pueden agregar registros al final sin reescribir el archivo. Por eso es el estándar para logs, flujos de datos y conjuntos de entrenamiento de IA.

¿Qué es Array JSON?

Un array JSON es una lista de valores entre corchetes separados por comas: [{"id": 1}, {"id": 2}]. Es lo que devuelven la mayoría de las API y lo que se entrega de una sola vez a una hoja de cálculo o a un programa. Solo es válido cuando se leyó el corchete de cierre, así que los arrays muy grandes se cargan completos en memoria; JSONL evita ese límite poniendo cada registro en su propia línea.

¿Qué diferencia hay entre JSON y JSONL?

JSON es un solo valor: todos los registros van dentro de un array y el archivo solo es válido al leer el último corchete. JSONL guarda los registros como valores JSON separados, uno debajo de otro; cada línea se lee sola, agregar al final es trivial y millones de líneas se procesan por partes. JSON conviene para lectura humana y respuestas de API; JSONL para cargas masivas, logs y datos de entrenamiento. Uno se convierte en el otro sin pérdida.

Trampa: un registro no debe ocupar varias líneas

En JSONL el salto de línea separa los registros, así que un registro no puede llevar un salto de línea real: un cambio de línea dentro de un texto se escribe con el escape \n. Guardar un JSON con sangría como JSONL es el error más común: el lector solo ve { en la primera línea y se detiene. En la dirección JSON → JSONL esta herramienta quita espacios y saltos de línea dentro de cada registro sin tocar los textos; en la otra dirección señala el registro partido con su número de línea.

JSON.parse y JSON.stringify de JavaScript redondean los enteros mayores que 2^53 (9007199254740993 se vuelve 9007199254740992) y escriben 1.0 como 1. En identificadores de base de datos eso es una pérdida silenciosa de datos. Como esta herramienta recorta los registros del texto original, los números, el orden de las claves y los escapes Unicode no cambian.

Qué dirección usar y cuándo

Array JSON → JSONL: cuando prepara un archivo de ajuste fino para OpenAI o un modelo similar, carga NEWLINE_DELIMITED_JSON en BigQuery, envía una solicitud _bulk a Elasticsearch o genera un log que se procesará línea por línea. JSONL se puede leer una línea a la vez sin cargar todo el archivo en memoria, por eso lo usan los conjuntos de datos grandes.

JSONL → array JSON: cuando quiere abrir una exportación de API o un log como un solo documento JSON, o pasarlo a una hoja de cálculo o a un convertidor de JSON a CSV. Si la raíz es un objeto (por ejemplo {"datos": [...]}), la herramienta genera un JSONL de una sola línea; pegue entonces el array interior para separar los registros.

Preguntas frecuentes

¿Cómo convertir un archivo JSON a JSONL?

Pegue el array JSON en el panel izquierdo de esta página y deje la dirección en "array JSON → JSONL". Cada registro se vuelve una línea a la derecha. Descargue el resultado con la extensión .jsonl y úselo para entrenar un modelo, en BigQuery o en Elasticsearch.

¿JSONL y NDJSON son lo mismo?

En la práctica, sí. Los dos piden un valor JSON por línea y \n entre líneas; el nombre JSON Lines viene de jsonlines.org y NDJSON (newline-delimited JSON) de una especificación aparte. La extensión puede ser .jsonl o .ndjson; la salida de esta herramienta sirve para ambas.

¿Qué significa "La línea 3 no es un JSON válido"?

En JSONL cada línea debe ser por sí sola un valor JSON completo. Normalmente significa que un registro quedó partido en varias líneas (JSON con sangría), que sobra una coma al final de la línea o que falta cerrar unas comillas. Revise la línea y la columna que indica el mensaje.

¿Mis datos se envían a un servidor?

No. La conversión ocurre por completo en su navegador; los datos de clientes o de entrenamiento no salen de esta página. Una vez cargada, la página también funciona sin conexión.