Json To Csv LogoJson To Csv

Cómo convertir CSV a JSON: 3 métodos fiables (guía 2026)

Tres formas fiables de convertir filas CSV en JSON limpio: un convertidor online gratuito, un breve script de Python y la ruta de Excel.

Actualizado: 2026-10-027 min de lectura

Qué significa convertir CSV a JSON

CSV es plano: filas de valores separadas por un delimitador, con la primera fila normalmente como encabezados. JSON es estructurado: objetos con claves nombradas, agrupados en un array. Convertir asigna cada fila de datos a un objeto, y cada encabezado a una clave.

Lo sutil son los tipos de datos. Cada celda CSV es técnicamente texto, pero JSON tiene números, booleanos y nulos reales. Un buen convertidor infiere tipos: 30 se convierte en número, true en booleano, las celdas vacías en null. Mantener IDs y códigos postales como texto es deliberado: nadie quiere que 01310 se convierta en 1310.

Método 1: convertidor online gratuito (el más rápido)

Para una conversión puntual, una herramienta online es la vía más rápida — sin instalaciones ni código. Elige una que se ejecute en tu navegador para que tus datos nunca salgan de tu dispositivo.

  • Pega tu CSV (o arrastra un archivo .csv) en el convertidor.
  • Confirma el delimitador: coma para la mayoría de archivos, punto y coma si tu hoja de cálculo lo usa.
  • Revisa la vista previa del JSON — los encabezados se convirtieron en claves, cada fila en un objeto — y descarga el archivo .json.

Método 2: script de Python (repetible)

Para desarrolladores y tareas recurrentes, un breve script de Python con pandas es la opción más repetible. Lee la fila de encabezados automáticamente y escribe un array JSON con sangría.

Python
import pandas as pd

# The header row becomes the keys automatically
df = pd.read_csv("data.csv")

# orient="records" -> one JSON object per row
# force_ascii=False keeps accents readable (no \uXXXX escapes)
df.to_json("data.json", orient="records", indent=2, force_ascii=False)

Ejecútalo con python convert.py. Si una columna debe seguir siendo texto (IDs, códigos postales con ceros iniciales), léela explícitamente: pd.read_csv("data.csv", dtype={"zip": str}).

Método 3: Excel o Google Sheets

Aquí va la versión honesta: ni Excel ni Google Sheets pueden guardar un archivo como JSON de forma nativa. La ruta práctica tiene dos pasos.

  • Limpia los datos en tu hoja de cálculo y luego guarda o descarga como CSV (UTF-8).
  • Convierte ese CSV a JSON con un convertidor online o el script de Python.
  • Consejo: usa Power Query (Datos → Desde tabla) para corregir encabezados y eliminar filas vacías antes de exportar el CSV.

Encabezados, delimitadores y tipos de datos

Tres cosas deciden si el resultado es limpio o basura. Primero, la fila de encabezados: debe existir y ser única — los encabezados duplicados o ausentes generan claves rotas. Segundo, el delimitador: las hojas de cálculo europeas suelen exportar punto y coma porque la coma es el separador decimal allí; si las filas se ven desplazadas, el delimitador es incorrecto. Tercero, el entrecomillado: las comas o comillas dentro de un campo deben ir entre comillas dobles (RFC 4180) — cualquier CSV real lo hace y los convertidores lo esperan.

Las fechas son la trampa clásica: 03/04/2026 significa 4 de marzo en EE. UU. y 3 de abril en la mayor parte de Europa. Cuando las fechas importan, normalízalas al formato ISO (2026-04-03) antes de convertir.

Problemas comunes y soluciones rápidas

La mayoría de los dolores de cabeza se reducen a cuatro problemas:

  • Acentos ilegibles: el archivo no está en UTF-8. Vuelve a guardarlo con codificación UTF-8 (con BOM) antes de convertir.
  • Todo salió como texto: la inferencia de tipos está desactivada o los valores iban entrecomillados. Activa la opción de inferir tipos, o acepta los textos — las APIs suelen manejarlos.
  • Filas desplazadas: delimitador incorrecto o saltos de línea en campos sin comillas. Vuelve a exportar el CSV correctamente e inténtalo de nuevo.
  • Archivos enormes que congelan el navegador: divide el CSV en fragmentos más pequeños o usa el método de Python.

El camino inverso: de JSON a CSV

Las APIs te entregan JSON y las hojas de cálculo quieren CSV — el viaje inverso es igual de común. Nuestra guía complementaria recorre los mismos tres métodos al revés.

Leer: Cómo convertir JSON a CSV

Guías relacionadas

Preguntas frecuentes

¿Es seguro convertir CSV a JSON online?

Sí, si el convertidor se ejecuta por completo en tu navegador. Tu archivo se procesa localmente en tu dispositivo y nunca se sube a un servidor. Evita herramientas que exijan subir datos sensibles a un servidor desconocido.

¿Puede Excel convertir CSV a JSON directamente?

No — Excel no tiene exportación nativa a JSON. Guarda o descarga la hoja como CSV (UTF-8) y luego convierte ese CSV con una herramienta online o un breve script de Python. Lo mismo aplica a Google Sheets.

¿Por qué mis números se convirtieron en texto en el JSON?

Porque cada celda CSV es texto hasta que algo decida lo contrario. Los convertidores con inferencia de tipos convierten 30 en número y true en booleano; los valores entrecomillados y las columnas tipo ID siguen siendo texto a propósito, para que los códigos postales conserven sus ceros iniciales.

¿Se puede convertir JSON de vuelta a CSV?

Sí. Consulta nuestra guía paso a paso «Cómo convertir JSON a CSV» — los mismos tres métodos (convertidor online, Excel, Python) funcionan en la dirección inversa.

¿Hay alguna forma gratuita de convertir CSV a JSON sin registrarme?

Sí: los conversores en el navegador son gratuitos y sin cuenta. Pega tu CSV y descarga el array JSON. Para tareas repetidas, el script corto de Python de esta guía funciona sin conexión y sin límites.

¿Cómo evito que Excel elimine los ceros iniciales al convertir a JSON?

Marca las columnas de ID y códigos postales como Texto antes de guardar el CSV: en Excel usa Datos → Desde texto/CSV y fija el tipo de columna en Texto, o lee el archivo con dtype={"zip": str} en Python. Una vez que los ceros desaparecen del CSV, ningún conversor puede recuperarlos.

¿Puedo convertir a JSON un CSV que usa punto y coma?

Sí: indica al conversor que el delimitador es punto y coma en lugar de coma; las hojas de cálculo europeas exportan así por defecto. El método Python lo resuelve con pd.read_csv("data.csv", sep=";").

¿Necesitas el viaje inverso?

Nuestro convertidor gratuito convierte JSON en CSV listo para hojas de cálculo en segundos — la dirección opuesta, con la misma privacidad: sin registro, sin subidas.

Abrir el convertidor de JSON a CSV
Todas las guías