Abre o pega un archivo CSV y el JSON aparece junto a las opciones a medida que las cambias. De forma predeterminada, cada fila se convierte en un objeto con los nombres de las columnas como claves; elige un array de arrays, un objeto con un array por columna o JSON Lines cuando el código que lo recibe espere esa estructura. Todos los valores se quedan como cadenas por defecto, así que 00731 y los identificadores de 20 cifras salen exactamente como estaban; activa la detección de números solo cuando una columna deba convertirse en números JSON y en true/false. Para archivos de configuración, CSV a YAML escribe las mismas filas en YAML. El archivo se convierte en tu navegador y nunca se sube.
Cómo convertir un CSV a JSON
- Abre un archivo
.csv,.tsvo.txt, arrástralo sobre la herramienta o pega las filas. Se detectan el delimitador y la marca de orden de bytes UTF-8 o UTF-16; en Configuración de importación puedes elegir otro delimitador o una codificación heredada como Windows-1252 o Shift_JIS. - Elige la Estructura del JSON. La vista previa muestra las primeras 200 filas de la salida exacta que contendrá la descarga.
- Ajusta Tipos de valor, Celdas vacías, el anidamiento y la sangría, y después elige Descargar JSON o Copiar.
Para convertir muchos archivos con los mismos ajustes, elige Por lotes: convertir varios archivos y selecciónalos todos juntos: cada archivo se convierte por turno y los resultados se descargan en un solo ZIP.
Opciones de salida JSON: objetos, arrays o JSON Lines
| Array de objetos | Un objeto por fila, con los encabezados como claves: [{"sku": "00731", …}]. Es la estructura que esperan la mayoría de las API y del código JavaScript. |
|---|---|
| Array de arrays | Primero la fila de encabezados y después cada fila como una lista. Es la salida más pequeña, y el orden de las columnas se conserva de forma explícita. |
| Objeto con un array por columna | {"sku": ["00731", "00732"], …}: práctico para bibliotecas de gráficos y herramientas de data frames. |
| JSON Lines | Un objeto JSON por línea (JSON Lines), sin un array que los envuelva. Va bien para canalizaciones de registros, cargas en BigQuery y procesamiento línea a línea. |
| Mantener todos los valores como texto | Cada celda se convierte en una cadena JSON, exactamente como está escrita en el archivo. Es la opción predeterminada. |
| Detectar números y true/false | Una columna solo se convierte en números JSON si todos sus valores no vacíos son números simples que sobreviven a la conversión: sin ceros a la izquierda, con 15 cifras significativas como máximo y sin coma decimal. Las columnas true/false pasan a ser booleanas. Las fechas siguen siendo cadenas. |
| Celdas vacías | Escribe "" o null, u omite la clave en ese objeto. |
| Anidar nombres de columna con punto | user.name y user.email se convierten en {"user": {"name": …, "email": …}}. Si un nombre es a la vez un valor y un elemento padre (user y user.name), esas columnas se quedan sin anidar y la herramienta te lo indica. |
Encabezados, valores entre comillas e identificadores en el JSON
- Las comas, comillas (
"") y saltos de línea dentro de un valor entre comillas se leen según la RFC 4180 y se escriben con los escapes normales de las cadenas JSON (\n,\"). - Los nombres de los encabezados se usan exactamente como están escritos, con espacios y escrituras no latinas incluidos. Un encabezado vacío pasa a ser
Column 3y uno repetido,name (2), de modo que ningún valor se sobrescribe. - Los encabezados como
__proto__oconstructorse escriben como claves normales. - Una fila con más valores que encabezados recibe claves adicionales llamadas
Column 4,Column 5…; una fila más corta recibe valores vacíos. No se descarta nada. - La salida con tipos nunca convierte
0012en12ni un número de pedido de 19 cifras en un decimal redondeado: una columna así se queda como texto.
Problemas habituales al convertir CSV a JSON
- Todo está en una sola clave. El delimitador no se detectó bien; elige Coma, Punto y coma, Tabulación o Barra vertical en Configuración de importación y vuelve a abrir el archivo.
- Las letras con tilde se ven como é. El archivo no está en UTF-8. Elige su codificación (con frecuencia Windows-1252 en las exportaciones de versiones antiguas de Excel) en Configuración de importación.
- Una columna numérica se quedó como texto. Al menos un valor no es un número simple, por ejemplo
1,5,12 kgo un valor con un cero a la izquierda. Busca en la columna con el visor de CSV para encontrarlo. - El error de comillas indica un registro. En ese registro se abren comillas que nunca se cierran. Corrígelo en el editor de CSV o revisa la exportación del sistema de origen.
Límites y privacidad
Los archivos de hasta 25 MB, 100 000 filas o 2 millones de celdas se abren con vista previa en directo. Los archivos más grandes se convierten por secuencias: el archivo se lee dos veces por bloques (una para conocer las columnas y los tipos, otra para escribir), la vista previa se sustituye por un aviso y la descarga incluye todas las filas. Cada archivo de salida está limitado a 4 GB.
La conversión se ejecuta en un proceso en segundo plano de esta pestaña, así que la página sigue respondiendo y Cancelar la detiene. El CSV nunca se envía a un servidor.
Ejemplo: una lista de productos como objetos JSON
Una lista de productos con un SKU con ceros a la izquierda y una coma entre comillas, convertida con los ajustes predeterminados (todo como texto, array de objetos, sangría de 2 espacios). Con Detectar números y true/false, price pasa a ser 34.9 e in_stock pasa a ser true, mientras que sku se queda como "00731".
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Preguntas frecuentes
¿Por qué los números aparecen entre comillas de forma predeterminada?
Porque el CSV no tiene tipos: 00731, 1.50 y 2024-03-01 son simplemente texto. Mantenerlos como cadenas garantiza que el JSON diga exactamente lo mismo que el archivo. Elige la detección de números cuando sepas que una columna contiene cantidades.
¿Puedo convertir aquí un JSON de vuelta a CSV?
Todavía no. Esta página solo convierte CSV y TSV a JSON.
¿JSON Lines es lo mismo que NDJSON?
En la práctica, sí: en ambos casos se trata de un valor JSON completo por línea, separado por caracteres de salto de línea.