TextSorter
Entrada JSON
Salida CSV

Cómo convertir JSON a CSV online

JSON es lo que devuelve prácticamente cualquier API hoy en día, y encaja de forma natural con el código: los objetos se anidan dentro de otros objetos, los arrays contienen más objetos, y un programa puede recorrer esa estructura sin mucho esfuerzo. Una hoja de cálculo no funciona así. Excel, Google Sheets y cualquier pantalla de importación de CSV esperan una cuadrícula plana de filas y columnas, así que en el momento en que alguien necesita entregar datos JSON a un comercial, un analista o un cliente que vive en Excel, alguien tiene que darle esa forma nueva. Eso es exactamente lo que hace esta herramienta, por completo dentro de tu navegador, en el tiempo que tarda pegar el texto y hacer clic en un botón.

La forma del dato de entrada importa menos de lo que parece. Puedes pegar un único objeto JSON, como la respuesta de una sola llamada a una API, o un array de objetos, como una lista de filas de base de datos exportada en JSON. En ambos casos el conversor normaliza lo que le des a un conjunto de registros, calcula todas las cabeceras de columna que esos registros necesitan entre sí y escribe un CSV correcto con una fila de encabezado seguida de una fila por registro.

Guía paso a paso para convertir

  1. Pega tu JSON. Suelta un objeto único o un array de objetos en el cuadro "Entrada JSON". Puede venir de la respuesta de una API, una exportación de base de datos, un archivo de configuración o cualquier otro lugar donde aparezca JSON.
  2. Elige un delimitador. La coma es el valor por defecto y la opción correcta para la mayoría de hojas de cálculo en inglés, pero el desplegable también ofrece Tabulación, Punto y coma y Barra vertical para los casos que se explican más abajo.
  3. Decide si aplanar los objetos anidados. Deja marcada "Aplanar objetos anidados" si tu JSON tiene alguna jerarquía que quieras expandir en columnas separadas, como un objeto de dirección o un bloque de metadatos.
  4. Haz clic en "Convertir a CSV". La herramienta analiza tu JSON, lo aplana si lo pediste, reúne cada nombre de columna único entre todos los registros y escribe el resultado en el cuadro de salida CSV en una fracción de segundo.
  5. Copia o descarga el resultado. Usa el botón Copiar para obtener el texto CSV en bruto, o "Descargar .csv" para guardarlo como archivo y abrirlo directamente en Excel, Google Sheets o LibreOffice Calc.

Nada de esto toca un servidor. El análisis, el aplanado y el formateo en CSV se ejecutan como JavaScript en tu propio dispositivo, así que la conversión funciona igual tanto si tu array tiene tres registros como treinta mil, y nada de lo que pegues se transmite nunca a ningún sitio para procesarse.

Aplanar JSON anidado: notación de punto y arrays explicados

Una hoja de cálculo es, por definición, bidimensional: filas y columnas, nada anidado dentro de una celda. El JSON no tiene esa restricción, un objeto puede contener otro objeto, que puede contener un array, que puede contener más objetos, tantos niveles como el dato lo necesite. Convertir entre ambos formatos implica tomar una decisión sobre cada estructura anidada de tus datos, y esta herramienta toma esa decisión con un conjunto de reglas pequeño y predecible.

Los objetos anidados se aplanan usando notación de punto. Dado {"usuario": {"perfil": {"nombre": "Ana", "verificado": true}}}, la herramienta entra en usuario, luego en perfil, y genera dos columnas llamadas usuario.perfil.nombre y usuario.perfil.verificado. Recorre recursivamente tantos niveles de anidación como existan, así que una respuesta de API con una estructura profunda, cuatro o cinco niveles, acaba igualmente como una fila plana de columnas en lugar de un muro de texto JSON ilegible metido en una sola celda.

Los arrays se dividen en dos casos muy distintos según lo que contengan. Un array de valores simples, como "etiquetas": ["admin", "facturacion"], se une en una única celda como admin;facturacion en lugar de repartirse en varias columnas, porque no existe un nombre de columna natural para "la tercera etiqueta" y la mayoría de listas de etiquetas no necesitan buscarse ni ordenarse columna por columna. Un array de objetos, en cambio, como una lista de líneas de un pedido, se expande usando notación de índice: items[0].sku, items[0].precio, items[1].sku, items[1].precio, y así sucesivamente, para que no se pierda ni se mezcle en un texto ilegible ningún dato de ningún elemento del array.

