Json To Csv LogoJson To Csv

¿Se puede convertir JSON a CSV? Sí: lo que debes saber (Guía 2026)

Sí: el JSON se convierte a CSV siempre que los datos puedan disponerse como filas y columnas. Las listas planas de registros se convierten a la perfección; los objetos anidados se aplanan en columnas con notación de puntos. Esto es lo que cambia, lo que se mantiene igual y las formas gratuitas de hacerlo.

Actualizado: 2026-10-069 min de lectura

La versión corta: sí, con una condición

Sí: se puede convertir JSON a CSV. La única condición es estructural: un archivo CSV es una tabla plana de filas y columnas, así que tu JSON tiene que poder expresarse de esa forma. La mayoría del JSON del mundo real ya lo es. Las APIs, las exportaciones de datos y los logs devuelven abrumadoramente listas de registros (un array de objetos) o un único registro (un objeto), y ambos encajan de forma natural en una hoja de cálculo: un objeto por fila, una clave por columna.

Lo que atasca a la gente no es la conversión en sí, sino la forma de sus datos. JSON permite anidación — objetos dentro de objetos, listas dentro de objetos — mientras que CSV no tiene ninguna noción de anidación. Así que la pregunta detrás de «¿se puede convertir JSON a CSV?» suele ser una de tres preguntas más pequeñas: ¿sobrevivirán mis datos anidados?, ¿se perderá algo? y ¿necesito software especial? Las respuestas son: sí, con aplanamiento; casi nada si tienes cuidado; y no: una herramienta gratuita de navegador basta para la mayoría de los archivos.

Qué exige CSV y qué te da JSON

Un archivo CSV es deliberadamente simple: la primera fila nombra las columnas, cada fila siguiente contiene los valores en el mismo orden, y ese es todo el formato. No hay tipos de datos (todo es texto), ni anidación, ni comentarios, ni fórmulas. JSON es mucho más flexible: los valores pueden ser strings, números, booleanos, null, objetos o arrays, anidados tan profundamente como quieras.

Esa diferencia es toda la historia de esta conversión. Pasar JSON a CSV significa decidir, para cada pieza del documento JSON, a qué fila y columna pertenece. Para las formas comunes, la correspondencia es obvia:

  • Un array de objetos planos se convierte en una fila por objeto y una columna por clave. Este es el caso perfecto.
  • Un único objeto plano se convierte en una fila bajo la fila de encabezados. Trivial.
  • Un array de valores simples como ["a", "b"] se convierte en una sola columna con un valor por fila.
  • Los objetos anidados, o los arrays que contienen objetos, necesitan aplanarse primero (ver la siguiente sección).

Si tu JSON es del primer tipo — y si vino de una respuesta de API, probablemente lo sea — la conversión es trabajo de un clic sin nada que pensar. El resto de esta guía es para todo lo demás.

Cuándo JSON se convierte a CSV a la perfección

La entrada ideal es así: un array JSON donde cada objeto tiene las mismas claves planas. Cada objeto se convierte en una fila, cada clave en un encabezado de columna, y nada se inventa, se adivina ni se descarta.

JSON
[
  {"name": "Ana", "email": "ana@example.com", "plan": "pro"},
  {"name": "Bo", "email": "bo@example.com", "plan": "free"}
]

Eso se convierte en un CSV con la fila de encabezados name,email,plan seguida de dos filas de datos: una correspondencia sin pérdidas y reversible. Esta es la forma que nuestro convertidor gratuito maneja de una sola pegada, y también es la forma que esperan Power Query de Excel y el fragmento de Python de más abajo. Si cada objeto de tu array tiene las mismas claves, puedes dejar de leer y convertir directamente.

Las variaciones leves también valen: si a algunos objetos les falta una clave, esas filas simplemente reciben una celda vacía en esa columna. Los conversores toman la unión de todas las claves de todos los objetos, así que los datos irregulares se degradan con elegancia en lugar de fallar.

La complicación: objetos y arrays anidados

