Conversor de JSON a CSV

Convierte un array JSON de objetos en una tabla CSV, enteramente en tu navegador.

Se ejecuta enteramente en tu navegador. No se sube, registra ni guarda nada.

Pega una respuesta de API y obtén una tabla que puedes abrir en una hoja de cálculo. Todas las claves que aparezcan en cualquier punto del array pasan a ser una columna, y ocurre en tu navegador, así que un payload lleno de datos personales no sale nunca de tu máquina.

Cómo funciona

El documento tiene que ser un array de objetos, porque eso es una tabla: un objeto por fila. Un objeto suelto se acepta como una tabla de una fila. Cualquier otra cosa —un número a secas, una cadena, un array de cadenas— no tiene filas y se indica en lugar de adivinarla.

La cabecera es la unión de todas las claves del array, en el orden en que se vio cada una por primera vez, y no simplemente las claves del primer objeto. Un campo opcional que falte en el primer registro es exactamente la forma que tiene una respuesta de API real, y tomar solo las claves de la primera fila dejaría esa columna fuera para todas las filas.

Un objeto o un array anidados se escriben en su celda como JSON en lugar de repartirse en columnas extra. Aplanar queda más ordenado y no sobrevive al viaje de vuelta: dos registros anidados de forma distinta producirían conjuntos de columnas distintos, y una clave que ya contenga un punto se vuelve indistinguible de una anidada.

Null pasa a ser una celda vacía, true y false pasan a ser las palabras true y false, y los números se escriben como los escribiría JSON, así que un valor no cambia de forma al salir.

Ejemplos

Caso Entrada Resultado
Una clave que falta en el primer registro también recibe columna [{"id": 1}, {"id": 2, "note": "late"}] id,note 1, 2,late

Preguntas frecuentes

¿Por qué mi objeto anidado aparece como JSON en una celda?

Porque aplanarlo no sería reversible. Si un registro anida tres niveles y el siguiente anida uno, aplanar produce dos conjuntos de columnas distintos a partir del mismo array; y una clave que ya contenga un punto se vuelve imposible de distinguir de una ruta anidada. Mantener la estructura en la celda hace que al convertir de vuelta obtengas lo que tenías.

¿Lo abrirá bien Excel?

Depende más de tu configuración regional que del archivo. Una hoja de cálculo en una configuración que escribe los decimales con coma espera el punto y coma como separador, que es por lo que está en la lista de delimitadores. Si un archivo separado por comas se abre como una sola columna por fila, esa es la razón.

Mi array está anidado dentro de un objeto. ¿Por qué falla?

Porque el documento en su conjunto no es una lista de filas. Una respuesta de API de la forma {"data": [...]} necesita que pegues el array en sí, no el envoltorio. El envoltorio tiene exactamente una fila —él mismo— y convertirlo produciría una tabla con una celda que lo contuviera todo.

¿Se sube mi documento a alguna parte?

No. La página carga un pequeño script que convierte en local. Puedes desconectarte de la red una vez cargada la página y la herramienta sigue funcionando.

Conviene saber

  • Todo ocurre en tu navegador. El documento no se sube, no se registra y no se almacena.
  • El entrecomillado sigue el RFC 4180: un campo se entrecomilla cuando contiene el delimitador, una comilla doble o un salto de línea, y una comilla doble dentro de un campo entrecomillado se escribe dos veces. Las barras invertidas son caracteres corrientes y no se tratan nunca como escapes.

Fuentes

Todas las herramientas de Código