Convertidor de JSON a CSV

Convierte JSON a CSV online: gratis, al instante y privado. El archivo se procesa en tu navegador, nunca se sube.

Separador CSV
Resultado

El archivo convertido y una vista previa aparecerán aquí.

Listo. Elige un archivo de tabla para convertir.

Cómo funciona la conversión

  • Un array de objetos se convierte en filas y columnas; los objetos anidados se aplanan en columnas con clave por puntos como address.city.
  • Elige el delimitador que corresponda a tus datos: coma, punto y coma o tabulación.

Tu archivo de tabla se convierte en tu navegador. Nada se sube a BroBroGo.

Preguntas frecuentes

¿Cómo convierto JSON a CSV?

Suelta tu archivo JSON y pulsa convertir: el archivo CSV se descarga en segundos, con una vista previa del resultado. Todo ocurre en tu dispositivo.

¿De qué tamaño puede ser el archivo?

Hasta 8 MB, 10.000 filas y 200 columnas por archivo. Para conjuntos más grandes, conviene dividirlos primero en archivos menores.

Conversión de JSON a CSV: aplanamiento de datos jerárquicos

Esta página resuelve un problema concreto: convertir un archivo JSON en un archivo CSV. La dirección de la conversión importa: mientras que pasar de CSV a Excel o de Excel a JSON mantiene cierta estructura, aquí se pasa de un formato jerárquico y tipado (JSON) a otro plano y sin tipos (CSV). JSON admite objetos, arrays, números, booleanos y null organizados en árboles. CSV no tiene más que filas y columnas de texto. Para representar ese árbol en una tabla plana, la herramienta aplana las claves de los objetos usando notación de punto (por ejemplo, direccion.calle). Los arrays de objetos se convierten en filas de la tabla; los arrays planos también se convierten en filas, sin claves. Todo el procesamiento ocurre en el navegador: ningún dato sale de tu equipo.

La diferencia fundamental con otras conversiones es la pérdida inevitable de información estructural. Un JSON como { "usuario": { "nombre": "Ana", "edad": 30 } } se convierte en una fila con columnas usuario.nombre y usuario.edad. El anidamiento se representa como parte del nombre de la columna, no como un subdocumento. CSV no admite objetos dentro de celdas, así que esa jerarquía se aplana.

Cómo usar la herramienta: entrada, opciones y previsualización

El flujo es simple: arrastras o seleccionas un archivo JSON. Una vez cargado, eliges el delimitador del CSV de salida: coma (,), punto y coma (;) o tabulación (\t). La elección del delimitador es importante porque CSV no es un estándar único: en países de habla hispana es común usar punto y coma como separador, ya que la coma se usa como separador decimal. La herramienta genera una previsualización de la tabla convertida, mostrando el número de filas, el número de columnas y el tamaño del archivo de salida. Desde ahí puedes descargar el CSV.

La previsualización te ayuda a detectar problemas antes de descargar: columnas que no esperabas, filas vacías, o un número excesivo de columnas por el aplanamiento de objetos muy anidados. Si el JSON no es válido o no tiene forma de tabla, la herramienta muestra el error correspondiente: «Este JSON es inválido o no tiene forma de tabla.»

Requisitos de estructura: el JSON debe tener forma de tabla

No todo JSON se puede convertir directamente a CSV. La herramienta exige que el JSON sea un array de objetos o un array de arrays. Esa es la única estructura que se puede representar como una tabla de filas y columnas sin pérdida de información en el diseño de columnas.

  • Array de objetos: cada objeto es una fila. Las claves del primer objeto definen las columnas. Si hay objetos anidados, sus claves se aplanan con puntos. Por ejemplo:

    [
      { "nombre": "Luis", "direccion": { "ciudad": "Madrid", "cp": 28001 } },
      { "nombre": "Elena", "direccion": { "ciudad": "Barcelona", "cp": 08001 } }
    ]
    

    Se convierte en un CSV con columnas nombre, direccion.ciudad, direccion.cp.

  • Array de arrays: cada array interno es una fila; los elementos se convierten en celdas de esa fila. No hay nombres de columna derivados de claves porque no hay objetos. Ejemplo:

    [
      ["Madrid", 3.2],
      ["Barcelona", 2.8]
    ]
    

    Se convierte en CSV sin cabecera.

Si el JSON es un objeto simple o tiene una estructura irregular (por ejemplo, objetos con claves distintas en diferentes elementos), se muestra el error «Este JSON es inválido o no tiene forma de tabla.» Tampoco se admiten JSON con más de un nivel de array multidimensional sin homogeneidad.

Pérdida de tipos y formato: de JSON tipado a CSV sin tipos