El JSON real rara vez es perfectamente plano. Un registro de pedido puede enterrar al cliente dentro de customer.name y los totales dentro de pricing.total. CSV no tiene «dentro», así que los conversores aplanan la anidación en los nombres de columna usando notación de puntos: customer.name se convierte en una columna llamada literalmente customer.name, y el valor va en esa columna.

Para mostrar exactamente lo que ocurre, pasamos un registro de pedido anidado por el motor de conversión de este sitio con su opción de aplanamiento activada (el valor por defecto). La entrada tenía objetos anidados a tres niveles de profundidad — customer.contact.email, shipping.city, pricing.total — y el motor produjo estas columnas:

  • Una lista de valores simples, como ["red", "blue"], se convierte en una sola celda con los valores unidos por punto y coma y espacio: red; blue.
  • Una lista de objetos, como [{"a": 1}, {"a": 2}], no puede repartirse entre columnas, así que se conserva como texto JSON compacto dentro de una celda. No se pierde ningún dato: simplemente no se desglosa en la tabla.
  • Los arrays y objetos vacíos se convierten en [] y {} en lugar de desaparecer en silencio, para que puedas distinguir «vacío» de «ausente».
CSV output
orderId,customer.name,customer.contact.email,customer.contact.phone,shipping.address,shipping.city,shipping.state,shipping.zip,pricing.subtotal,pricing.tax,pricing.total,status
ORD-9821,Alex Rivera,alex.r@techcorp.com,+1-555-0192,742 Evergreen Terrace,Springfield,OR,97477,249.99,21.25,271.24,shipped

Cada valor anidado encontró su columna y nada se perdió. Dos detalles de las reglas de aplanamiento merecen conocerse, porque afectan a las listas:

Qué cambia en la conversión (y qué no)

La conversión es fiel, pero no invisible. Esto es exactamente lo que cambia cuando JSON se convierte en CSV:

  • Los tipos se convierten en texto. 42, true y «2026-10-06» aterrizan en el CSV como caracteres. Las hojas de cálculo suelen redetectar números y fechas al importar, pero el CSV en sí no lleva información de tipos: un código postal como 07477 puede perder su cero inicial si la hoja de cálculo adivina «número». Formatea la columna como texto al importar cuando eso importe.
  • null se convierte en una celda vacía. Una clave ausente se comporta igual: si a un objeto de cien le falta el correo, esa fila simplemente tiene un hueco en la columna email.
  • El orden de las claves se convierte en el orden de las columnas. Los objetos JSON no tienen orden por especificación; los conversores usan el orden de primera aparición, así que las columnas siguen el orden en que las claves aparecen por primera vez en tus datos.
  • La codificación sigue siendo UTF-8. Si los caracteres acentuados se convierten en basura en Excel, el archivo se leyó como ANSI en lugar de UTF-8: vuelve a importarlo y fija el origen del archivo en 65001: UTF-8.
  • El delimitador es configurable. La coma es el valor por defecto, pero si el Excel de tu idioma espera punto y coma, exporta con delimitador de punto y coma en lugar de pelear con la importación.

Lo que no cambia: los valores en sí, el número de registros y — con el aplanamiento activado — toda la estructura anidada, reorganizada en columnas con puntos. Aun así, hay un hábito que conviene mantener: archiva el JSON original. CSV es una simplificación de un solo sentido, y convertir de vuelta no restaurará los tipos de datos.

¿Se puede convertir JSON a CSV gratis?

Sí: es una tarea resuelta y commoditizada, y no deberías pagar por ella. Los conversores online gratuitos manejan los casos comunes en segundos: pega tu JSON o suelta un archivo .json y luego descarga el CSV. El nuestro es gratis sin cuenta, se ejecuta por completo en tu navegador y te permite cambiar el aplanamiento, el delimitador y los encabezados antes de descargar.

Abrir el convertidor gratuito de JSON a CSV

¿Se puede hacer sin subir tu archivo a ningún sitio?

Sí, y para datos sensibles deberías exigirlo. Hay dos tipos de conversores online. Los conversores de servidor suben tu archivo, lo convierten en la máquina de otra persona y te devuelven un enlace de descarga. Los conversores de lado cliente ejecutan toda la conversión como JavaScript en tu propia pestaña del navegador, así que los datos nunca salen de tu dispositivo.