Los datos mixtos se tratan de la misma forma sin importar lo inconsistentes que parezcan. Antes de escribir una sola fila, la herramienta recorre cada objeto de tu entrada y construye el conjunto completo de nombres de columna de todo el dataset, no solo las claves del primer registro. Si el quinto registro tiene un campo que los cuatro primeros no tienen, ese campo igualmente recibe su propia columna, y toda fila que no tenga valor para él simplemente obtiene una celda vacía en lugar de descuadrar la alineación del resto de la tabla.

Elegir delimitador: coma, punto y coma, tabulación o barra vertical

"CSV" significa "valores separados por comas", pero la coma en realidad es solo el valor por defecto, y elegir el delimitador equivocado es una de las razones más habituales por las que un archivo convertido se ve roto en cuanto alguien lo abre. Esta herramienta admite cuatro delimitadores, y cada uno resuelve un problema real y concreto, no existe solo por tener más opciones.

Delimitador Mejor para Por qué
Coma (,) Excel y Google Sheets en configuración regional inglesa, la mayoría de APIs Es el valor por defecto universal de CSV, lo que casi cualquier herramienta espera salvo que se le indique lo contrario
Punto y coma (;) Excel con configuración regional en español, alemán, francés y otras variantes europeas Esas configuraciones regionales usan la coma como separador decimal, así que Excel espera el punto y coma entre columnas en su lugar
Tabulación (TSV) Datos que ya contienen muchas comas en sus valores El carácter de tabulación casi nunca aparece dentro de texto real, así que rara vez hace falta añadir comillas
Barra vertical (|) Herramientas de importación heredadas y pipelines de datos antiguos Algunos sistemas ETL y de mainframe antiguos estandarizaron la barra vertical mucho antes de que la disyuntiva coma frente a punto y coma fuera un problema de configuración regional

La disyuntiva coma frente a punto y coma le juega malas pasadas a más gente que ninguna otra opción de esta página, porque es invisible hasta que el archivo ya está abierto. Es fundamental ser honesto aquí: el comportamiento exacto depende de la configuración regional concreta de Windows y de Excel que tenga la persona que abre el archivo, no hay una regla universal. En muchas instalaciones de Excel en español, tanto en España como en gran parte de Latinoamérica, la configuración regional trata la coma como separador decimal de los números, de modo que Excel ahí espera el punto y coma como separador de columnas. Si un colega abre un CSV delimitado por comas en una de esas configuraciones, la hoja a menudo muestra todos los valores amontonados en la columna A, sin ninguna división, porque Excel está buscando puntos y coma y una coma le parece puntuación normal dentro de un valor en lugar de un límite de columna. Cambiar el delimitador de esta herramienta a punto y coma antes de enviar el archivo a alguien con esa configuración evita el problema por completo, sin que la otra persona tenga que cambiar nada en su equipo.

Comillas y escapado: comas, comillas y saltos de línea dentro de un campo

Una vez elegido el delimitador, el conversor todavía tiene que gestionar valores que contengan ese mismo carácter, una comilla, o un salto de línea real, sin romper la estructura de la fila. Una descripción de producto que dice "Disponible en rojo, azul y verde" tiene comas que no son separadores de columna, y un conversor ingenuo que simplemente uniera los campos con comas partiría esa única descripción en tres columnas separadas y rotas.

Esta herramienta sigue la regla estándar de comillas en CSV: un campo solo se envuelve en comillas dobles cuando realmente lo necesita, es decir, cuando contiene el carácter delimitador, una comilla doble literal o un salto de línea. Todo lo demás se deja como texto plano sin comillas, lo que mantiene el resultado fácil de leer y evita llenar valores sencillos como nombres o números de comillas que no necesitan.

Esto importa sobre todo con datos que vienen de campos de texto libre, cosas como comentarios de clientes, descripciones de producto o campos de notas, donde comas, comillas y saltos de línea aparecen constantemente y de forma impredecible. Acertar con las comillas desde el principio marca la diferencia entre un CSV que se abre limpio y otro donde media tabla queda desplazada una columna por culpa de una sola coma suelta.

