Convertir JSON a CSV
Convierte una lista de objetos JSON en un CSV que puedes abrir en Excel, Google Sheets o LibreOffice. Aplana los objetos anidados en columnas como direccion.ciudad y escapa correctamente comillas, separadores y saltos de línea.
Cómo convertir JSON a CSV
- Pega el JSON o arrastra el archivo. Lo ideal es una lista de objetos; si pegas un objeto que contiene una lista (como la respuesta típica de una API:
{"total": 50, "resultados": [ … ]}), se usa automáticamente la primera lista de objetos que encuentre. - Elige el delimitador. Para abrir el archivo con doble clic en un Excel configurado en español, usa punto y coma y marca coma decimal.
- Descarga el archivo. La opción BOM añade una marca invisible al principio para que Excel reconozca el UTF-8 y muestre bien tildes y eñes.
Cómo se construyen las columnas
- Columnas: es la unión de las claves de todos los objetos, en el orden en que aparecen por primera vez. Si un objeto no tiene alguna clave, su celda queda vacía (en el ejemplo, solo el pedido 1003 tiene
notas). - Objetos anidados: con «aplanar»,
{"cliente": {"nombre": "Ana"}}genera la columnacliente.nombre. Sin aplanar, el objeto se escribe como texto JSON dentro de la celda. - Listas dentro de un objeto: se guardan como JSON en una sola celda (
["vip","web"]), porque repartirlas en filas cambiaría el número de registros. - Valores:
nullqueda como celda vacía;true/falsey los números se escriben tal cual.
Reglas de escape (RFC 4180)
Un campo se encierra entre comillas dobles si contiene el delimitador, comillas, un salto de línea o espacios al principio o al final. Las comillas internas se duplican. Así, Jorge "Coque" Díaz se escribe "Jorge ""Coque"" Díaz". Las líneas terminan en CRLF, como pide el estándar y prefiere Excel.
Ejemplo de resultado
El JSON de ejemplo produce este CSV con coma como separador:
pedido,cliente.nombre,cliente.pais,total,pagado,notas
1001,Lucía Gómez,AR,15420.5,true,
1002,"Jorge ""Coque"" Díaz",ES,89.9,false,
1003,Ana Lima,MX,2300,true,"Entregar, por favor, antes de las 14:00" Con punto y coma y coma decimal, el primer registro sería 1001;Lucía Gómez;AR;15420,5;true;, que Excel en español interpreta como número.
Problemas típicos al abrir el CSV en Excel
| Síntoma | Causa | Solución |
|---|---|---|
| Todo aparece en la columna A | Excel espera ; según tu configuración regional | Delimitador punto y coma, o Datos → Desde texto/CSV |
| «LucÃa» en vez de «Lucía» | Excel no detecta UTF-8 | Activa el BOM al descargar |
| 15420.5 se ve como 154205 o como fecha | El punto es separador de miles en tu configuración | Activa «coma decimal» |
| Se pierden ceros iniciales (08001 → 8001) | Excel convierte a número al abrir | Importa con Datos → Desde texto/CSV y marca la columna como texto |
Herramientas relacionadas
Si el JSON da error, localízalo con el validador de JSON o revísalo con el formateador. Para volver de CSV a JSON usa CSV a JSON, y para generar registros ficticios con los que probar, el generador de datos de prueba. La conversión ocurre íntegramente en tu navegador: el archivo no se sube a ningún servidor.
Preguntas frecuentes
¿Qué JSON se puede convertir a CSV?
Una lista de objetos, donde cada objeto será una fila y cada clave una columna. También se admite un objeto que contenga esa lista, como muchas respuestas de API, o un único objeto (una sola fila).
¿Cómo se convierten los objetos anidados?
Con la opción de aplanar, cada propiedad anidada se convierte en una columna con notación de punto, por ejemplo cliente.nombre. Las listas internas se guardan como texto JSON en una celda.
¿Por qué Excel muestra mal las tildes del CSV?
Porque abre el archivo como Windows-1252 si no encuentra la marca BOM de UTF-8. Descarga el archivo con la opción BOM activada y las tildes y eñes se verán correctamente.
¿Qué delimitador debo usar para Excel en español?
Punto y coma. En configuraciones regionales donde la coma es el separador decimal, Excel usa ; para separar columnas al abrir un CSV con doble clic.