Convertir CSV a JSON
Convierte CSV a JSON con detección automática de delimitador.
Los datos de tu hoja se quedan en tu equipoConvertir un archivo CSV a JSON online
Sobre este convertidor de CSV a JSON
Pega datos CSV (o el contenido de un archivo .csv) y obtén JSON: un arreglo de objetos usando la primera fila como claves, o un arreglo de arreglos. El parser maneja correctamente campos entre comillas, comas internas y comillas escapadas, y detecta automáticamente delimitadores de coma, punto y coma, tabulación o barra vertical. También puedes fijar el delimitador a mano cuando la detección se equivoca.
Como la conversión ocurre en tu navegador, es seguro para exportaciones con datos reales: reportes financieros, listas de clientes, volcados de bases de datos. No se sube nada.
El CSV sí tiene una especificación, el RFC 4180, aunque casi nada la cumpla al pie de la letra. Las reglas que de verdad importan son las de comillas: un campo que contenga el delimitador, una comilla doble o un salto de línea tiene que ir entre comillas dobles, y una comilla doble dentro de un campo entrecomillado se escapa duplicándola, así que Dijo "hola" se escribe "Dijo ""hola""". Los registros se separan con CRLF, el último puede o no terminar con salto de línea, los espacios cuentan como parte del campo y la fila de encabezado es opcional. El estándar registra el tipo text/csv con US-ASCII como juego de caracteres por defecto, y eso explica buena parte de por qué la codificación es el problema número uno de los CSV en la vida real.
Dos detalles que golpean sobre todo a quien trabaja con datos en español. El primero es el delimitador: Excel usa el "Separador de listas" de la configuración regional de Windows, y como en español la coma es el separador decimal, el separador de listas es el punto y coma. Por eso un archivo guardado desde Excel en español sale separado por ; aunque el formato en el menú se llame "CSV (delimitado por comas)". El segundo es el número: si tus cifras vienen como 1.234,56, no pueden convertirse en números JSON, porque la gramática del RFC 8259 solo acepta el punto como separador decimal. Quedan como texto y hay que normalizarlas antes de hacer cuentas.
Y algunas advertencias honestas sobre esta herramienta. Todos los valores salen como cadenas JSON —"34", no 34— porque el CSV no lleva información de tipos, y adivinar es justo lo que destruye los ceros a la izquierda de códigos postales, teléfonos y números de parte. Las columnas con el mismo nombre se colapsan en la última, porque un objeto JSON no puede tener dos claves iguales. Las filas con menos campos que el encabezado se rellenan con cadenas vacías y las de más se recortan. La detección automática solo mira la primera línea y cuenta caracteres sin respetar las comillas, así que un encabezado como "Apellido, Nombre";Edad puede engañarla: si la salida se ve mal, elige el delimitador a mano. Para archivos de cientos de megabytes, salida con tipos, o CSV desordenados donde quieras que te reporten las filas irregulares en vez de rellenarlas, usa el módulo csv de Python o read_csv de DuckDB.
Por qué tu CSV se abre mal en Excel: punto y coma y tildes
Excel no usa siempre la coma. Toma el carácter del "Separador de listas" de la configuración regional de Windows, y en español ese separador es el punto y coma, porque la coma ya está ocupada como separador decimal. De ahí sale la escena de siempre: guardas como "CSV (delimitado por comas)", el archivo sale con ;, y quien lo abre en un sistema en inglés lo ve todo apretujado en una sola columna. Puedes cambiarlo en Configuración regional > Configuración adicional > Números > Separador de listas, pero ojo: ese cambio es global y afecta a todos los programas del equipo.
La segunda mitad del problema son las tildes. Excel abre un .csv con la página de códigos del sistema (Windows-1252 en español) salvo que el archivo empiece con la marca BOM de UTF-8, que son los bytes EF BB BF y es lo que escribe el formato "CSV UTF-8 (delimitado por comas)". Sin esa marca, un archivo UTF-8 se lee byte a byte como si fuera Windows-1252 y aparece el clásico revoltijo: ñ en vez de ñ, á en vez de á, é en vez de é, ó en vez de ó, ¿ en vez de ¿. No es azar: la ñ ocupa dos bytes en UTF-8 (C3 B1) y esos dos bytes son à y ± en Windows-1252. La solución es volver a abrir el archivo con la codificación correcta, nunca buscar y reemplazar.
- En Excel, ve a Datos > Obtener datos > Desde un archivo > Desde texto/CSV, en vez de abrir el archivo con doble clic.
- En el cuadro de vista previa, pon "Origen del archivo" en UTF-8 (aparece como "65001: Unicode (UTF-8)").
- Pon "Delimitador" en el carácter que realmente usa el archivo: coma, punto y coma o tabulación.
- Revisa la cuadrícula de vista previa y pulsa Cargar.
Los nombres exactos de los menús cambian un poco entre versiones, pero la ruta es siempre la misma: importar en vez de abrir. Existe además un atajo muy usado: escribir sep=; en la primerísima línea del archivo. Excel lo lee como instrucción, usa ese delimitador y oculta la línea. Es una extensión de Excel, no está en el RFC 4180, y cualquier otro parser —incluido el de esta página— la leerá como una fila más de datos. Úsalo solo para archivos que nadie más va a procesar.
Y las reglas de comillas, que son las mismas en cualquier idioma y donde se rompen casi todos los CSV:
| El valor que quieres | Cómo debe escribirse | Por qué |
|---|---|---|
| Ana | Ana | No tiene delimitador, comilla ni salto de línea: las comillas son opcionales. |
| Ana; Luis | "Ana; Luis" | Contiene el delimitador, así que el campo va entre comillas. |
| Dijo "hola" | "Dijo ""hola""" | Una comilla doble dentro de un campo entrecomillado se escapa duplicándola. |
| Dos líneas en una celda | "línea uno⏎línea dos" | Un salto de línea solo es legal dentro de un campo si el campo va entre comillas. |
| (vacío) | nada, o "" | Ambos se leen como cadena vacía. El CSV no distingue vacío de NULL. |
| 1.234,56 | "1.234,56" | Con separador decimal de coma, el número lleva el delimitador dentro: hay que entrecomillarlo. |
| C:\ruta\archivo | C:\ruta\archivo | La barra invertida no escapa nada en CSV. Lo único que escapa es la comilla duplicada. |
Preguntas frecuentes
¿Soporta archivos separados por punto y coma?
Sí. El delimitador se detecta automáticamente (coma, punto y coma, tabulación o barra vertical), y puedes cambiarlo manualmente.
¿Cómo se eligen las claves del JSON?
Con "La primera fila es encabezado" activado, los nombres de columna de la primera fila se convierten en las claves. Desactívalo para obtener arreglos simples.
¿Hay límite de tamaño de archivo?
Solo la memoria de tu navegador. Archivos de decenas de megabytes funcionan bien en un equipo típico.