Un convertidor de JSON a CSV transforma la notación de objetos de JavaScript (JSON), estructurada y jerárquica, en una hoja de cálculo plana bidimensional de valores separados por comas (CSV). JSON es el formato universal para APIs REST y bases de datos NoSQL, mientras que CSV es el estándar en Excel, Google Sheets e importaciones relacionales. Nuestra herramienta gratuita procesa todo directamente en tu navegador: sin subir archivos, sin registro y sin límite de tamaño.
Cómo convertir JSON a CSV
Convertir JSON a formato CSV requiere tres sencillos pasos:
- Carga tus datos JSON: Pega el texto JSON, sube un archivo .json o .jsonl, o impórtalo desde una URL pública. La herramienta procesa matrices de objetos, matrices 2D y estructuras anidadas.
- Configura las columnas y previsualiza: Cada campo detectado se muestra en la tabla de vista previa con su tipo inferido y porcentaje de presencia. Renombra, reordena o excluye columnas y selecciona el delimitador (coma, punto y coma, tabulador, barra).
- Descarga CSV limpio o Excel: Exporta el resultado como CSV estándar, CSV compatible con Excel con marca BOM UTF-8 o un libro genuino Microsoft Excel .xlsx.
Convertir JSON anidado a CSV
JSON es jerárquico (árboles dentro de árboles), mientras que CSV es plano (filas y columnas). Al procesar registros anidados, cada propiedad hoja se convierte en una columna con su ruta completa, como customer.address.city. Puedes personalizar el separador de ruta (punto, guion bajo, barra), definir la profundidad máxima o conservar objetos como texto JSON plano.
Matrices y objetos JSON
Las matrices dentro de registros JSON no caben en una celda escalar sin una regla de transformación. Nuestro convertidor ofrece cuatro estrategias:
- Una columna por índice: Crea columnas indexadas independientes (items.0, items.1), ideal para listas de tamaño fijo.
- Una fila por elemento (Unwind): Duplica los campos del padre en varias filas para cada elemento de la matriz, formato estándar en bases de datos relacionales SQL.
- Celda combinada: Agrupa los elementos en una única celda entrecomillada con delimitador personalizado como punto y coma o barra (ej. "tag1; tag2").
- Cadena JSON literal: Conserva ["tag1", "tag2"] como texto JSON sin procesar dentro de la celda CSV.
Ejemplos de conversión de JSON a CSV
A continuación se muestra un ejemplo realista de datos de pedidos de clientes convertidos a tabla:
[
{
"orderId": "ORD-2048",
"customer": { "name": "Elena Rostova", "email": "elena@example.com" },
"total": 149.50,
"status": "shipped"
},
{
"orderId": "ORD-2049",
"customer": { "name": "Marcus Vance", "email": "marcus@example.com" },
"total": 89.00,
"status": "pending"
}
]
El convertidor analiza los registros, genera una cabecera unificada con todos los campos, aplana el objeto anidado customer y genera CSV limpio:
orderId,customer.name,customer.email,total,status
ORD-2048,Elena Rostova,elena@example.com,149.5,shipped
ORD-2049,Marcus Vance,marcus@example.com,89,pending
JSON frente a CSV: Diferencias clave
Comprender las diferencias estructurales entre JSON y CSV ayuda a elegir el formato adecuado:
| Característica | JSON (JavaScript Object Notation) | CSV (Comma-Separated Values) |
|---|
| Modelo de datos | Árbol jerárquico (objetos y matrices anidadas) | Matriz tabular bidimensional (filas y columnas) |
| Tipos de datos | Cadenas, números, booleanos, nulos, matrices, objetos | Texto sin tipo (solo cadenas; los programas infieren el tipo) |
| Tamaño del mensaje | Más extenso (repite los nombres de clave en cada registro) | Compacto (las claves se declaran una sola vez en la cabecera) |
| Herramientas principales | APIs web, bases de datos NoSQL, archivos de configuración | Hojas de cálculo (Excel, Sheets), bases de datos SQL, BI |
JSON a CSV en Python con pandas o la librería estándar
Para automatizar la conversión en scripts de Python, pandas aplana estructuras en tres líneas:
import json
import pandas as pd
with open("input.json", encoding="utf-8") as handle:
data = json.load(handle)
frame = pd.json_normalize(data, sep=".")
frame.to_csv("output.csv", index=False)
La librería estándar de Python (json con csv.DictWriter) es igualmente potente sin dependencias externas. Consejo: pasa parse_int=str a json.load para evitar pérdida de precisión en números de 64 bits.
JSON a CSV en Node.js
Node.js puede convertir registros JSON planos sin ninguna librería externa:
import { readFile, writeFile } from 'node:fs/promises';
const data = JSON.parse(await readFile('input.json', 'utf8'));
const fields = [...new Set(data.flatMap((row) => Object.keys(row)))];
const cell = (value) => {
const text = value == null ? '' : String(value);
return /[",\n]/.test(text) ? '"' + text.replaceAll('"', '""') + '"' : text;
};
const csv = [fields, ...data.map((row) => fields.map((field) => row[field]))]
.map((row) => row.map(cell).join(','))
.join('\n');
await writeFile('output.csv', csv, 'utf8');
Por qué es gratis y por qué no tiene límites
Los convertidores habituales envían tus archivos a servidores remotos, asumiendo costes de cómputo que trasladan con límites de uso o suscripciones. jsoncsvonline se ejecuta al 100% en tu navegador usando Web Workers. Tus datos nunca salen de tu ordenador. Para aprender más, consulta nuestras guías sobre aplanamiento de JSON anidado, conversión de matrices JSON y compatibilidad de delimitadores y codificaciones en Excel.
Validación, formateo y reparación de JSON antes de convertir
Asegurar la validez sintáctica de tus datos antes de exportar previene fallos inesperados. Utiliza nuestro Validador JSON para verificar la norma RFC 8259, la herramienta de Reparación JSON para corregir comas sobrantes y comillas, el Formateador JSON para embellecer estructuras, el Comparador JSON Diff para detectar cambios entre documentos, o el Minificador JSON para comprimir cargas en APIs de producción.