Desarrollo

Convertir JSON a CSV

Pega un arreglo de objetos y recibes un CSV. Las columnas son la unión de todas las claves que aparecen, en el orden en que se ven por primera vez, así que las filas a las que les falta un campo quedan con un hueco en blanco en lugar de correr todo lo demás hacia un lado. El entrecomillado sigue la RFC 4180: los campos que contienen el delimitador, una comilla o un salto de línea van entre comillas, y las comillas internas se duplican.

Excel espera punto y coma en las configuraciones regionales que usan la coma como separador decimal. Si tus campos llegan todos apretados en la celda A1, este es el motivo.

Salida

El aplanado convierte address.city en un campo propio. Los arreglos se quedan como texto JSON en una sola celda en cualquiera de los dos casos.

0Filas
0Columnas
0Tamaño del CSV

El CSV es una costumbre, no un estándar

La RFC 4180 se publicó en 2005 y se describe a sí misma como informativa. Documenta lo que la mayoría ya venía haciendo, en vez de dictar lo que había que hacer, y bastante software la ignora. Por eso tantas veces hacen falta tres intentos para importar un CSV. Las reglas que sigue esta herramienta son las de la RFC, porque son lo más parecido que hay a un denominador común:

Aquí también se entrecomillan los campos con espacios al principio o al final. La RFC no lo exige, pero muchos parsers recortan los espacios que no van entre comillas y casi nunca es lo que quieres.

Convertir un árbol en un rectángulo

Esta es la parte que no se puede hacer limpiamente, solo se puede elegir. El JSON anida; el CSV no. Tres casos y qué pasa con cada uno:

Las columnas son la unión de todas las claves de todas las filas, en el orden en que se ven por primera vez. A la fila a la que le falta una clave le toca una celda vacía, y por eso la cantidad de filas y de columnas se mantiene estable aunque tus objetos no lo sean.

Los problemas de Excel

Entre un archivo CSV correcto y una hoja de cálculo correcta hay tres cosas que salen mal, y ninguna es culpa del archivo.

La codificación. Excel en Windows todavía lee un .csv normal con la página de códigos heredada del sistema, así que José llega como José. Una marca de orden de bytes UTF-8 al principio del archivo le dice otra cosa, y para eso está esa casilla, que viene marcada. El BOM solo entra en el archivo descargado, nunca en el texto copiado, porque todo lo demás en el mundo lo trata como basura.

Los tipos. Abrir un CSV con doble clic deja que la hoja de cálculo adivine. Los ceros a la izquierda desaparecen, así que el código postal 01234 se vuelve 1234. Los identificadores numéricos largos pasan a notación científica y pierden sus últimos dígitos. Cualquier cosa que se parezca vagamente a una fecha se convierte en fecha, con el formato de la configuración regional. Mejor usa Datos y después Desde texto/CSV, y marca como Texto las columnas problemáticas durante la importación.

Las fórmulas. Una celda cuyo texto empieza con =, +, @ o una tabulación se evalúa como fórmula en lugar de mostrarse. Eso es inyección de CSV, y es una vía de ataque real cuando los datos vinieron de usuarios. Esta herramienta cuenta esos campos y te avisa, pero no los neutraliza, porque la solución habitual — anteponer un apóstrofo — arruina el valor para todo lo que lea el mismo archivo y no sea una hoja de cálculo. Decide según a dónde va el archivo.

Lo que falta

No hay streaming. El JSON, el valor ya analizado y el CSV terminado están todos en memoria al mismo tiempo, así que unos pocos megabytes se manejan cómodos y cien no. Los números se escriben tal como los imprime JavaScript, lo que significa que un entero más allá de 2^53 ya perdió precisión antes de llegar a esta herramienta. Y tanto null como la cadena vacía salen como una celda vacía: el CSV no tiene forma de distinguirlos, así que esa diferencia no sobrevive al viaje.

Preguntas frecuentes

¿Qué forma tiene que tener mi JSON?

Lo normal es un arreglo de objetos, un objeto por fila. Un solo objeto también funciona y produce una fila. Un arreglo de valores sueltos se convierte en una tabla de una sola columna encabezada "value". Lo demás no tiene filas adentro y se rechaza.

¿Por qué mis columnas quedaron todas apretadas en la celda A1?

Tu hoja de cálculo espera otro delimitador. Excel sigue el separador de listas del sistema, que en gran parte de Europa y de América Latina es el punto y coma. Cambia el delimitador a punto y coma y vuelve a abrir el archivo.

¿Conviene dejar el BOM UTF-8?

Déjalo si el archivo se va a abrir en Excel en Windows. Quítalo si el archivo va a un script, a un cargador de base de datos o a un pipeline de Unix, donde esos tres bytes de más pueden aparecer pegados al nombre de la primera columna.

¿Puedo obtener una fila por cada elemento de un arreglo anidado?

Aquí no. Eso significaría duplicar todos los campos del padre en las filas del hijo, y la herramienta no puede saber qué arreglo querías expandir. Divide los datos en una tabla padre y una tabla hija con un id en común, y convierte cada una.

¿Los datos se envían a algún servidor?

No. El análisis, el aplanado, el entrecomillado y la descarga ocurren en esta pestaña. El archivo descargado se arma a partir de un blob en memoria y nunca sale de tu computadora.

Última actualización 19 de septiembre de 2026