Cuando conviertes de JSON a CSV, los números, booleanos y fechas conservan sus tipos. Un número 42 se escribe como 42; un booleano true como true; null como una celda vacía. Esto tiene consecuencias prácticas:

  • Ceros a la izquierda: si un campo JSON contiene el número 0123, al convertirlo a CSV se convierte en 123. Si necesitas conservar los ceros, debes forzar que el valor sea tratado como cadena en el JSON original (por ejemplo, "0123" en lugar de 0123).

  • Comillas y saltos de línea: CSV utiliza comillas dobles para encerrar valores que contienen el delimitador, comillas o saltos de línea. La herramienta aplica el reglaje automáticamente. Por ejemplo, un valor Hola, mundo se convierte en "Hola, mundo". Un salto de línea dentro de un valor también obliga a usar comillas. El resultado es un archivo CSV estándar RFC 4180, pero hay que tener cuidado al abrirlo en Excel: puede interpretar mal los saltos de línea incrustados.

  • Pérdida de la estructura anidada: cualquier anidamiento que no se pueda expresar con puntos se pierde. Por ejemplo, un array de objetos dentro de otro objeto ({ "items": [ { "a": 1 }, { "a": 2 } ] }) no se puede aplanar en una sola fila sin duplicar información. La herramienta trata ese array interno como una columna cuyo valor es la representación en cadena del array. En cualquier caso, la estructura original no se recupera al convertir de vuelta a JSON.

Límites y errores comunes

La herramienta impone varios límites para evitar problemas de rendimiento o archivos corruptos:

  • Tamaño máximo de archivo: si el archivo supera 8 MB, se muestra el error «Este archivo es demasiado grande. Usa un archivo de menos de ‹max›.»
  • Filas máximas: si la tabla resultante tiene más de 10.000 filas, aparece «Esta tabla tiene más de ‹max› filas.»
  • Columnas máximas: de forma análoga, si la tabla resultante tiene más de 200 columnas, aparece «Esta tabla tiene más de ‹max› columnas.»
  • Errores de selección: si no seleccionas ningún archivo: «Elige un archivo primero.»
  • Formato incorrecto: «Elige un archivo CSV, JSON o XLSX.»
  • Formato de salida no válido: «Elige un formato de salida diferente.»
  • Error de conversión: «No se ha podido convertir este archivo.», «Conversión cancelada.», o «Esta conversión está tardando demasiado. Prueba con un archivo más pequeño.»

Además, el hecho de que el procesamiento sea local implica que no hay límites de servidor, pero el navegador puede quedarse sin memoria con archivos muy grandes. Si conviertes un JSON de varios cientos de megabytes, la página puede colgarse o mostrar el error de tiempo de espera.

Ventajas del procesamiento local y casos de uso

Que todo ocurra en tu navegador significa que el archivo nunca se sube a un servidor. Esto es crítico para datos sensibles o sujetos a regulaciones de privacidad (GDPR, RGPD, datos médicos, financieros). No hay logs, no hay copias intermedias, no hay necesidad de confiar en un tercero. La conversión se hace en el navegador.

¿Quién necesita esta conversión? Cualquier persona que tenga un JSON (por ejemplo, respuesta de una API RESTful, exportación de una base de datos NoSQL, configuración de una aplicación) y necesite cargarlo en una hoja de cálculo, en una herramienta de análisis como Tableau o en una base de datos relacional que importe CSV. También es útil para prototipos rápidos: en lugar de escribir un script en Python o Node.js, arrastras el archivo y obtienes el CSV en segundos.

Los casos más habituales: desarrolladores que reciben datos de una API y quieren hacer un análisis rápido en Excel; analistas que necesitan combinar datos de varias fuentes JSON en una sola tabla; o usuarios que migran datos de un sistema que exporta JSON a otro que solo acepta CSV.

Preguntas frecuentes

¿Qué ocurre con los objetos anidados en JSON? La herramienta aplana las claves usando notación de punto. Por ejemplo, { "usuario": { "nombre": "Ana" } } genera una columna usuario.nombre.

¿Se pierden los tipos de datos? No. Los números, booleanos y fechas conservan sus tipos. Los ceros a la izquierda de los números se pierden si el JSON los interpreta como números, y los booleanos se escriben como true o false.

¿Puedo usar otro delimitador distinto de la coma? Sí. La herramienta permite elegir entre coma, punto y coma y tabulación. El punto y coma es habitual en entornos donde la coma es el separador decimal. La tabulación es útil para evitar conflictos con comas en los datos.

¿El archivo se sube a algún servidor? No. Todo el procesamiento se hace en tu navegador. El archivo nunca abandona tu equipo. No se envía ninguna petición a un servidor externo.

¿Qué hago si el JSON no tiene forma de tabla? La herramienta muestra el error «Este JSON es inválido o no tiene forma de tabla.» Debes reestructurar el JSON para que sea un array de objetos homogéneos o un array de arrays. Si tu JSON es un objeto simple, puedes envolverlo en un array: cambia { "clave": "valor" } por [{ "clave": "valor" }].

¿Por qué se pierden los ceros a la izquierda? Porque JSON interpreta 0123 como el número 123. Al convertirlo a CSV, el valor es 123. Para conservar los ceros, el JSON debe tratar ese valor como cadena: "0123". Si no controlas el JSON de origen, no hay forma de recuperar los ceros en la conversión.