Saltar al contenido principal
short.cl

JSON a CSV

Aplana estructuras JSON a un CSV tabular listo para análisis en Excel o pandas.

100% local, tu archivo no sale de tu navegador

Todo el procesamiento ocurre en tu dispositivo. No subimos nada a ningún servidor.

Arrastra un archivo JSON

Se convertirá a CSV. Todo ocurre en tu navegador.

JSON a CSV: aplanar estructura a tabla

JSON es jerárquico: soporta objetos dentro de objetos, arrays de arrays, tipos mixtos. CSV es plano: filas y columnas, un valor por celda. La conversión implica reducir la estructura a algo bidimensional — simple cuando el JSON ya es tabular, más complejo cuando tiene anidamiento.

Nuestro conversor acepta dos estructuras estándar:

  • Array de objetos: el más común. Cada objeto representa una fila, las claves se transforman en headers. Ejemplo: [{"id": 1, "nombre": "Ana"}, {"id": 2, "nombre": "Luis"}].
  • Array de arrays: formato más compacto. La primera entrada son los headers; el resto son las filas. Ejemplo: [["id","nombre"],[1,"Ana"],[2,"Luis"]].

Qué hacer con anidamiento

Si tu JSON tiene estructuras anidadas, el CSV plano no puede representarlas completamente. Estrategias:

  • Serializar como string. Es lo que hace nuestro conversor por defecto: un campo que contiene[{"ciudad": "Santiago"}]se exporta como el texto literal de ese JSON dentro de la celda. Preservás la información, pero para usarla necesitas re-parsear.
  • Aplanar con rutas. Un campo direccion.ciudad con valor “Santiago” se convierte en columna direccion.ciudad. Si hay múltiples direcciones, se hacen columnas numeradas: direcciones.0.ciudad, direcciones.1.ciudad. Esta técnica se llama “flattening” y la hacen herramientas como jq, pandas (json_normalize) y flatten-js. Nuestro conversor no la hace automáticamente — la dejamos para un script externo cuando se necesita.
  • Exportar a Excel con varias hojas. Un JSON anidado puede mapear a múltiples hojas de Excel: hoja principal con los objetos raíz, hojas adicionales con los sub-arrays. Para este caso considera JSON a Excel.

Claves heterogéneas

JSON permite que cada objeto tenga sus propias claves:

[
  { "nombre": "Ana", "edad": 30 },
  { "nombre": "Luis", "empresa": "Acme" }
]

CSV requiere columnas fijas para toda la tabla. Nuestra solución: tomamos la unión de todas las claves como headers. El resultado tendría columnas nombre, edad, empresa. Ana tendría la columna empresa vacía; Luis, la columna edad vacía.

Esto preserva toda la información. El inconveniente: datasets con claves muy heterogéneas generan CSVs con muchas columnas vacías. Si ese es el caso, probablemente el JSON no corresponde a una tabla uniforme y conviene revisar el modelo de datos.

Tipos en el CSV resultante

JSON distingue strings, números, booleanos, null. CSV trata todo como string, pero al abrir con Excel o pandas se reinterpretan:

  • Un número 150 en JSON se escribe literal 150 en el CSV (sin comillas). Excel y pandas lo reconocen como número.
  • Un booleano true/false se escribe “true” o “false” literal.
  • null se exporta como celda vacía.
  • Strings que contienen delimitadores o comillas se envuelven en comillas dobles con el escape RFC 4180.

Casos de uso

Respaldo de datos de API. Haces un dump de datos desde una API REST (JSON) y quieres mandárselos al equipo de analítica que trabaja en Excel. Convertir a CSV es el puente.

Exploración en pandas. pandas puede leer JSON directamente, pero muchos analistas prefieren CSV por familiaridad. Convertir y luego pd.read_csv es el workflow esperado.

Dashboard en Google Sheets. Sheets importa CSV mucho más fácil que JSON. Convertir primero acelera la carga del dashboard.

Compartir con stakeholders no técnicos. Un JSON con datos de producto es ilegible para la gerencia. El mismo dataset en CSV abierto en Excel es evidente.

Validación manual de respuestas de API. Un tester recibe respuestas JSON de una API. Pasarlas a CSV le permite revisar cientos de registros ordenados, filtrar, comparar entre corridas.

Casos en Chile

Reportes de APIs bancarias. APIs de BCI, Banco Chile, Itaú en modo QA o desarrollo devuelven JSON. Para auditoría interna conviene exportar a CSV, que el equipo de control puede revisar en Excel.

Datos del SII vía API. Algunos servicios del SII tienen endpoints JSON para consulta. Transformar a CSV para cruzar con planillas contables internas es común.

Scraping de datos públicos. Herramientas de scraping suelen guardar resultados en JSON (más natural en JS y Python). Convertir a CSV para distribuir a otros equipos cierra el pipeline.

Errores comunes

“JSON no soportado: se esperaba array”.El JSON es un objeto suelto, no un array. Envolverlo: si tienes {"id":1}, envuélvelo [{"id":1}].

Valores como [Object object] en el CSV. Alguna celda contiene un objeto que no fue serializado bien. Nuestro conversor lo evita usando JSON.stringify, pero si aparece, revisa que el JSON origen sea válido con formatear-json.

Fechas que vienen como strings. JSON no tiene tipo fecha nativo — las fechas están como ISO 8601 strings (“2026-04-22”). Al exportar al CSV se mantienen como string; Excel a veces las reconoce al abrir, a veces no. Conviene aplicar formato de fecha en Excel después.

Privacidad

El JSON puede contener datos personales, tokens, respuestas con información confidencial. Procesarlo en el navegador evita que esos datos pasen por un servidor de terceros. Nuestro parser y serializador corren íntegramente en JavaScript en tu dispositivo.

Relacionadas

Preguntas frecuentes

¿Qué estructura de JSON acepta?

Array de objetos (cada objeto es una fila, claves son headers) o array de arrays (primera entrada son headers, resto son filas). Si tu JSON es un objeto suelto o una estructura profundamente anidada, tendrás que aplanarlo antes con un script — CSV es plano por naturaleza.

¿Qué pasa con campos anidados?

Si un objeto tiene un campo que es a su vez objeto o array (ej: 'direcciones': [...]), el valor se serializa como JSON string dentro de la celda. Funcional pero feo. Para datos muy anidados conviene escribir un script que aplane explícitamente las rutas que te interesan.

¿Claves distintas entre objetos?

Si los objetos del array tienen claves distintas (algunos tienen 'email', otros no), tomamos la unión de todas las claves como headers. Objetos que no tienen una clave específica reciben celda vacía (null) en esa columna.

¿Qué delimitador usa?

Puedes elegir coma (estándar internacional), punto y coma (estándar chileno/europeo), tab o pipe. El default es coma — cámbialo si el destino es Excel en español.

¿UTF-8 con ñ y tildes?

Sí. El CSV se exporta con BOM UTF-8 para que Excel lo abra correctamente. Si el JSON tiene caracteres Unicode exóticos (emojis, chino, árabe), se preservan.

¿Los datos se suben a algún servidor?

No. Parseo y serialización ocurren íntegramente en tu navegador. El JSON con información sensible no sale de tu dispositivo.

Otras herramientas en este cluster