El convertidor de este sitio es del segundo tipo: pega o suelta un archivo y el CSV se genera localmente en tu máquina. (La única petición de red que hace es cuando le pides explícitamente que descargue JSON desde una URL que pegues.) Como regla general, si tu JSON contiene claves de API, correos de clientes o cualquier cosa que no enviarías por correo a un desconocido, usa un conversor de lado cliente, tu editor o un script local; nunca una herramienta que primero suba y después convierta.

¿Cómo saber de qué tipo es una herramienta? Ábrela, pega algunos datos y observa la pestaña de red de tu navegador mientras convierte; o más simple: desconéctate de la red después de que cargue la página. Un conversor de lado cliente sigue funcionando sin conexión.

¿Pueden hacerlo Excel o Google Sheets?

Excel sí, de forma nativa, y es la mejor opción cuando la hoja de cálculo es tu destino final de todos modos. Ve a Datos, luego Obtener datos, luego Desde archivo, luego Desde JSON, y elige tu archivo. Power Query muestra los registros como tabla; expande las columnas anidadas con el icono de expansión en el encabezado de columna, luego Cerrar y cargar, y guarda como CSV. Los datos anidados se manejan visualmente en lugar de con notación de puntos, lo que algunas personas prefieren.

Google Sheets no puede importar JSON de forma nativa: no hay opción de Archivo, Importar para archivos .json. Tus opciones realistas son convertir primero a CSV con una herramienta gratuita y luego usar Archivo, Importar, o ejecutar un pequeño Apps Script que descargue y parsee el JSON. Para la mayoría, convertir primero es más rápido que programar Sheets.

Un truco específico de Excel que conviene conocer: si todo aterriza en una sola columna, tu Excel probablemente espera punto y coma como delimitador (común en idiomas europeos). Vuelve a exportar el CSV con delimitador de punto y coma en lugar de pelear con el asistente de importación.

¿Se puede convertir con código en su lugar?

Si conviertes la misma forma de JSON con frecuencia — una exportación diaria, un paso de compilación, un pipeline de datos — un breve script de Python supera a hacer clic en una herramienta cada vez. Este es el fragmento al que recurren los equipos de datos: aplana los objetos anidados en columnas con notación de puntos y escribe un BOM para que Excel detecte automáticamente la codificación UTF-8.

Python
import pandas as pd

# Flat or list-of-objects JSON
df = pd.read_json("data.json")

# Nested objects? Flatten them to dot-notation columns first
df = pd.json_normalize(df.to_dict("records"))

# utf-8-sig adds a BOM so Excel detects the encoding correctly
df.to_csv("data.csv", index=False, encoding="utf-8-sig")

Para trabajo puntual en terminal, jq convierte sin Python. Este comando lee data.json, toma dos campos por objeto e imprime filas CSV directo a stdout: útil para logs y respuestas de API que ya estás canalizando:

Una alternativa de terminal en una línea

El comando jq de abajo se probó en esta máquina: toma un array de objetos, une los tags de cada objeto con «; » y emite CSV correcto con el entrecomillado resuelto por ti.

Terminal
$ echo '[{"name":"Ana","tags":["x","y"]}]' | jq -r '.[] | [.name, (.tags|join("; "))] | @csv'
"Ana","x; y"

El filtro @csv es la parte que hace el trabajo real: entrecomilla los campos que necesitan comillas y escapa las comillas embebidas según RFC 4180, para que no tengas que pensar en los casos límite.

¿Y los archivos JSON muy grandes?

Sí, pero no en una pestaña del navegador. Los conversores de navegador manejan con comodidad archivos de unos pocos megabytes; más allá, las pestañas se ralentizan o se congelan porque todo el documento vive en memoria a la vez. Para archivos grandes, convierte en local:

  • Python con pandas procesa cientos de megabytes en un portátil normal: el fragmento de arriba funciona sin cambios.
  • jq procesa JSON como un flujo y nunca necesita todo el archivo en memoria para proyecciones de campos simples.
  • Para archivos realmente enormes (gigabytes), divide primero la entrada — un objeto JSON por línea se procesa línea por línea — o cárgala en SQLite o DuckDB y exporta CSV desde ahí.

