Saltar al contenido

Conversor de CSV a JSON

Pega CSV y obtén un arreglo JSON de objetos con las claves de tu fila de encabezado, o un arreglo de arreglos si no hay encabezado. Cambia la dirección para convertir un arreglo JSON de objetos planos de vuelta a CSV. Las comas entre comillas, las comillas dobles y los saltos de línea dentro de los campos se leen correctamente, y la conversión se ejecuta en tu navegador. Gratis, sin registro.

Dirección

Cómo usar el conversor de CSV a JSON

  1. 1. Elige una dirección. CSV → JSON es la opción por defecto; JSON → CSV espera un arreglo JSON de objetos planos.
  2. 2. Configura las opciones. El delimitador puede detectarse automáticamente o fijarse en coma, punto y coma o tabulación; en JSON → CSV, la detección automática escribe comas. En CSV → JSON también eliges una sangría de 2 espacios, 4 espacios o tabulación, y si la primera fila contiene encabezados.
  3. 3. Pega y convierte. Pulsa Convertir. Los problemas (una comilla sin cerrar, un JSON no válido, un arreglo que no está formado por objetos) aparecen como mensaje en lugar de resultado.
  4. 4. Copia o descarga. Copiar resultado copia la salida; el botón de descarga la guarda como data.json o data.csv.

Cómo se lee el CSV

El CSV parece sencillo y no lo es: el mismo archivo puede usar comas, punto y coma o tabulaciones, y un campo puede contener justo el carácter que separa los campos. La especificación más cercana es RFC 4180, que es informativa y no una norma. Dice que un campo que contiene una coma, unas comillas dobles o un salto de línea debe ir entre comillas dobles, y que una comilla doble dentro de ese campo se escribe como dos. El conversor sigue esas reglas y añade cierta flexibilidad:

  • Campos entre comillas. Un campo que empieza con comillas dobles llega hasta la comilla de cierre, así que puede contener delimitadores, saltos de línea y "" para una comilla literal. Una comilla que nunca se cierra detiene la conversión e indica la línea donde empezó.
  • Finales de línea. LF, CRLF y un CR suelto terminan una fila, y las líneas en blanco se omiten.
  • Detección del delimitador. En modo automático el conversor mira solo la primera línea y elige la coma, el punto y coma o la tabulación que aparezca más veces; en caso de empate gana la coma. Si la primera línea es inusual (una sola columna, o una fila de título), elige tú el delimitador. RFC 4180 solo contempla comas; los puntos y coma son habituales en los archivos exportados desde hojas de cálculo con configuración regional europea.
  • Todo es texto. El conversor no adivina tipos, así que 2020 se convierte en la cadena "2020", no en un número, y una celda vacía se convierte en "", no en null. Convierte los tipos después si tu código los necesita.

Ejemplo desarrollado

Encabezado

name,note,year

Fila 1

"Smith, Jane","Said ""hello""",2020

Fila 2

Lee,short

Resultado

Dos objetos. Smith, Jane tiene la nota Said "hello" y el año "2020"; Lee tiene la nota short y el año "".

La coma dentro de Smith, Jane permanece en un solo campo gracias a las comillas, y las comillas dobles se reducen a una. La fila de Lee tiene una celda menos, así que el año que falta se convierte en una cadena vacía; una fila con celdas adicionales pierde las extras, porque no hay encabezado que las nombre. Desmarca La primera fila son encabezados (genera objetos) y la misma entrada se convierte en un arreglo de arreglos —[["name","note","year"],…]— con las filas cortas tal cual.

Dos columnas con el mismo nombre de encabezado chocan: con dos columnas llamadas id, gana la posterior y se pierde la anterior, así que renombra una antes.

Volver atrás: de JSON a CSV

La dirección inversa espera un arreglo de nivel superior cuyos elementos son todos objetos. La fila de encabezado es la unión de todas las claves, en orden de primera aparición, así que objetos con claves distintas siguen alineados, y un valor que falta se deja vacío. Los números y los booleanos se escriben tal como aparecen, null se convierte en una celda vacía, y cualquier arreglo u objeto anidado se escribe en su celda como texto JSON y entre comillas. Si tus datos están anidados, aplánalos antes. Las celdas que contienen el delimitador, una comilla o un salto de línea se entrecomillan, duplicando las comillas, y las filas se unen con saltos de línea simples.

Aplicado a [{"name":"Smith, Jane","year":2020,"tags":["a","b"]},{"name":"Doe","note":"two\nlines","year":null}], el conversor escribe el encabezado name,year,tags,note, una primera fila con "Smith, Jane", 2020 y el texto entrecomillado ["a","b"], y una segunda fila para Doe cuyos año y etiquetas están vacíos y cuya nota es el texto entrecomillado de dos líneas.

¿Qué herramienta necesitas?

QuieresUsa
Convertir entre CSV y un arreglo JSONEsta página
Ver CSV como tabla para copiarla como HTMLCSV a tabla
Crear una tabla Markdown a partir de CSVGenerador de tablas Markdown
Conservar solo algunas columnas de un CSVExtractor de columnas
Revisar o dar formato al propio JSONFormateador de JSON
Convertir YAML o XML a JSON y viceversaYAML a JSON, XML a JSON
Componer un CSV para un trabajoGenerador de tablas LaTeX, Generador de tablas APA

Preguntas frecuentes

¿Cómo convierto CSV a JSON?
Pega el CSV en el cuadro, deja seleccionada la opción CSV → JSON y pulsa Convertir. Con La primera fila son encabezados (genera objetos) marcada obtienes un arreglo de objetos con las claves de los encabezados; sin ella, obtienes un arreglo de arreglos. Copia el resultado o descárgalo como data.json.
¿El conversor gestiona campos entre comillas con comas o saltos de línea?
Sí. Un campo entre comillas dobles puede contener el delimitador, saltos de línea y comillas dobles escapadas, tal como describe RFC 4180. Una comilla de apertura sin cierre detiene la conversión e indica la línea donde empezó el campo.
¿Qué delimitadores son compatibles?
Coma, punto y coma y tabulación, detectados automáticamente en la primera línea o elegidos a mano. Los separados por barras verticales u otros delimitadores no son compatibles; un extractor de columnas o una sustitución de buscar y reemplazar puede cambiarlos antes por comas.
¿Por qué mis números son cadenas en el JSON?
El CSV no tiene tipos y el conversor no los adivina, así que cada valor sale como cadena y una celda vacía como cadena vacía. Así se conservan valores como 007 o 1e5 exactamente como se escribieron; convierte los tipos en tu propio código donde necesites números.
¿Cómo funciona JSON a CSV?
Necesita un arreglo JSON de objetos. Cada objeto se convierte en una fila, las columnas son todas las claves que aparecen en cualquier objeto, y los objetos o arreglos anidados se escriben en su celda como texto JSON. El JSON no válido se notifica con un número de línea cuando el analizador del navegador da una posición.
¿Por qué mi CSV se abre mal en Excel después de convertirlo?
El archivo es UTF-8 sin marca de orden de bytes y usa el delimitador que elegiste, así que Excel, en una región que espera punto y coma, puede poner todo en una columna, y los caracteres no ingleses pueden necesitar que el asistente de importación use UTF-8. Elegir el delimitador de punto y coma suele solucionar el primer problema.
¿Se suben mis datos a algún sitio?
No. Ambas direcciones se ejecutan en tu navegador, y el texto que pegas no se envía a CitationEasy. La descarga se genera en local.

Herramientas relacionadas

Más en Datos, marcado y código