Conversor CSV ↔ JSON

Convierte CSV de hojas de cálculo en arrays JSON o vuelve a pasar JSON a CSV, con detección automática del delimitador. Los datos se quedan en tu navegador.

Funciona 100% en tu navegador. Nada de lo que pegas se sube ni se guarda.
Entrada CSV o JSON
Resultado
Listo.

Cómo usar el conversor CSV ↔ JSON

  1. Selecciona la dirección: CSV → JSON o JSON → CSV.
  2. Pega tus datos. En el caso del CSV, la primera fila se trata como la fila de encabezados y el delimitador se detecta automáticamente.
  3. Revisa la salida. Activa la conversión de tipos si quieres números y booleanos en lugar de cadenas de texto.
  4. Copia el resultado o pégalo en tu código, en una petición a una API o en una hoja de cálculo.

Todo el análisis se hace en tu navegador. Los datos de tu hoja de cálculo no se suben ni se almacenan en ningún sitio, lo que hace que la herramienta sea segura para listas de clientes y exportaciones internas.

Cómo se convierte CSV en JSON

CSV (valores separados por comas) es una tabla plana: un registro por línea, con los campos separados por un delimitador. Cuando hay una fila de encabezados, cada encabezado se convierte en una clave y cada fila siguiente en un objeto JSON. Todo el archivo pasa a ser un array de objetos:

id,name,city
1,Ada,London
2,Linus,Helsinki
[
  {"id": "1", "name": "Ada", "city": "London"},
  {"id": "2", "name": "Linus", "city": "Helsinki"}
]

Convertir JSON de nuevo en CSV funciona a la inversa: el conversor reúne las claves de los objetos para formar la fila de encabezados y después escribe una línea por objeto. Los objetos a los que les falta una clave reciben una celda vacía.

Detección automática del delimitador

A pesar del nombre, los archivos «CSV» suelen usar otros separadores. Los programas de hoja de cálculo en configuraciones regionales que usan la coma como separador decimal suelen exportar con punto y coma, y muchas herramientas de bases de datos exportan valores separados por tabuladores (TSV). El conversor inspecciona las primeras líneas y elige el delimitador (coma, punto y coma, tabulador o barra vertical) que divide las filas en un número coherente de columnas.

Campos entrecomillados (RFC 4180)

RFC 4180 es lo más parecido que tiene el CSV a un estándar. Sus reglas clave: un campo que contenga el delimitador, unas comillas dobles o un salto de línea debe ir entre comillas dobles, y unas comillas dobles dentro de un campo entrecomillado se escapan duplicándolas.

name,comment
"Smith, John","He said ""hello"""
"Lee","Line one
Line two"

Esto produce dos registros: el primero con el nombre Smith, John y el comentario He said "hello", y el segundo con un comentario que contiene un salto de línea real.

Errores comunes

El JSON anidado no cabe en una tabla plana

El CSV no tiene el concepto de anidamiento. Los objetos anidados suelen aplanarse con notación de puntos, pero los arrays no tienen una única representación evidente:

{"id": 1, "address": {"city": "Oslo", "zip": "0150"}, "tags": ["a", "b"]}

id,address.city,address.zip,tags
1,Oslo,0150,"[""a"",""b""]"

Los arrays se serializan como texto JSON dentro de una celda. Si tus datos están muy anidados, plantéate si el CSV es realmente el destino adecuado.

La conversión de tipos puede destruir datos

Todo valor CSV es texto. La conversión automática de tipos es cómoda, pero convierte códigos postales como 0150 en 150, números de teléfono en números e ID largos en valores redondeados (los números de JavaScript solo son exactos hasta 253). Deja desactivada la conversión de tipos en las columnas de identificadores.

Marcas de orden de bytes y saltos de línea

Los archivos que Excel guarda como «CSV UTF-8» empiezan con una marca de orden de bytes (BOM) invisible que puede acabar pegada al nombre del primer encabezado. RFC 4180 especifica saltos de línea CRLF, pero los archivos con solo LF son habituales y en general se aceptan.

Consejos

  • Asegúrate de que los nombres de los encabezados sean únicos; los encabezados duplicados se sobrescriben entre sí como claves JSON.
  • Elimina los espacios después de los delimitadores (a, b) si tu origen los añade, o pasarán a formar parte del valor.
  • Valida el JSON resultante con el Formateador y validador de JSON, o conviértelo en YAML con el Conversor JSON ↔ YAML.

Preguntas frecuentes

¿Qué pasa si mi CSV no tiene fila de encabezados?

Sin encabezados no hay nombres de clave naturales. Los conversores entonces devuelven un array de arrays o generan claves provisionales como column1, column2. Añadir antes una fila de encabezados da un JSON más limpio.

¿Por qué todos mis números son cadenas de texto?

El CSV guarda todo como texto, así que una conversión fiel conserva las cadenas. Activa la conversión de tipos para obtener números, true/false y null, pero ten cuidado con los valores que solo parecen numéricos.

¿Puedo convertir un objeto JSON en lugar de un array?

Un archivo CSV representa muchas filas, así que la entrada natural es un array de objetos. Un único objeto se convierte en una sola fila de datos. Si tus registros están dentro de una propiedad como {"data": [...]}, pega el array interior.

¿Cómo abro el CSV correctamente en Excel?

Usa la función de importación de datos de Excel en lugar de hacer doble clic, para poder elegir el delimitador y la codificación y marcar las columnas de ID como texto y conservar los ceros iniciales.

Actualizado

Copiado al portapapeles