También disponible en: English · Português · Français · العربية
Convertir CSV a JSON
Pega tu CSV, elige el delimitador y obtén JSON válido, con avisos de filas irregulares, comillas sin cerrar y números que un double no puede guardar.
¿Qué es un convertidor de CSV a JSON?
Para convertir CSV a JSON solo hace falta pegar el texto separado por comas: esta herramienta lee cada fila, la contrasta con el delimitador que detecta automáticamente y genera un array de objetos JSON, sin que el archivo salga nunca de tu navegador. El primer ajuste real es el delimitador: la coma es la opción más habitual, pero el selector también ofrece punto y coma, tabulador y barra vertical, y arranca ya puesto en el que la propia herramienta ha detectado en tu texto. La casilla de encabezados viene activada porque es lo normal en una exportación de hoja de cálculo, y cada nombre de columna pasa a ser la clave de cada objeto del array resultante.
La casilla de convertir números y booleanos viene desactivada a propósito —se explica por qué más abajo—, así que por defecto cada valor llega al JSON como cadena de texto, tal como estaba escrito en el CSV. Además de convertir, la herramienta informa del número de filas y columnas que ha leído, y señala tres problemas que rara vez aparecen en un CSV de juguete pero sí en uno real: filas cuyo número de campos no coincide con el de la cabecera, un campo entre comillas que nunca se cierra, y números que un double de JavaScript no puede guardar sin perder dígitos.
Cómo se usa
- Pega tu CSV Copia las filas de tu hoja de cálculo o exportación y pégalas en el panel de arriba; la herramienta detecta el delimitador automáticamente y muestra cuántas filas y columnas ha leído.
- Revisa el delimitador, la cabecera y los avisos Cambia el delimitador si no es el que esperabas, decide si la primera fila es de encabezados y comprueba los avisos de filas irregulares, comillas sin cerrar o números demasiado largos.
- Elige la sangría y copia el JSON Selecciona 2 espacios, 4 espacios, tabulador o minificado según dónde vaya a usarse el resultado, y pulsa Copiar para llevarlo al portapapeles.
Por qué analizar CSV es más difícil de lo que parece
No existe un estándar de CSV. El RFC 4180 se publicó en 2005 como descripción de lo que ya hacía la gente, no como una especificación de obligado cumplimiento, así que todo archivo CSV real es una conjetura sobre qué dialecto lo generó. Buena parte de Europa usa el punto y coma como delimitador, precisamente porque la coma es el separador decimal en esas mismas hojas de cálculo; también aparecen tabuladores y barras verticales según la herramienta de origen. Por eso el delimitador de esta página es un control que tú ajustas, y no una suposición fija que la herramienta te impone.
Partir el texto por comas y saltos de línea es lo que hace casi cualquier analizador de una sola línea, y es justo lo que corrompe un archivo real en cuanto aparece una dirección con coma, un comentario de varias líneas o una comilla dentro de un campo entrecomillado. Por eso el analizador de esta herramienta es una máquina de estados que sigue si está dentro o fuera de comillas antes de decidir qué significa cada coma o cada salto de línea. Se ha comprobado que un campo entrecomillado con una coma dentro sigue siendo un solo campo, que un salto de línea entre comillas no parte la fila en dos, y que una comilla duplicada se convierte en una comilla de verdad.
El analizador se puso a prueba contra Papa Parse, una biblioteca de CSV consolidada que se instaló solo para la comparación y se desinstaló en cuanto terminó: 18 documentos de prueba, coincidencia exacta en los 18. Aparte, se generaron 2.000 tablas al azar, se escribieron con el propio entrecomillado de la herramienta y se volvieron a leer con ella misma: las 2.000 volvieron idénticas a como empezaron. La detección automática del delimitador no cuenta apariciones, sino que busca cuál produce el número de campos más coherente fila tras fila, porque contar comas elegiría mal cuando una de ellas vive dentro de un campo entrecomillado.
El problema más importante de convertir CSV a JSON es el de los números, y las exportaciones de hojas de cálculo están llenas de él: 007 puede ser un código postal o un número de pedido que se convertiría en 7, un teléfono con prefijo no es una suma, y un punto final ni siquiera es un número JSON válido. Por eso la conversión de tipos es opcional y, aun activada, solo convierte los valores escritos exactamente como JSON escribe los números. Hay un límite todavía más silencioso: analizar el identificador 12345678901234567890 con el propio JSON del navegador devuelve 12345678901234567000, porque un double solo guarda unos 17 dígitos significativos y los últimos cuatro se sustituyen sin avisar. Esta herramienta conserva esos dígitos tal como se escribieron, de principio a fin, y los señala para que sepas que el siguiente programa que toque ese identificador quizá no tenga el mismo cuidado.
Limitaciones honestas
Hay dos cosas que un CSV no puede representar, y las dos están comprobadas: una fila final vacía es indistinguible de un simple salto de línea al final del archivo, y un campo vacío no se puede distinguir de forma fiable de una cadena vacía entre comillas una vez que se ha escrito a disco. Así que una ida y vuelta perfectamente fiel entre CSV y JSON no siempre es posible, y cualquier herramienta que prometa lo contrario está adivinando.
El entrecomillado mal formado tampoco tiene una respuesta correcta. El RFC 4180 no contempla que una comilla cierre un campo a la mitad, así que los lectores no se ponen de acuerdo: esta herramienta cierra la parte entrecomillada y devuelve tres campos donde Papa Parse sigue consumiendo caracteres y devuelve dos. Se ha comprobado que de verdad difieren, así que esta página documenta su elección en vez de fingir que existe un estándar que la resuelva.
La conversión de números y booleanos queda desactivada por defecto porque es una decisión que solo tú puedes tomar con el contexto de tus datos delante: la herramienta no sabe si esa columna que empieza por cero es un código postal o una cantidad. Y conviene recordar que esta página controla lo que escribe, no lo que ocurre después. El camino contrario está en convertir JSON a CSV, que tiene sus propias decisiones que tomar.
¿Por qué es gratis?
Es gratis porque el análisis y la conversión ocurren enteramente en tu navegador, en tu propio dispositivo: no hay un servidor de por medio que reciba el CSV, así que no hace falta cuenta, ni marca de agua, ni un límite de filas pensado para empujarte a pagar. Eso también significa que una exportación de clientes, una lista de pedidos o un volcado de base de datos con información sensible no sale nunca de tu máquina — no porque lo prometa una política de privacidad, sino porque la arquitectura no tiene ningún sitio adonde enviarlo.