Convertir CSV a JSON

Aquí puedes convertir CSV a JSON gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Sin pérdida No se pierde nada. JSON contiene exactamente lo que contenía CSV.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

Para qué se convierte un CSV a JSON

Casi siempre porque hay algo en medio de una tarea. Una exportación de la base de datos que tiene que entrar como archivo de semillas. Una hoja de cálculo que un compañero envió y que ahora debe ser un fixture de pruebas. Una tabla que hay que convertir en el cuerpo de una petición a una API que sólo habla JSON.

En ninguno de esos casos el problema es entender los formatos: el problema es la forma exacta que sale al otro lado y si los tipos van a sobrevivir. Esta página trata de eso y no de explicar qué es una coma.

La salida: un array de objetos con las claves de la cabecera

La primera fila del CSV se convierte en las claves y cada fila siguiente en un objeto. Un archivo con `id,nombre,email` y tres filas produce un array de tres objetos, cada uno con esas tres claves. Es la forma que espera prácticamente cualquier consumidor de JSON, y es la que se puede recorrer con un bucle sin pensar.

Lo que no produce es un objeto indexado por identificador, ni una estructura anidada, ni un JSON por línea. Si necesitas alguna de esas, la transformación es de una línea sobre el array una vez lo tienes, y hacerla ahí es más fiable que buscar un conversor que la haga por ti de una forma que no puedes inspeccionar.

La inferencia de tipos, y dónde te va a doler

Un CSV no tiene tipos: todo son caracteres hasta que algo decide otra cosa. La conversión infiere números, booleanos y valores nulos porque es lo que casi siempre se quiere, y hay tres casos en los que esa inferencia es exactamente lo contrario de lo que necesitas.

Los códigos postales que empiezan por cero pierden el cero. Las referencias largas de pedido o de tarjeta pasan a coma flotante y se les va la última cifra. Y una columna con valores como `TRUE` o `NO` acaba en booleanos cuando eran texto. Un identificador no es un número por estar hecho de dígitos, y si la columna es una clave, conviene comprobarla en la salida antes de cargarla en ningún sitio.

El separador no siempre es una coma

En España y en gran parte de Hispanoamérica la coma es el separador decimal, así que Excel exporta con punto y coma para que `1,50` no rompa el archivo. La extensión sigue siendo `.csv` y nada dentro dice cuál se usó.

Si la conversión devuelve una sola clave larguísima con toda la fila dentro, ése es el motivo: el archivo está bien y el separador supuesto era el otro. Es el error más frecuente con archivos exportados desde una hoja de cálculo en español, y se arregla indicando el separador correcto, no reparando nada.

Comillas, saltos de línea y las filas que se desplazan

Un valor que contiene una coma, una comilla o un salto de línea tiene que ir entre comillas dobles, y una comilla dentro de ese valor se escribe dos veces. Bien hecho, un campo puede contener un párrafo entero con saltos incluidos.

Mal hecho, el daño es silencioso: una comilla sin escapar hace que el resto del archivo se trague en un solo campo, y una coma dentro de una dirección sin comillas desplaza todas las columnas de esa fila. Un archivo de diez mil filas puede estar perfecto salvo en las once que mencionaban una empresa con una coma en el nombre, y nada avisa.

La codificación, y los tres bytes invisibles

Un CSV no declara su codificación. UTF-8 es lo sensato y es lo que escribe casi todo hoy, pero Excel en Windows ha asumido históricamente una página de códigos regional, que es por lo que una exportación llena de tildes y eñes se abre como galimatías.

El apaño habitual es escribir una marca de orden de bytes: tres bytes invisibles que le dicen a Excel que el archivo es UTF-8. Funciona y crea otro problema, porque muchos analizadores ven esos bytes como parte del primer nombre de columna y una comparación contra `id` falla sin decir por qué. La conversión aquí los descarta, que es lo que casi siempre se quiere.

Archivos grandes, y por qué el navegador aguanta

Una exportación de varios cientos de megabytes se procesa aquí sin cola y sin límite más allá de la memoria de tu propia máquina. No hay subida que esperar, que en un archivo de ese tamaño suele ser la parte lenta.

El JSON resultante siempre pesa más que el CSV de origen, a menudo dos o tres veces, porque cada fila repite todos los nombres de las claves. Es el precio de que cada objeto se explique a sí mismo, y es la razón por la que un pipeline que sólo lee filas sigue prefiriendo el CSV.

Convertir una exportación de clientes sin subirla

Vale la pena decirlo con nombres: lo que se convierte aquí suele ser una lista de clientes, un volcado de pedidos, una tabla de empleados o registros de facturación. Entregarlo a una web a cambio de un archivo de vuelta es un trato malo que se hace por costumbre.

La conversión ocurre dentro de la pestaña del navegador, así que el archivo no se transmite. Puedes desconectar la red y convertir igualmente, que es la forma de comprobarlo en diez segundos en lugar de creerte una frase.

Cómo convertir CSV a JSON

  1. Suelta tu archivo CSV en esta página, o haz clic para elegir uno.
  2. Elige JSON como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo JSON terminado.

CSV frente a JSON: qué cambia

CSV frente a JSON
CSVJSON
Nombre completoComma-Separated ValuesJavaScript Object Notation
Extensión de archivo.csv.json
Tipo de mediotext/csvapplication/json
Publicado por primera vez19722001
EspecificaciónRFC 4180RFC 8259
LicenciaEstándar abiertoEstándar abierto
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorTodos los navegadores
Considerado en su lugarXLSX, ParquetXML, YAML, NDJSON

Qué se conserva

No se descarta nada. CSV y JSON guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Abrir el resultado

JSON se abre en cualquier navegador actual. CSV llega a menos navegadores todavía. Si el archivo va a una página web o a un formulario, ese suele ser todo el motivo de la conversión.

Los programas de siempre no coinciden: CSV se abre en Microsoft Excel, LibreOffice Calc y pandas, y JSON en Visual Studio Code, jq y Postman, así que quien reciba el resultado necesita alguno del segundo grupo.

Para qué sirve cada formato

CSV se publicó en 1972. Está recogido en RFC 4180, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

JSON es de 2001, recogido en RFC 8259. Visual Studio Code, jq y Postman lo leen.

CSV se publicó en 1972 y JSON en 2001. El más antiguo suele ser el archivo más seguro para entregar; el más reciente hace lo mismo con menos bytes.

De CSV a JSON: preguntas frecuentes

¿Se sube a algún sitio mi archivo CSV?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.

¿Convertir CSV a JSON es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.

¿Se pierde calidad al convertir CSV a JSON?

No. JSON guarda el mismo contenido sin tirar nada: el resultado es idéntico en calidad al original.

¿Es sin pérdida la conversión de CSV a JSON?

No se descarta nada. CSV y JSON guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Más sobre estos formatos