Convertir CSV y JSON

Una tabla en un array JSON y de vuelta, contando con las comillas, el punto y coma y la hoja de cálculo española.

2 registros con 3 columnas en JSON.

Resultado
[ { "Nombre": "Ana", "Ciudad": "Madrid", "Edad": "34" }, { "Nombre": "Bernardo", "Ciudad": "Alcalá de Henares", "Edad": "41" } ]
Registros
2
Columnas
3
Claves
Nombre, Ciudad, Edad
Aviso
Todos los valores quedan como texto para conservar ceros iniciales y decimales.

El CSV es el idioma de la hoja de cálculo y el JSON el de las interfaces. Pasar de uno a otro es cosa de todos los días, y tropieza siempre con dos detalles: el separador y las comillas.

En España Excel separa con punto y coma, porque la coma está ocupada como separador decimal. Un archivo salido de un sistema americano se abre aquí, por tanto, como una única columna.

Para qué sirven las comillas

Si un campo contiene el propio separador, un salto de línea o unas comillas, se encierra entre comillas. Unas comillas dentro del campo se duplican: así lo prescribe el RFC 4180 y así lo hacen todos los programas extendidos.

Quien lo olvida al construir un CSV genera archivos que se rompen con el primer nombre de empresa que lleve una coma. Esta herramienta pone las comillas sola al generar y las interpreta bien al leer.

Cuándo conviene más el JSON

El CSV solo conoce texto en una cuadrícula plana: sin tipos, sin anidamiento y sin distinguir un valor vacío de una cadena vacía. En cuanto los datos tienen estructura —una dirección dentro del cliente, varias líneas dentro de un pedido— el CSV se convierte en una muleta.

Al revés, un JSON solo se puede pasar a CSV con sentido si es un array de objetos planos. Los valores anidados acaban como texto en su celda, y eso ya no se deshace al volver.

Preguntas frecuentes

¿Por qué Excel me muestra mal los acentos?
Porque en Windows Excel lee un CSV sin marca de orden de bytes usando la codificación del sistema y no UTF-8. Se arregla importando por «Datos → Obtener datos de texto/CSV» y eligiendo UTF-8 a mano, o generando un archivo que empiece por la marca de orden de bytes.
¿Se conservan los ceros a la izquierda?
En el archivo sí, en Excel no: interpreta 00123 como número y se come los ceros, igual que con los códigos postales y las referencias de artículo. Al importar hay que declarar la columna como texto; el CSV en sí no tiene la culpa.
¿Se detectan los números como números?
Al pasar a JSON todos los valores se quedan aquí como texto. Es la variante sin pérdidas: una detección automática convertiría las referencias en números, perdería los ceros iniciales y haría de 1,5 un 15 o un 1.5 según el país. Quien necesite tipos los pone después a propósito.

Fuentes

Cifras vigentes en 2026. Los resultados son orientativos y no sustituyen a una asesoría laboral o fiscal.

También te puede servir