Conversor de CSV a JSON

Convierte CSV a JSON y JSON a CSV, con vista previa en tabla.

Acerca de esta herramienta

Pega CSV para obtener un array de objetos JSON, o pega JSON para obtener CSV. El delimitador se detecta automáticamente (coma, punto y coma, tabulación o barra vertical), se gestionan los campos entre comillas y los saltos de línea dentro de comillas, y los objetos JSON anidados se aplanan en nombres de columna con puntos.

Cómo se usa

  1. Pega un CSV exportado de una hoja de cálculo o una base de datos, o pega un array JSON de objetos.
  2. El sentido y el delimitador (coma, punto y coma, tabulación o barra vertical) se detectan automáticamente; cámbialos si hace falta.
  3. En CSV, elige si la primera fila es la cabecera y si los números y true/false se convierten en valores con tipo.
  4. Revisa la vista previa de la tabla y copia la salida.

Preguntas

Mi CSV de Excel usa punto y coma. ¿Funcionará?
Sí. Excel, en muchas configuraciones regionales europeas, guarda los CSV con punto y coma, y el delimitador se detecta a partir de los datos. También puedes elegirlo manualmente.
¿Cómo se tratan las comas o los saltos de línea dentro de un valor?
Los valores entre comillas dobles pueden contener el delimitador y saltos de línea, y unas comillas duplicadas ("") dentro de ellos representan un carácter de comillas, según define el RFC 4180.
¿Qué pasa con los objetos anidados al convertir JSON a CSV?
Se aplanan en nombres de columna con puntos, así que {"address": {"city": "Oslo"}} se convierte en una columna llamada address.city. Los arrays se escriben como texto JSON en una sola celda.
¿Se conservan los ceros a la izquierda y los números de teléfono?
Sí. Solo los números simples se convierten en números JSON, así que valores como 00123, +48 600 100 200 o ID muy largos se quedan como texto. Desactiva Números y booleanos para mantener todos los valores como texto.
¿Admite archivos CSV con finales de línea de Windows?
Sí. Se aceptan los finales de línea CRLF, LF y CR sueltos, así que un CSV guardado por Excel en Windows se analiza igual que uno generado con herramientas de Linux. Los saltos de línea dentro de valores entre comillas siguen formando parte del valor. El CSV generado a partir de JSON usa finales de línea LF.
¿Por qué dice que un campo entre comillas no se cierra nunca?
Un valor empieza con comillas dobles, pero no aparecen las comillas de cierre antes del final de la entrada, así que todo lo que viene después se convertiría en un solo campo. Busca el valor que empieza por " y añade las comillas de cierre que faltan, o quita las de apertura si el valor no debía ir entre comillas.
¿Puedo convertir TSV o celdas copiadas de una hoja de cálculo a JSON?
Sí. Al copiar un rango de celdas en Excel o Google Sheets, el portapapeles recibe texto separado por tabulaciones, y el delimitador de tabulación se detecta automáticamente. Pégalo en la entrada para obtener JSON sin guardar antes un archivo. Las exportaciones TSV de los clientes de bases de datos funcionan igual.

Cómo convertir CSV a JSON

La conversión de CSV a JSON convierte cada fila en un objeto cuyas claves salen de la fila de cabecera. Con la cabecera id,name,active, la línea 1,Ada Lovelace,true se convierte en {"id": 1, "name": "Ada Lovelace", "active": true}. Con Números y booleanos activado, los números simples, true, false y null se convierten en valores JSON con tipo. Desactívalo para que todos los valores sean cadenas. La vista previa de la tabla muestra las primeras 50 filas, así que puedes revisar las columnas antes de copiar.

Cuando un archivo CSV no tiene fila de cabecera, desactiva La primera fila es la cabecera y las claves pasan a ser column1, column2, etc. Los mismos nombres se usan para las celdas de cabecera vacías. Una fila con menos campos que la cabecera recibe cadenas vacías en las columnas que faltan, y los campos que sobran más allá de la cabecera se descartan. Una columna desplazada en la vista previa de la tabla suele indicar que un valor sin comillas contiene el delimitador.

Delimitadores de CSV y Excel

CSV no tiene un único delimitador. Excel usa el separador de listas de la configuración regional, así que en Alemania, Francia, Polonia y gran parte de Europa, donde la coma es el separador decimal, los archivos CSV usan punto y coma. Las exportaciones de bases de datos y las herramientas Unix suelen generar valores separados por tabulaciones (TSV), y algunos sistemas usan una barra vertical. El conversor prueba coma, punto y coma, tabulación y barra vertical, y elige el que da un número de columnas más uniforme en las primeras filas.

JSON a CSV escribe comas de forma predeterminada. Elige punto y coma si el archivo debe abrirse con doble clic en un Excel europeo, o Tabulación para pegar el resultado directamente en las celdas de una hoja de cálculo. Los valores que contienen el delimitador, comillas o saltos de línea se ponen entre comillas dobles automáticamente. Si las letras con tilde se ven mal cuando Excel abre el archivo descargado, impórtalo con Datos > Desde el texto/CSV y elige UTF-8, porque Excel puede suponer una codificación más antigua.

Cómo convertir un array JSON a CSV

JSON a CSV espera un array de objetos, como los elementos de una respuesta de API. Cada objeto se convierte en una fila, y las columnas son la unión de todas las claves en el orden en que aparecen por primera vez. Un objeto al que le falta una clave obtiene una celda vacía, y null también se convierte en una celda vacía. Un solo objeto produce un CSV de una fila, y un array de valores simples como [1, 2, 3] produce una columna llamada value.

Muchas API envuelven la lista en un sobre, como en {"data": [...], "page": 2}. Si lo conviertes directamente, obtienes una sola fila con toda la lista metida en una celda como texto JSON. Pega solo el array interior y, si cuesta ver la estructura, abre antes la respuesta en el Formateador JSON. Cuando el CSV vaya a importarse en una base de datos, revisa los nombres de columna: puede que haya que renombrar los que llevan puntos, como address.city.

¿Algo no funciona o un resultado parece incorrecto? Informar de un problema con esta herramienta