Cómo convertir CSV a JSON

· 7 min de lectura

CSV (Comma-Separated Values) es el formato mas simple para datos tabulares, cada hoja de calculo puede exportarlo. JSON (JavaScript Object Notation) es el formato estandar para API web y aplicaciones modernas. Convertir entre ellos es una de las tareas de datos mas comunes en desarrollo. Un convertidor basado en navegador maneja todo el trabajo localmente sin subir sus datos a un servidor.

Cuando necesita CSV a JSON

Como CSV se convierte en JSON

Un archivo CSV:

name,age,city
Alice,30,New York
Bob,25,London

Se convierte en un array JSON de objetos:

[
  {"name": "Alice", "age": "30", "city": "New York"},
  {"name": "Bob", "age": "25", "city": "London"}
]

La primera fila (encabezados) se convierte en las claves. Cada fila siguiente se convierte en un objeto.

Como convertir

  1. Pegue sus datos CSV: ingrese datos separados por comas con una fila de encabezado.
  2. Elija su delimitador: seleccione coma, punto y coma, tabulacion o pipe. La herramienta detecta automaticamente en la mayoria de los casos.
  3. Copiar o descargar: revise la salida JSON y copiela al portapapeles o descarguela como un archivo .json.

Una breve historia de CSV y JSON

CSV es el formato mas antiguo por decadas. El concepto de texto separado por comas se remonta a las decadas de 1960 y 1970 como una forma de intercambiar datos entre programas mainframe. IBM Fortran (1972) admitia E/S dirigida por lista que producia salida separada por comas. CSV nunca fue estandarizado formalmente hasta el RFC 4180 en 2005, momento en el que ya existian miles de millones de archivos CSV con variaciones sutiles (reglas de comillas, finales de linea, codificacion).

JSON llego mucho mas tarde: Douglas Crockford lo especifico en 2001, RFC formal 4627 en 2006, ECMA-404 en 2013. JSON fue disenado para la web; CSV fue disenado para el procesamiento por lotes de datos en mainframes. Los dos formatos tienen fortalezas diferentes:

AspectoCSVJSON
EstructuraTabla plana (filas + columnas)Anidada, jerarquica
TiposSin tipo (todo es texto)Tipado (cadena, numero, bool, null, array, objeto)
EncabezadosConvencion de primera filaNombres de campo por objeto
TamanoCompacto para datos tabularesMas verboso, incluye estructura
HerramientasExcel, todas las hojas de calculoCada lenguaje de programacion moderno
StreamingLinea por linea facilAnalisis de archivo completo por defecto (pero existe JSON Lines)
Especificacion estrictaRFC 4180 (2005), a menudo ignoradoRFC 8259 (2017), estricto

La conversion CSV a JSON es esencialmente una traduccion de datos planos orientados a filas en notacion de objeto clave-valor. La mayor parte de la dificultad esta en manejar casos limite (valores entrecomillados, delimitadores incrustados, codificaciones no UTF-8) que la especificacion CSV no anticipo.

Manejo de datos CSV complicados

Valores entrecomillados: cuando un valor contiene el caracter delimitador (como una direccion con una coma), debe envolverse en comillas dobles: "New York, NY". Los buenos convertidores manejan esto correctamente.

Valores vacios: las celdas vacias se convierten en cadenas vacias en JSON ("field": ""). Si las necesita como null, puede que necesite post-procesar la salida.

Valores numericos: CSV no tiene tipos de datos. Todo es texto. La salida JSON tendra numeros como cadenas ("30" no 30). Si su aplicacion necesita numeros reales, parseelos despues de la conversion.

Saltos de linea en valores: algunos archivos CSV tienen valores multilinea (entrecomillados). No todos los convertidores manejan esto, pruebe con sus datos especificos.

Comillas escapadas: una comilla dentro de un valor entrecomillado se escapa duplicandola: "Ella dijo ""hola""". La mayoria de los parsers manejan esto correctamente.