UTF-8, la marca de orden de bytes y por qué los nombres con tilde se ven mal en Excel

Un archivo CSV es solo una secuencia de bytes; nada dentro del propio formato del archivo declara qué codificación de texto representan esos bytes. Esa ambigüedad es invisible con texto sencillo en inglés que solo usa las letras A a la Z, pero se convierte en un problema real en cuanto un nombre, una ciudad o una descripción de producto contiene una letra con tilde o eñe, algo como José, Muñoz, Peñíscola o Cañón. Guardados y abiertos con suposiciones distintas sobre la codificación, esos caracteres salen convertidos en secuencias irreconocibles en vez del texto original.

Una solución habitual para esto es la marca de orden de bytes UTF-8 (BOM), tres bytes concretos (EF BB BF) colocados justo al principio del archivo, que le dicen a un programa compatible "este archivo es UTF-8, léelo así" antes de que aparezca un solo carácter de datos reales. Excel en Windows es uno de los programas que busca esta marca: un CSV en UTF-8 que empieza con el BOM suele abrirse correctamente al hacer doble clic, mientras que el mismo archivo sin ella a menudo se lee usando la página de códigos local del sistema, corrompiendo en silencio cualquier tilde o eñe del archivo.

Conviene ser directo sobre qué hace exactamente este conversor: el botón de descarga de esta herramienta genera un archivo CSV en UTF-8 plano, sin anteponer una marca de orden de bytes. Para datos que son enteramente texto sencillo en inglés, eso no supone ninguna diferencia visible. Para datos con nombres con tilde o eñe, o nombres de ciudad no ingleses, significa que hacer doble clic en el archivo descargado en Excel puede mostrar caracteres ilegibles aunque el archivo subyacente esté codificado correctamente. La solución fiable, y que funciona independientemente de la cuestión del BOM, es evitar el doble clic y usar en su lugar el asistente Datos > Desde texto/CSV de Excel, que te permite decirle explícitamente "este archivo es UTF-8" antes de que renderice una sola celda.

Abrir el resultado en Excel, Google Sheets y LibreOffice Calc

El mismo archivo CSV se comporta de forma algo distinta según qué programa de hoja de cálculo lo abra, sobre todo porque cada uno asume por defecto cosas diferentes sobre el delimitador y la codificación.

Microsoft Excel

Hacer doble clic en un archivo .csv se lo entrega al abridor rápido de Excel, que adivina el delimitador a partir de tu configuración regional de Windows y adivina la codificación a partir de la página de códigos de tu sistema en lugar de comprobar si es UTF-8. Eso es rápido, pero es exactamente el camino que produce tanto la confusión coma frente a punto y coma como los problemas con letras con tilde descritos arriba. La ruta más fiable es el asistente Datos > Desde texto/CSV, a veces llamado Obtener datos, que te muestra una vista previa y te deja fijar el origen del archivo en UTF-8 y confirmar el delimitador antes de importar nada.

Google Sheets

Usa Archivo > Importar > Subir y elige el archivo CSV. Google Sheets es notablemente mejor que el doble clic por defecto de Excel a la hora de detectar tanto la codificación UTF-8 como el delimitador de forma automática, así que un archivo delimitado por punto y coma o por coma generado con esta herramienta suele importarse correctamente sin ninguna configuración manual, aunque el cuadro de diálogo de importación te sigue dejando cambiar el separador si lo adivina mal.

LibreOffice Calc

LibreOffice muestra un cuadro de diálogo de importación de texto cada vez que abres un archivo .csv, en lugar de solo cuando lo pides expresamente como hace Excel. Eso supone algo más de fricción para echar un vistazo rápido a un archivo, pero significa que tienes control manual completo cada vez: un desplegable de conjunto de caracteres donde puedes elegir directamente "Unicode (UTF-8)", y casillas para coma, punto y coma, tabulación y otros separadores, así que no hay ninguna ambigüedad sobre cómo se va a interpretar el archivo.

Por qué este conversor funciona por completo en tu navegador

La mayoría de herramientas de "convertir JSON a CSV" que encuentras online suben lo que pegues a un servidor, lo procesan ahí y te devuelven el resultado. Ese viaje de ida y vuelta es invisible durante el uso normal, pero significa que tus datos, aunque sea brevemente, estuvieron en una infraestructura que no controlas. Para un fragmento pequeño de datos de ejemplo públicos eso no es ningún problema. Para una exportación de datos reales de clientes, un volcado interno de base de datos o cualquier cosa cubierta por un acuerdo de tratamiento de datos, sí es una preocupación real, y es justo el tipo de cosa que una revisión de seguridad detectaría de inmediato.

