Convertidor de JSON a CSV
Pega tu JSON y conviértelo al instante en formato CSV. Gestiona objetos anidados, arrays y datasets grandes. 100% local, tus datos nunca salen de tu navegador.
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
- 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.
- 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.
- 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.
- 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.
- 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.
- Delimitador incrustado.
Pérez, Juanse convierte en"Pérez, Juan"cuando el delimitador es una coma, así que la coma dentro del nombre no se confunde con un límite de columna. - Comillas incrustadas. Un valor como
Dijo "hola"se convierte en"Dijo ""hola""": todo el campo queda envuelto en comillas, y cada comilla interna se duplica para que una hoja de cálculo pueda distinguirla de las comillas que marcan los bordes del campo. - Saltos de línea incrustados. Una dirección de varias líneas guardada como una sola cadena JSON, con un salto de línea real en medio, también se envuelve en comillas. Eso permite que el campo ocupe legítimamente más de una línea en el texto CSV en bruto mientras cualquier aplicación de hoja de cálculo lo sigue leyendo como una sola celda en lugar de dos filas distintas.
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
- Ten cuidado con la explosión de columnas en arrays largos de objetos. Si un registro tiene un array de cincuenta líneas de pedido y otro tiene tres, el aplanado genera hasta cincuenta grupos de columnas
items[N].campo, la mayoría vacías para los registros más cortos. Cuando los arrays varían mucho de longitud entre tus datos, considera desmarcar "Aplanar objetos anidados" para que cada array se quede como una única cadena JSON en una sola celda. - Números que necesitan seguir siendo texto. Un código postal, un teléfono o un identificador guardado como cadena JSON, por ejemplo
"00501", llega al CSV como texto y conserva su cero inicial. Si Excel más adelante reformatea esa columna como número por su cuenta y elimina el cero inicial, configura el formato de esa columna como Texto antes o durante la importación en lugar de después. - Los valores nulos y las claves ausentes se convierten en celdas vacías, no en la palabra "null". Eso mantiene el CSV limpio para filtrar y ordenar, pero también significa que no puedes distinguir visualmente "puesto a null a propósito" de "la clave directamente no existía" una vez que el dato está en formato de hoja de cálculo; si esa diferencia te importa, revisa el JSON original antes de convertir.
- Vuelve a comprobar el delimitador después de pegar un dataset nuevo. El desplegable se queda en lo último que seleccionaste, así que si convertiste un archivo con punto y coma para un colega y luego pegas un dataset distinto, conviene confirmar que el delimitador sigue siendo el adecuado para quién o qué va a abrir el próximo archivo.
- Los arrays muy grandes funcionan igual de bien, pero vigila tu pestaña del navegador. No hay ningún límite fijo dentro de la herramienta, pero un array JSON con decenas de miles de registros muy anidados usará bastante más memoria que uno pequeño; si la pestaña empieza a ir lenta, convertir los datos en lotes más pequeños funciona igual de bien.
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
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.