Espacios al final: espacios adicionales en encabezados como name ,age, city crean claves desordenadas. Los buenos convertidores recortan por defecto; algunos preservan los espacios literalmente.

Marcas de orden de bytes: un BOM UTF-8 al inicio del archivo puede aparecer como los tres primeros caracteres del primer encabezado. Algunos convertidores quitan BOM; otros no.

Diferentes finales de linea: los archivos CSV de Windows tienen CRLF, Unix tienen LF, los Macs antiguos tenian CR. Los parsers robustos manejan los tres.

Variantes de formato de salida

Los convertidores CSV a JSON a menudo ofrecen varias opciones de salida:

SalidaEjemploMejor uso
Array de objetos[{"a":1},{"a":2}]Respuestas API, por defecto
Objeto de objetos (con clave por primera columna){"id1":{"name":"x"},"id2":{...}}Tablas de busqueda, registros con clave por ID
Array de arrays[["a","b"],[1,2],[3,4]]Datos de filas en bruto preservando orden
Columnar{"a":[1,3],"b":[2,4]}Analisis estadistico (compatible con pandas)
JSON Lines (NDJSON){"a":1}\n{"a":2}Streaming, procesamiento de registros
Anidado por encabezado[{"address":{"city":"NY"}}] desde address.cityDatos anidados desde CSV plano

El predeterminado es array de objetos, que funciona para casi todos los escenarios de API web. JSON Lines es util si tiene millones de filas y necesita procesamiento en streaming.

Inferencia de tipo

Algunos convertidores ofrecen inferencia de tipo:

Para uso interno donde controla los datos, la auto-inferencia ahorra tiempo. Para entrada no confiable, deje los tipos como cadenas y parseelos explicitamente en su codigo.

Errores comunes

Consejos

Privacidad y datos confidenciales

El convertidor CSV a JSON se ejecuta completamente en su navegador. Los datos que pega, el procesamiento intermedio y el JSON de salida se quedan todos en su dispositivo. Nada se sube a un servidor, se registra o se comparte con nadie.

Esto importa porque los CSV que convierte a menudo contienen datos sensibles: listas de clientes con direcciones de correo electronico y numeros de telefono, registros de empleados con salarios, transacciones financieras, datos de pipeline de ventas, leads de marketing, analiticas internas de productos, registros medicos exportados de sistemas EHR, calificaciones de estudiantes, historial de pagos. Los convertidores CSV a JSON en la nube registran cada pegado, a veces los retienen para «mejora del servicio», y han estado involucrados en filtraciones de datos reales donde listas de clientes pegadas se filtraron a atacantes monitoreando los registros. Un convertidor basado en navegador tiene exposicion cero: los datos nunca salen de su maquina.

La conversion basada en navegador tambien funciona sin conexion una vez cargada la pagina, util para procesar datos en aviones, en entornos seguros sin acceso a internet, o en cualquier lugar donde no pueda o no deba pegar datos de clientes o financieros en un servicio de terceros.

Preguntas frecuentes

¿Qué pasa con la fila de encabezado?

La primera fila se usa como claves para los objetos JSON. Cada fila siguiente se convierte en un objeto con esas claves. Por ejemplo, un encabezado «name,age» con una fila «Alice,30» se convierte en {"name":"Alice","age":"30"}.

¿Qué delimitadores se admiten?

Coma, punto y coma, tabulación y barra vertical se admiten todos. La herramienta puede detectar automáticamente el delimitador o puedes elegirlo manualmente.

¿Gestiona las comas dentro de los valores?

Sí. Los valores entre comillas dobles (como «New York, NY») se gestionan correctamente, la coma dentro de las comillas se trata como parte del valor, no como un separador.

¿Se envían mis datos a un servidor?

No. Toda la conversión se hace en tu navegador. Tus datos nunca salen de tu dispositivo.