Blog
Español

Convertir JSON a CSV online — Arrays de objetos a CSV

Convierte un array de objetos JSON a CSV (aplanado, separadores, BOM para Excel)

Funciona en tu navegador · no se sube nada

Resultado CSV

Qué es

Los arrays JSON están por todas partes en el desarrollo, pero las hojas de cálculo se llevan mejor con CSV. Esta herramienta convierte un JSON con la forma [{...}, {...}] en un CSV con fila de cabecera. El resultado se actualiza mientras editas la entrada y también puedes descargarlo como archivo.

Cómo se usa

  1. Pega un array de objetos en la entrada. Un único objeto da una tabla de una sola fila.
  2. Elige el separador: coma, punto y coma, tabulador o barra vertical. Excel configurado en español (y en otros idiomas que usan la coma decimal) suele esperar punto y coma.
  3. Si vas a abrir el archivo en Excel, deja activado el BOM UTF-8 y pulsa Descargar CSV.
  4. Para pegarlo en otro programa, usa el botón Copiar.

Cómo funciona

  • El formato sigue la RFC 4180. Un valor que contiene el separador, una comilla doble o un salto de línea se encierra entre comillas dobles, y las comillas interiores se duplican. Las líneas terminan en CRLF.

  • La primera fila es la cabecera. Las columnas se reúnen de todas las filas, en el orden en que aparece cada clave por primera vez.

  • Los objetos anidados se aplanan con notación de puntos (a.b.c). Los arrays y los objetos vacíos van a una sola celda como texto JSON, por ejemplo ["a","b"]. Si una clave ya contiene un punto, no se podrá distinguir al convertir de vuelta.

  • null se convierte en una celda vacía, los booleanos quedan como true o false y los números usan la notación propia de JavaScript. Los enteros mayores que 9007199254740991 se redondean al leer el JSON, por eso se muestra un aviso.

  • Si los elementos del array no son objetos (números, cadenas, etc.), se genera una sola columna llamada value.

  • Los archivos van en UTF-8 y el BOM solo se añade al archivo descargado.

  • Límites de la conversión de ida y vuelta: null queda como celda vacía, así que en el CSV no se distingue de una cadena vacía. El CSV tampoco tiene tipos, de modo que al volver con la conversión de tipos activada las cadenas numéricas como "123" pasan a ser el número 123.

  • Inyección de fórmulas en Excel: una celda que empieza por =, +, - o @ puede ejecutarse como fórmula al abrir el archivo en Excel. Con datos de origen no fiable, activa la opción que antepone ’ a esos valores: la celda se muestra como texto (al abrir un CSV, el apóstrofo sigue visible en la celda), mientras que los números negativos normales como -12.5 siguen siendo números. Viene desactivada, así que tus valores no se modifican a menos que lo pidas.

Ejemplos

Entrada:

[{"name":"José Núñez","address":{"city":"Sevilla"},"tags":["a","b"]},{"name":"Bob"}]

Resultado:

name,address.city,tags
José Núñez,Sevilla,"[""a"",""b""]"
Bob,,

Preguntas frecuentes

Excel muestra caracteres raros al abrir el CSV. ¿Qué hago?

Excel suele leer un CSV en UTF-8 sin BOM con la página de códigos antigua del sistema, y entonces las tildes, la ñ o el texto en otros alfabetos salen como é y similares. Deja activada la opción Añadir BOM UTF-8 y usa Descargar CSV; el archivo empezará con los bytes EF BB BF y Excel lo leerá como UTF-8. El botón Copiar no incluye el BOM.

¿Cómo se convierte un JSON anidado en una tabla?

Un objeto dentro de otro se convierte en una columna con el nombre unido por puntos, como address.city. Un array va entero a una sola celda como texto JSON. Si las filas tienen claves distintas, las columnas se combinan en el orden en que aparecen por primera vez y las celdas que faltan quedan vacías.

¿Puedo volver a convertir el CSV en JSON?

Usa el conversor de CSV a JSON con la conversión de números y la reconstrucción del anidado activadas y obtendrás algo muy parecido al original. Eso sí, el CSV no guarda tipos, así que la cadena "123" y el número 123 se ven iguales.

¿Se suben mis datos a algún servidor?

No. La conversión se hace por completo en tu navegador y no se envía ni se guarda nada.

¿Echas en falta alguna herramienta?