Este conversor nunca hace ese viaje. Analizar el JSON, aplanar los objetos anidados y construir la salida CSV son todo JavaScript plano que viaja con la página y se ejecuta en tu dispositivo en el momento en que haces clic en Convertir. Abre la pestaña de red de tu navegador mientras la usas y no verás ni una sola petición transportando tus datos a ningún sitio. Eso tiene un efecto práctico más allá de la privacidad: no hay cola de servidor que esperar ni límite de peticiones ni tope de tamaño de subida impuesto por un backend, porque es tu propio equipo el que hace todo el trabajo.

Lo que esto significa para equipos que manejan exportaciones sensibles

Si estás convirtiendo una exportación de base de datos, una lista de registros de usuarios, líneas de un contrato o cualquier otra cosa que no quieras que salga de tu organización, una herramienta puramente local elimina ese riesgo de la ecuación en lugar de pedirte que confíes en una política de privacidad que probablemente no has leído. Es el mismo razonamiento que lleva a los equipos de ingeniería a ejecutar un formateador o una transformación de datos de forma local en vez de pegar datos de producción en un formulario web cualquiera.

Casos de uso habituales de este conversor de JSON a CSV

Depuración y revisión de respuestas de API

Una persona desarrolladora obtiene una respuesta JSON de un endpoint REST y necesita entregar una versión legible a alguien de QA o de producto que vive en hojas de cálculo en lugar de las herramientas de desarrollo del navegador. Convertir la respuesta aquí transforma un muro de llaves y corchetes en filas y columnas que cualquiera del equipo puede revisar y filtrar.

Exportación de resultados de consultas NoSQL

MongoDB, Firestore y bases de datos documentales similares devuelven los resultados de sus consultas como JSON por defecto. En vez de escribir un script de exportación puntual, pegar un lote de resultados de consulta en esta herramienta produce un CSV que se abre directamente en Excel o Sheets para análisis ad hoc, filtrado o una tabla dinámica rápida.

Preparación de catálogos de producto y feeds

Los marketplaces online y las plataformas de marketing a menudo exigen CSV para cargas masivas de productos, mientras que el dato del producto en sí suele vivir en un feed o una API en JSON. Convertir una exportación en JSON de un catálogo, incluidos campos anidados como niveles de precio o atributos de variante, ahorra tener que construir a mano una hoja de cálculo desde cero.

Análisis de logs estructurados

Las aplicaciones que emiten logs estructurados en JSON producen datos fáciles de analizar para una máquina pero tediosos de revisar a simple vista. Pegar un lote de entradas de log en esta herramienta y aplanarlas en columnas hace mucho más fácil ordenar por marca de tiempo, filtrar por código de estado o detectar un patrón entre cientos de entradas.

Migración de datos entre sistemas

Mover datos de una plataforma a otra a menudo significa que el sistema origen exporta JSON mientras que el sistema destino solo acepta importaciones en CSV. Convertir la exportación aquí, revisar las cabeceras de columna que generó el aplanado y ajustar los nombres de campo según haga falta suele ser más rápido que escribir un script desechable para una migración puntual.

Consejos para una salida CSV limpia y errores habituales

La mayoría de resultados CSV que se ven mal se deben a uno de estos cinco motivos y no a un fallo en la lógica de conversión: una longitud de array inconsistente, un número que debería haberse quedado como texto, un delimitador que no coincide con lo que espera quien recibe el archivo, o un desajuste de codificación al abrirlo. Revisar el cuadro de salida CSV antes de descargar, sobre todo la fila de encabezado, es la forma más rápida de detectar cualquiera de estos problemas a tiempo.

Preguntas frecuentes

