CSV es el formato de datos más antiguo y sencillo que todavía se usa de forma masiva hoy en día. Es décadas anterior a JSON, anterior a XML, y ha sobrevivido a innumerables alternativas "mejores". La razón es evidente: no es más que texto con comas. Cualquier aplicación de hojas de cálculo puede abrirlo, cualquier lenguaje de programación puede analizarlo, y cualquier persona puede leerlo si hace falta.
Pero la sencillez trae consigo algunas peculiaridades. CSV no tiene un estándar oficial que todos sigan, no cuenta con una forma integrada de representar datos anidados, y tiene algunos casos límite en torno al entrecomillado que confunden a la gente con frecuencia. Esta guía cubre lo que necesitas saber.
Cómo se ve un CSV
En su forma más simple, un archivo CSV consiste en filas de valores separados por comas, con cada fila en su propia línea:
name,age,city
Alice,30,Tokyo
Bob,25,London
Charlie,35,New York
La primera fila suele ser una fila de encabezados que da nombre a cada columna. Las filas restantes son los datos. Eso es todo el formato.
Si alguna vez has exportado datos desde Excel, Google Sheets, una base de datos o una herramienta de analítica, probablemente hayas generado un archivo CSV. Es el formato universal de mínimo común denominador para datos tabulares.
La fila de encabezados
La fila de encabezados es una convención, no un requisito. No hay nada en el formato CSV en sí que diga que la primera fila deba contener los nombres de las columnas. Pero en la práctica, casi todos los archivos CSV que te encuentres tendrán una.
product_id,product_name,price,in_stock
1001,Widget A,9.99,true
1002,Widget B,14.50,true
1003,Widget C,7.25,false
Cuando un programa lee este archivo, usa la fila de encabezados para asociar cada valor con el nombre de su columna. Sin el encabezado, solo tendrías una cuadrícula de valores sin etiquetas, y el código que los consume tendría que conocer de antemano el orden de las columnas.
Reglas de entrecomillado
Aquí es donde CSV se pone interesante. ¿Qué ocurre cuando un valor contiene una coma?
name,description,price
"Deluxe Widget","Large, heavy-duty model",29.99
Encierras el valor entre comillas dobles. Las comillas le indican al analizador que la coma dentro de "Large, heavy-duty model" es parte del valor, no un separador de campos.
¿Y los valores que contienen comillas dobles?
Se escapan duplicando el carácter de comilla:
name,quote
"Alice","She said ""hello"" to Bob"
El valor analizado del segundo campo es: She said "hello" to Bob
¿Y los saltos de línea dentro de un valor?
También se manejan mediante el entrecomillado:
name,address
"Alice","123 Main St
Apartment 4B
Tokyo"
El campo de dirección abarca tres líneas, pero las comillas dobles lo mantienen como un único valor. Esto es CSV válido, aunque no todos los analizadores lo manejan correctamente.
La regla general
Un campo necesita entrecomillarse si contiene:
- Una coma
- Una comilla doble
- Un carácter de salto de línea
Algunos generadores de CSV entrecomillan todos los campos sin distinción, lo cual es seguro pero produce archivos algo más grandes. Otros solo entrecomillan los campos que lo necesitan.
Delimitadores y variantes
A pesar del nombre "valores separados por comas", no todos los archivos CSV usan comas. Las variantes más comunes incluyen:
- TSV (valores separados por tabulaciones) — usa tabulaciones en lugar de comas. Habitual en bioinformática y en algunas exportaciones de bases de datos.
- Separados por punto y coma — habitual en países europeos donde la coma se usa como separador decimal. Si abres un CSV de una instalación de Excel en alemán, podrías encontrar puntos y comas.
- Separados por barra vertical — usa
|como delimitador. Menos común, pero aparece en sistemas heredados.
La mayoría de los analizadores de CSV te permiten especificar el delimitador, así que las diferencias suelen ser fáciles de manejar. El término "CSV" se usa a menudo de forma laxa para referirse a todas estas variantes.
Lo que CSV no puede hacer
Entender las limitaciones de CSV te ayuda a saber cuándo usar un formato diferente.
Sin tipos de datos
Todo valor en un archivo CSV es una cadena de texto. El número 42, el booleano true y el texto "hello" son todos simplemente secuencias de caracteres. La aplicación que los consume decide cómo interpretarlos.
Esto significa que:
007podría perder sus ceros a la izquierda si una hoja de cálculo lo interpreta como un númerotrueyfalseson solo cadenas de texto a menos que quien los lee los convierta- Las fechas como
2026-03-20no tienen una representación estándar: ¿es el 20 de marzo o el 3 del día 20? Depende de la configuración regional y de quien las lee.
Sin anidamiento
CSV es plano. No puedes representar una lista de elementos dentro de una sola celda, ni un objeto con subpropiedades. Si tus datos tienen una estructura jerárquica, CSV te obliga a aplanarla.
Por ejemplo, un usuario con varias direcciones de correo electrónico no encaja de forma natural en CSV:
name,email
Alice,alice@work.com
Alice,alice@personal.com
O bien duplicas la fila, o bien metes varios valores en un mismo campo con algún separador improvisado como un punto y coma. Ninguno de los dos enfoques es limpio. JSON maneja esto de forma natural con arreglos, lo cual es una de las razones por las que la gente convierte CSV a JSON cuando los datos necesitan más estructura. Para una introducción a cómo JSON maneja estos casos, consulta ¿Qué es JSON?.
Sin metadatos
CSV no tiene forma de incluir metadatos como información de codificación, definiciones de esquema o números de versión. Si necesitas saber qué codificación de caracteres usa un archivo CSV (¿UTF-8? ¿Latin-1? ¿Shift-JIS?), tienes que adivinarlo o comprobarlo por medios externos.
Sin especificación estándar (más o menos)
El RFC 4180 describe un formato común para CSV, pero es un RFC informativo, no un estándar. Distintas herramientas producen CSV ligeramente diferentes, y los analizadores deben ser flexibles. La buena noticia es que las variaciones suelen ser menores.
CSV y las hojas de cálculo
CSV es el puente entre las hojas de cálculo y todo lo demás. Casi todas las aplicaciones de hojas de cálculo admiten la importación y exportación de CSV:
- Excel: Archivo > Guardar como > CSV
- Google Sheets: Archivo > Descargar > Valores separados por comas
- LibreOffice Calc: El mismo patrón
Esto convierte a CSV en el formato de referencia cuando necesitas sacar datos de una hoja de cálculo para llevarlos a un programa, o cuando un miembro del equipo sin perfil técnico necesita aportar datos en un formato que el código pueda consumir.
El flujo de trabajo suele ser así:
- Alguien mantiene los datos en una hoja de cálculo
- Los exporta como CSV
- Un programa lee el CSV y lo convierte al formato que necesite la aplicación
El paso 3 a menudo implica convertir a JSON, especialmente si los datos van a ser consumidos por una aplicación web o una API.
Cuándo conviene convertir CSV a JSON
Hay varios escenarios prácticos en los que tiene sentido convertir CSV a JSON.
Integración con APIs
Si tienes datos en una hoja de cálculo que necesitan enviarse a una API REST, es casi seguro que la API espera JSON. Convertir la exportación CSV a JSON es el puente evidente.
Configuración y datos estructurados
Cuando datos tabulares planos necesitan volverse estructurados —por ejemplo, transformar una lista plana de productos con columnas de categoría en una estructura JSON anidada agrupada por categoría— la conversión es el primer paso.
Aplicaciones de frontend
Las aplicaciones web y móviles trabajan con JSON de forma nativa a través de JavaScript. Cargar un CSV en una aplicación de frontend requiere un paso de análisis, mientras que JSON puede usarse directamente.
Análisis de datos
Herramientas como los notebooks de Jupyter y los pipelines de datos a veces aceptan JSON con más facilidad que CSV, sobre todo cuando los datos tienen tipos mixtos o campos opcionales.
Convertir CSV a JSON
La conversión de CSV a JSON es conceptualmente sencilla: cada fila se convierte en un objeto JSON, con los valores del encabezado como claves.
Partiendo de este CSV:
name,age,city
Alice,30,Tokyo
Bob,25,London
Obtienes este JSON:
[
{
"name": "Alice",
"age": "30",
"city": "Tokyo"
},
{
"name": "Bob",
"age": "25",
"city": "London"
}
]
Fíjate en que age sigue siendo una cadena de texto ("30" y no 30). Como CSV no tiene información de tipos, el convertidor no sabe si 30 debería ser un número o una cadena. Algunos convertidores ofrecen opciones para inferir los tipos, pero el valor predeterminado suele ser cadenas de texto.
Puedes hacer esta conversión al instante con la herramienta de CSV a JSON. Pega tu CSV y obtén JSON de vuelta. Para una explicación detallada que incluye el manejo de casos límite, consulta Cómo convertir CSV a JSON.
Consejos para trabajar con CSV
Comprueba siempre la codificación
Si ves caracteres ilegibles al abrir un archivo CSV, casi con seguridad se trata de un problema de codificación. Prueba a abrir el archivo como UTF-8. Si eso no funciona, el archivo podría estar en una codificación heredada como Shift-JIS (habitual en los archivos CSV en japonés) o Latin-1.
Cuidado con el autoformato de Excel
A Excel le encanta "ayudar" convirtiendo cosas que parecen números o fechas. Un código de producto como 001234 se convierte en 1234. Un valor como 1-2 se convierte en una fecha. Si trabajas con datos CSV que se abrirán en Excel, ten en cuenta que los datos podrían modificarse de forma silenciosa.
Usa un analizador adecuado
Escribir tu propio analizador de CSV separando por comas es tentador, pero frágil. Se rompe con los campos entrecomillados, los saltos de línea dentro de los valores y las comillas escapadas. Usa una biblioteca: todos los lenguajes tienen una. Python tiene el módulo csv, JavaScript tiene PapaParse, y así sucesivamente.
Valida antes de procesar
Si recibes archivos CSV de fuentes externas, valídalos antes de dar por sentado que la estructura es correcta. Comprueba que el número de columnas sea coherente entre las filas, que los encabezados esperados estén presentes, y que los campos obligatorios no estén vacíos.
Pruébalo ahora
¿Tienes un archivo CSV que necesitas como JSON? Pégalo en el convertidor de CSV a JSON y obtén una salida JSON estructurada al instante. Sin registro, sin subir archivos: todo se ejecuta en tu navegador.
Para terminar
CSV ha sobrevivido durante décadas porque hace una cosa bien: representar datos tabulares de la forma más sencilla posible. No va a desaparecer. Pero cuando tus datos superan los límites de las tablas planas —cuando necesitas anidamiento, tipos o estructura— convertir a JSON suele ser la decisión correcta.
Entender ambos formatos y saber cuándo pasar de uno a otro es una habilidad práctica que aparece con regularidad en el trabajo con datos, el desarrollo web y la integración de sistemas.

