Por qué convertir un archivo JSON es una habilidad propia
La mayoría de los tutoriales de conversión asumen que el JSON ya está en tu portapapeles. La vida real empieza con un archivo: data.json en tu carpeta de Descargas, una exportación de una API que guardaste, una copia de seguridad de alguna aplicación. Trabajar con un archivo añade una capa que el pegado desde el portapapeles se salta: codificaciones, tamaños de archivo, finales de línea, la forma real de lo que hay en el disco, y cada uno puede cambiar tu resultado sin que te des cuenta.
La buena noticia es que los archivos son más fáciles en un aspecto: obligan a un flujo de trabajo repetible. Una vez que conoces el camino de un archivo .json a un archivo .csv, funciona igual si el archivo pesa 3 KB o 300 MB, lo hagas una vez o cien veces. Esta guía cubre ese flujo de principio a fin: obtener el archivo, revisarlo, convertirlo de tres formas distintas y abrir el CSV sin estropearlo.
De dónde viene tu archivo JSON (y por qué importa)
Los archivos JSON llegan desde un puñado de lugares, y saber cuál es el tuyo te dice qué esperar dentro:
- Exportaciones y descargas de APIs. El botón "Exportar" o "Descargar JSON" de un panel, o una llamada curl a una API que guardaste en disco. Suelen ser matrices de registros, la forma más amable para CSV, pero pueden pesar cientos de megabytes.
- Copias de seguridad de aplicaciones. Aplicaciones de mensajería, notas y gestores de contraseñas exportan tus datos como JSON. Suelen estar profundamente anidados, con objetos dentro de objetos, porque se diseñaron para máquinas, no para hojas de cálculo.
- Herramientas de desarrollo del navegador. Clic derecho en una respuesta de red, "Guardar como", y ya tienes un archivo .json. Rápido y práctico, pero comprueba que guardaste el cuerpo de la respuesta y no el HTML que la envolvía.
- Adjuntos de correo y unidades compartidas. La exportación de un colega que llega como data.json. Mírala con desconfianza hasta validarla: un adjunto que pasó por tres servidores de correo puede arrastrar daños de codificación.
Antes de tocar ningún conversor, abre el archivo en un editor de texto y mira las primeras líneas. Si ves [ arriba del todo, tienes una matriz de registros: ideal. Si ves {, tienes un solo objeto, posiblemente con estructuras anidadas que necesitarán aplanarse. Ambos se convierten; el segundo solo necesita la opción de aplanado activada.
Paso cero: valida el archivo antes de convertirlo
Todos los conversores de esta página rechazarán un archivo con un error de sintaxis, y el mensaje de error no siempre te dirá dónde está el problema. Valida primero, convierte después: toma diez segundos y elimina el misterio más común del "por qué no se convierte".
La comprobación más rápida no necesita ninguna herramienta si tienes Python instalado. Ejecútala contra tu archivo; no imprime nada si todo va bien y sale con un error que apunta a la línea culpable si algo falla:
# Validate data.json (quiet on success, points at the error on failure)
python3 -m json.tool data.json > /dev/null && echo "valid JSON"Los culpables habituales son las comas finales, las cadenas entre comillas simples y las comillas tipográficas pegadas desde aplicaciones de chat o documentos: todo ilegal en JSON. Si prefieres hacer clic en vez de escribir, nuestra guía para formatear JSON explica validadores gratuitos en línea; elige uno que se ejecute en tu navegador para que el archivo no salga de tu máquina.
Algo que no debería preocuparte: un archivo que es una sola línea enorme. El JSON minificado asusta en un editor de texto, pero es perfectamente válido y todos los métodos siguientes lo manejan; simplemente no puedes leerlo tú mismo, que es justo por lo que importa el validador.
Método 1: Sube el archivo a un conversor gratuito en línea
Para un archivo suelto, subirlo supera a todos los demás métodos en velocidad. Un buen conversor acepta un archivo .json arrastrado además de texto pegado: nunca deberías tener que abrir el archivo y copiar su contenido a mano, que es como ocurren los daños de codificación y los pegados truncados.
Este es el flujo, usando nuestro conversor gratuito como ejemplo:
- Abre el conversor y arrastra tu archivo .json a la zona de subida (o haz clic para buscarlo). El archivo se lee directamente del disco, sin copiar y pegar.
- Ajusta las opciones antes de convertir: activa el aplanado si tu archivo tiene objetos anidados (el conversor convierte customer.name en una columna con puntos), elige tu delimitador (coma para Excel de EE. UU./Reino Unido, punto y coma para la mayoría de los países europeos) y deja los encabezados activados.
- Pulsa convertir y descarga el .csv. El archivo se genera en la pestaña de tu navegador, así que nada se sube a ningún servidor.
¿Cómo sabes si un conversor funciona de verdad en tu navegador? La prueba sin conexión: carga la página, desconecta la red y convierte. Una herramienta del lado del cliente sigue funcionando. Esto importa porque los archivos JSON del trabajo suelen contener correos de clientes, claves de API o datos internos: no quieres que acaben en el servidor de otro. Si tu archivo es sensible, esta prueba es innegociable.
El límite práctico de este método es el tamaño del archivo. Las pestañas del navegador manejan con comodidad archivos de unos pocos megabytes; más allá, la pestaña se vuelve lenta porque todo el documento vive en memoria. Si tu archivo pesa decenas de megabytes o más, pasa al método de línea de comandos de abajo en vez de pelear con la pestaña.
Método 2: Abre el archivo JSON directamente en Excel
Si la hoja de cálculo es tu destino final, puedes saltarte al intermediario por completo: el Excel moderno abre archivos JSON de forma nativa con Power Query. Es la opción más limpia cuando de todas formas vas a analizar los datos en Excel.
- En Excel, sigue la ruta Data > Get Data > From File > From JSON y selecciona tu archivo .json.
- Power Query muestra los registros como una tabla. Si alguna columna contiene registros anidados, haz clic en el icono de expansión en el encabezado de esa columna para repartirlos en sus propias columnas: el equivalente visual del aplanado.
- Haz clic en Cerrar y cargar para poner la tabla en una hoja y luego Archivo, Guardar como, CSV para escribir el archivo .csv.
Dos advertencias honestas. Primera, Google Sheets no abre archivos JSON de forma nativa: no hay ninguna ruta de Archivo, Importar para .json. Convierte primero a CSV con uno de los otros métodos y luego usa Archivo, Importar. Segunda, cuidado con el delimitador al exportar: si tu Excel espera punto y coma, guarda o vuelve a exportar con delimitador de punto y coma en vez de pelear luego con el asistente de importación.
Método 3: Convierte el archivo desde la línea de comandos
Cuando la conversión es un paso de un trabajo mayor, una exportación diaria, un script de compilación, un pipeline de datos, un script local gana a cualquier herramienta de clics. También es la única forma cómoda de manejar archivos grandes. Estos son los dos comandos que los equipos de datos usan de verdad, ambos probados en esta máquina contra un archivo orders.json real.
Python con pandas es el caballo de batalla: lee el archivo, aplana los objetos anidados en columnas con notación de puntos y escribe un CSV con BOM para que Excel detecte UTF-8 automáticamente:
import pandas as pd
# Read the file straight from disk
df = pd.read_json("data.json")
# Flatten nested objects to dot-notation columns (customer.name)
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")
print(f"wrote data.csv ({len(df)} rows)")jq es la opción más ligera cuando solo necesitas unos pocos campos. Esta línea lee orders.json, extrae tres campos por registro, incluidos anidados como customer.name, e imprime un CSV RFC 4180 correcto en la salida estándar. Redirígelo a un archivo y listo:
Una alternativa de una línea en la terminal para archivos
El comando jq siguiente se probó en esta máquina contra un archivo JSON real: dos registros de pedidos con objetos anidados de cliente y precios. Extrajo el ID del pedido, el nombre del cliente anidado y el total anidado en filas CSV entre comillas:
$ jq -r '.[] | [.orderId, .customer.name, .pricing.total] | @csv' orders.json
"ORD-1","Ana",10.5
"ORD-2","Bo",7.25El filtro @csv se encarga de las comillas y el escape por ti, y la sintaxis .customer.name llega directo a los objetos anidados sin ningún paso de aplanado. Para trabajo rápido en la terminal con archivos que ya tienes abiertos, no hay nada mejor.
Convertir muchos archivos JSON a la vez
Las exportaciones rara vez llegan como un solo archivo. Un volcado mensual puede ser treinta archivos .json, y convertirlos uno a uno en una pestaña del navegador es una tarde perdida. La versión por lotes del script de Python anterior recorre una carpeta, convierte cada archivo y nombra cada CSV como su origen:
import pandas as pd, glob
# Convert every .json file in exports/ to its own .csv
for path in sorted(glob.glob("exports/*.json")):
df = pd.json_normalize(pd.read_json(path).to_dict("records"))
out = path.rsplit(".", 1)[0] + ".csv"
df.to_csv(out, index=False, encoding="utf-8-sig")
print(f"{path} -> {out} ({len(df)} rows)")Esto se probó en esta máquina contra dos archivos de muestra: cada uno produjo su propio CSV con las columnas aplanadas orderId,customer.name,pricing.total y un conteo de filas impreso por archivo, para que veas de un vistazo si algún archivo salió vacío. Una advertencia: el script asume que todos los archivos tienen la misma forma. Si tu carpeta mezcla distintas exportaciones, convierte cada forma por separado: unir conjuntos de claves distintos en un solo CSV produce una cuadrícula confusa y dispersa.
Archivos JSON grandes que bloquean las pestañas del navegador
Una pestaña del navegador guarda todo el documento en memoria, así que los archivos de decenas o cientos de megabytes congelan o cierran pestañas. La regla práctica: unos pocos megabytes van bien en el navegador; lo que sea más grande se convierte en local. Las herramientas locales no tienen el techo de memoria de la pestaña:
- jq transmite en streaming. Para proyecciones simples de campos nunca guarda todo el archivo en memoria, por eso sigue siendo rápido con registros de escala de gigabytes.
- Python con pandas maneja cientos de megabytes en un portátil normal: el script anterior funciona sin cambios.
- Para archivos realmente enormes, comprueba si la exportación puede dividirse en un objeto JSON por línea (JSON Lines). Los archivos delimitados por líneas procesan un registro a la vez y nunca necesitan todo el documento en memoria de una vez.
Sea cual sea el tamaño, valida primero: encontrar un error de sintaxis en un archivo de 2 GB es mucho más fácil con python3 -m json.tool (o un validador en streaming) que viendo cómo falla un conversor tras una subida de cinco minutos.
Cuando el CSV ya está listo: ábrelo sin estropearlo
La conversión puede ser perfecta y la hoja de cálculo seguir viéndose mal, porque abrir un CSV es en sí una pequeña habilidad. Estas son las tres soluciones que resuelven casi todos los informes de "mi CSV se ve roto":
- Codificación: si los caracteres acentuados se convierten en basura, el archivo se leyó como ANSI en vez de UTF-8. Impórtalo de nuevo y fija el origen del archivo en 65001: UTF-8. (El script de Python anterior escribe un BOM precisamente para que Excel lo detecte solo.)
- Delimitador: si todo cae en una sola columna, tu Excel espera punto y coma, común en países europeos. Vuelve a exportar con delimitador de punto y coma en vez de pelear con la importación.
- Ceros iniciales: los códigos postales y los IDs como 07477 pierden su cero cuando la hoja adivina "número". Formatea la columna como texto al importar, o antepón un apóstrofe.
Y conserva el archivo .json original. La conversión lee el archivo sin cambiarlo: el JSON queda intacto, y archivarlo no cuesta nada. CSV es una simplificación de un solo sentido: convertir de vuelta no restaurará los tipos de datos ni desaplanará tus columnas.
Errores de archivo y cómo solucionarlos
Los archivos añaden modos de fallo que el texto pegado nunca tiene. Cuando un conversor rechaza tu archivo, repasa esta lista antes que nada:
- Extensión incorrecta. Un archivo guardado desde Notepad como data.json.txt, o un .json que en realidad es HTML de una descarga fallida, no se analizará. Abre las primeras líneas: si ves <html>, descargaste una página de error, no JSON.
- Daño de codificación. Los archivos que pasaron por correo o se guardaron con la codificación incorrecta pueden traer texto corrupto. Vuelve a guardar como UTF-8; ante la duda, el validador del paso cero marcará lo que no pueda leer.
- El archivo está bien pero es enorme. Mira la sección de archivos grandes: esto es un problema de herramientas, no de datos.
- Finales de línea. CRLF frente a LF no afecta en absoluto al análisis de JSON, así que si un conversor culpa a los finales de línea, el problema real está en otro lado, normalmente en uno de los anteriores.
El noventa por ciento de los informes de "no convierte mi archivo" termina en uno de estos cuatro. El diez por ciento restante es JSON realmente inválido, y el validador apunta directo a la línea culpable.
¿Qué flujo de trabajo con archivos deberías elegir?
Cada método de esta página lee el mismo archivo y produce el mismo CSV con la misma entrada: la elección va de comodidad, privacidad y escala. Elige según tu caso:
- Un archivo, unos pocos megabytes o menos: arrástralo a un conversor gratuito en línea. Lo más rápido con diferencia.
- Datos sensibles en el archivo: un conversor del lado del cliente, Excel o un script local: nada que suba primero.
- La hoja de cálculo es el destino: el From JSON de Excel, saltándose el conversor.
- Muchos archivos o una tarea programada: el script por lotes de Python, con control de versiones y reejecutable.
- Un archivo enorme: solo herramientas locales: jq, Python o procesamiento delimitado por líneas.
Y el hábito que subyace a todos: valida el archivo antes de convertir, conserva el original después de convertir y comprueba la codificación al abrir el CSV. Haz esas tres cosas y los archivos JSON se vuelven la entrada más fácil que tienes.
Guías relacionadas
- ¿Se puede convertir JSON a CSV? Sí: lo que debes saber (Guía 2026)
- Cómo convertir JSON a CSV: 3 métodos fiables (guía 2026)
- Cómo formatear JSON: 3 formas fiables de embellecerlo y validarlo (Guía 2026)
- ¿Cuál es la mejor herramienta para convertir JSON a CSV? 6 opciones, probadas (Guía 2026)
- Cómo convertir CSV a JSON: 3 métodos fiables (guía 2026)
- Cómo convertir JSON a CSV en menos de un minuto: el método más rápido para cada caso (Guía 2026)
- ¿Qué es una herramienta online para convertir JSON a CSV? Cómo elegir una buena (Guía 2026)
- ¿Cómo puedo convertir un archivo JSON a CSV en línea? (Guía 2026)
- Cómo aplanar JSON a CSV: qué hace realmente esa opción (Guía 2026)
- Cómo crear un CSV a partir de JSON: 7 decisiones que convierten datos crudos en un archivo que funciona (Guía 2026)
- ¿Cómo convertir JSON a CSV en VS Code? 4 formas, del clic a una sola tecla (Guía 2026)
- How to Flatten the JSON Data: explotar, unir o dejar anidado (Guía 2026)
- ¿Hay alguna forma de convertir JSON a CSV? Sí — 5 formas, elige según tu caso (Guía 2026)
- Cómo hacer JSON to CSV online: hazlo en esta pestaña en 30 segundos (Guía 2026)
- json to csv converter download: qué deberías descargar de verdad (Guía 2026)
- Convert Large JSON to CSV Online Free: ¿qué tan grande es demasiado grande? (Guía 2026)
- ¿Qué es un archivo JSON y CSV? Guía para principiantes de ambos formatos (2026)
- What Does Flattening a JSON Mean? Qué significa el término, explicado (Guía 2026)
- What is JSON to CSV online: qué significa y cómo funciona (Guía 2026)
- What is JSON to CSV converter online: anatomía de la herramienta (Guía 2026)
- Convert JSON to CSV locally: convierte JSON a CSV en tu propio equipo, sin subir el archivo (Guía 2026)
- ¿Cuáles son las formas de convertir JSON a CSV localmente? 6 métodos comparados (Guía 2026)
- El archivo CSV se abre en una sola columna en Excel: por qué pasa y cómo corregirlo (Guía 2026)
- Por qué tu CSV muestra caracteres extraños en Excel y cómo corregir la codificación (Guía 2026)
- Por qué Excel elimina los ceros a la izquierda de tus códigos CSV y cómo conservarlos (Guía 2026)
- Por qué Excel cambia las fechas de tu CSV e intercambia el día y el mes, y cómo evitarlo (Guía 2026)
- Por qué guardar tu CSV en Excel lo cambia y cómo mantener el original a salvo (Guía 2026)
- Por qué tu CSV es demasiado grande para Excel y qué hacer en su lugar (Guía 2026)
Preguntas frecuentes
¿Puedo convertir un archivo JSON a CSV sin instalar nada?
Sí. Arrastra el archivo .json a un conversor gratuito en línea que se ejecute en tu navegador, sin instalación ni cuenta, y descarga el CSV. Si ya tienes Excel instalado, la ruta Data > Get Data > From File > From JSON abre el archivo de forma nativa sin instalar nada más.
¿Es seguro subir mi archivo JSON a un conversor en línea?
Solo si la conversión ocurre en tu navegador. Los conversores del lado del cliente, como el de este sitio, leen el archivo del disco y generan el CSV en local, así los datos nunca salen de tu máquina. Prueba cualquier conversor desconectando tu red después de cargar la página: si sigue convirtiendo, es del lado del cliente y seguro para archivos sensibles.
¿Por qué Excel pone todo mi CSV en una sola columna después de convertir un archivo JSON?
Tu Excel espera un delimitador distinto, normalmente punto y coma en países europeos. Vuelve a exportar el CSV con delimitador de punto y coma en vez de pelear con el asistente de importación, o usa Data > From Text/CSV y fija el delimitador explícitamente al importar.
¿Cómo convierto un archivo JSON muy grande a CSV?
Conviértelo en local, no en una pestaña del navegador. jq procesa en streaming archivos de escala de gigabytes para proyecciones simples de campos, y un script corto de Python con pandas maneja cientos de megabytes en un portátil normal. Valida primero el archivo: encontrar un error de sintaxis en un archivo enorme es mucho más fácil antes de convertir que después de un intento fallido.
¿Puedo convertir varios archivos JSON a CSV a la vez?
Sí: un script corto por lotes recorre una carpeta y convierte cada archivo, nombrando cada CSV como su origen. El fragmento de Python de esta guía hace exactamente eso con pandas, imprimiendo un conteo de filas por archivo para que detectes resultados vacíos. Convierte cada forma de datos distinta por separado para que conjuntos de claves diferentes no se fusionen en una cuadrícula confusa.
Mi archivo JSON no se convierte. ¿Qué pasa?
Casi siempre una de cuatro cosas: el archivo no es JSON válido (ejecuta python3 -m json.tool para encontrar el error), el "JSON" es en realidad una página HTML de error de una descarga fallida, el archivo es demasiado grande para una pestaña del navegador, o la extensión miente (data.json.txt). Valida primero: apunta al problema exacto en segundos.
¿La conversión cambia o elimina mi archivo JSON original?
No. Todos los métodos de esta guía leen el archivo y escriben un CSV nuevo: el .json original queda intacto. Consérvalo como tu archivo: CSV es una simplificación de un solo sentido, y no puedes restaurar los tipos de datos ni la estructura anidada convirtiendo el CSV de vuelta.
Tu archivo JSON está listo para convertirse en una hoja de cálculo
Suelta tu archivo .json en el conversor gratuito y descarga un CSV limpio y listo para hojas de cálculo en segundos: sin registro, y tu archivo nunca sale de tu navegador.
Convierte tu archivo JSON ahora