¿Cómo convierto JSON a CSV online?
Pega tu JSON, ya sea un objeto único o un array de objetos, en el cuadro de entrada y haz clic en "Convertir a CSV". La herramienta aplana cualquier objeto anidado en columnas con notación de punto, reúne todas las claves únicas que aparecen en tus registros y genera un CSV que puedes copiar o descargar en menos de un segundo, sin subir nada a ningún servidor.
¿Puede esta herramienta convertir JSON anidado con varios niveles de profundidad?
Sí, siempre que la casilla "Aplanar objetos anidados" esté marcada. Una estructura como {"usuario":{"direccion":{"ciudad":"Madrid"}}} se convierte en una columna llamada usuario.direccion.ciudad, y el conversor recorre recursivamente tantos niveles como tenga tu dato, así que una respuesta de API con tres o cuatro niveles de profundidad se aplana con la misma limpieza que una estructura simple.
¿Qué pasa si mis objetos JSON tienen claves distintas entre sí?
El conversor primero recorre todos los objetos de tu array y construye la unión de todas las claves que encuentra, no solo las del primer registro. Cualquier registro al que le falte una clave concreta recibe una celda vacía en esa columna en vez de desalinear la fila entera, así que tus columnas siempre cuadran aunque los registros sean inconsistentes.
¿Es seguro convertir datos sensibles con esta herramienta?
Sí. Tanto el análisis del JSON como la generación del CSV se ejecutan como JavaScript dentro de tu propia pestaña del navegador, y nada de lo que pegues se envía, se registra ni se guarda en ningún servidor. Eso hace que sea seguro convertir exportaciones de usuarios, datos de un CRM o cualquier información que no quieras que salga de tu equipo.
¿Por qué mi CSV descargado se ve mal al abrirlo en Excel?
Excel adivina tanto el delimitador como la codificación de texto cuando haces doble clic en un archivo .csv, y en muchos sistemas asume una página de códigos local en lugar de UTF-8, lo que convierte nombres con tilde como "José" o "Muñoz" en caracteres ilegibles. La solución fiable es importar el archivo desde Datos > Desde texto/CSV, donde puedes fijar la codificación en UTF-8 de forma explícita antes de que Excel muestre una sola celda.
¿Debería usar coma o punto y coma como delimitador?
Usa coma si el archivo lo va a abrir alguien con Excel configurado en inglés, ya que ese es el valor por defecto casi universal para CSV. Usa punto y coma si el archivo va destinado a una configuración regional en español, tanto en España como en gran parte de Latinoamérica, porque muchas de esas configuraciones regionales de Windows y Excel usan la coma como separador decimal, y en ese caso Excel espera el punto y coma para separar columnas.
¿Qué ocurre con un array de objetos, como una lista de productos de un pedido?
Cuando el aplanado está activado, la herramienta expande cada array de objetos usando notación de índice, de modo que items[0].precio e items[1].precio se convierten en columnas separadas en lugar de amontonarse en una sola celda. Un array de valores simples, como una lista de etiquetas, en cambio se une en una única celda separada por punto y coma, para no generar una columna distinta por cada posible etiqueta.
¿Existe un límite de tamaño para el archivo JSON que puedo convertir?
La herramienta en sí no impone ningún límite artificial, ya que todo el procesamiento ocurre en la memoria de tu propio navegador y no pasa por ninguna API con límite de peticiones. Arrays muy grandes, con decenas de miles de registros, se convierten en pocos segundos en un portátil normal, aunque el límite real termina siendo la memoria disponible en la pestaña de tu navegador.
¿Por qué algunas celdas de mi CSV aparecen entre comillas y otras no?
Un campo solo se envuelve en comillas cuando realmente lo necesita, es decir, cuando contiene el propio carácter delimitador, una comilla literal o un salto de línea. Un valor sencillo como "Ana" o "42" se deja sin comillas porque no hay nada dentro que pueda confundirse con el separador de columnas o el final de una fila.
¿Puedo convertir un único objeto JSON en lugar de un array?
Sí. Si pegas un solo objeto en vez de un array, la herramienta lo envuelve automáticamente en un array de un elemento antes de procesarlo, así que obtienes un CSV con una fila de encabezado y una fila de datos, usando exactamente las mismas reglas de aplanado y comillas que con un array de varios registros.

Herramientas de conversión de datos relacionadas

🔒 Privacidad 100% del lado del cliente

Todo el análisis del JSON y la generación del CSV ocurren <strong>enteramente en tu navegador</strong>. Ningún dato se sube nunca a ningún servidor. Tu JSON se queda en tu dispositivo en todo momento.