Sea cual sea el tamaño, valida el JSON antes de convertir. Los conversores rechazan el JSON inválido de plano, y encontrar el error de sintaxis en un archivo de 2 GB es mucho más fácil con un validador de flujo que por ensayo y error.

¿Qué método deberías elegir?

Todos los métodos de arriba producen el mismo CSV para la misma entrada: la diferencia es comodidad, privacidad y escala. Empareja tu situación con una fila:

  • Archivo puntual, unos pocos megabytes o menos: un convertidor online gratuito. El más rápido con diferencia.
  • Datos sensibles: un conversor de lado cliente o un script local, para que nada se suba.
  • La misma conversión con frecuencia: un script de Python que puedas reejecutar y versionar.
  • Un archivo enorme: herramientas locales (Python, jq o DuckDB), nunca una pestaña del navegador.
  • La hoja de cálculo es el destino final: Power Query de Excel, saltándote el intermediario.

Y si solo necesitabas la respuesta a la pregunta del título: sí, se puede convertir JSON a CSV. Encuentra tu fila de arriba y terminarás en minutos.

Guías relacionadas

Preguntas frecuentes

¿Es posible convertir cualquier archivo JSON a CSV?

Casi. Cualquier JSON que pueda expresarse como filas y columnas se convierte limpiamente, y las estructuras anidadas se aplanan primero en columnas con notación de puntos. La única entrada incómoda es un documento sin ninguna estructura de registros — digamos, un objeto profundamente anidado sin arrays — que aun así se convierte pero produce una tabla ancha y dispersa. Utilizable, pero no bonita.

¿Perderé datos al convertir JSON a CSV?

Los valores sobreviven; los tipos no. Números, booleanos y fechas se convierten en texto plano, los null en celdas vacías y la anidación se reorganiza en columnas aplanadas. Un buen conversor nunca descarta nada en silencio, pero conserva el archivo JSON original, porque convertir el CSV de vuelta no restaurará los tipos de datos originales.

¿Puedo convertir JSON a CSV sin instalar nada?

Sí. Un convertidor online gratuito lo hace directamente en tu navegador sin instalar nada ni crear cuenta: pega el JSON, descarga el CSV. Si ya tienes Excel, Datos > Obtener datos > Desde JSON convierte de forma nativa sin software extra.

¿Es seguro pegar mi JSON en un conversor online?

Depende de dónde ocurra la conversión. Los conversores de lado cliente, como el de este sitio, ejecutan todo en tu pestaña del navegador, así que tus datos nunca salen de tu dispositivo: seguro incluso para archivos sensibles. Evita herramientas que suban tu archivo primero a un servidor, sobre todo cuando los datos contienen información personal o secretos.

¿Por qué mi CSV convertido se ve roto en Excel?

Dos sospechosos habituales: codificación y delimitador. Si los caracteres acentuados se muestran como basura, el archivo se leyó como ANSI en lugar de UTF-8: vuelve a importarlo y fija el origen del archivo en 65001: UTF-8. Si todo aterriza en una columna, tu Excel espera punto y coma (común en idiomas europeos): vuelve a exportar con delimitador de punto y coma.

¿Puedo convertir el CSV de vuelta a JSON después?

Sí, de CSV a JSON es el viaje inverso e igual de fácil: consulta nuestra guía «Cómo convertir CSV a JSON» para los tres métodos fiables. Una advertencia: no será idéntico al original. Las columnas aplanadas con notación de puntos seguirán planas a menos que las desaplanes, y cada valor vuelve como texto.

¿Cuánto tarda convertir JSON a CSV?

Milisegundos para archivos típicos: pegar, descargar, listo. El tiempo solo importa con archivos muy grandes, de cientos de megabytes, donde una pestaña del navegador puede sufrir y un script local es la opción más rápida y segura.

¿Listo para convertir tu JSON?

Pega tu JSON y descarga un CSV limpio y listo para hojas de cálculo en segundos: gratis, privado, sin registro.

Abrir el convertidor de JSON a CSV
Todas las guías