Tabla CSV (.csv)

RFC Estándar

Comma-Separated Values (CSV) es un formato de texto plano muy utilizado para datos tabulares. Cada línea representa un registro y los campos se separan con delimitadores.

Convertir de XLSX a CSV

Convertidor gratuito de XLSX a CSV en el navegador. Convierte archivos al instante en tu dispositivo.

Comprimir CSV en línea

Privado - los archivos nunca salen de tu dispositivo

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de CSV inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de CSV inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

No tiene una firma fija

REPRESENTACIÓN ASCII: Bytes de texto; la codificación puede variar

Estandarización: RFC 4180 / IETF

Especificaciones técnicas

Arquitectura del contenedorArchivo de texto plano con delimitadores que representa datos tabulares en filas y columnas
CompresiónGzip/Deflate reduce entre un 85 % y un 95 % el tamaño de registros tabulares repetitivos
Orden de bytes (Endianness)Flujo de texto UTF-8 (Excel puede usar la marca BOM UTF-8 opcional EF BB BF)
Espacios de colorNo aplicable
Canales y estructuraRegistros separados por CRLF y columnas separadas por comas
Dimensiones máximasSin límite propio; se pueden procesar en streaming gigabytes de datos sin cargar el archivo entero en memoria
TransparenciaNo aplicable
Streaming y progresivoTodos los procesos de datos admiten el procesamiento nativo línea por línea en streaming.

Matriz de comparación técnica: CSV frente a la competencia

Atributo técnicoCSV (Actual)Excel (XLSX)ParquetJSON
Tipo de archivoTabla plana de texto sin formatoHoja de cálculo XML comprimida en ZIPAlmacenamiento columnar binarioTexto jerárquico
Múltiples hojasNo (solo una única tabla plana)Sí (múltiples libros y hojas de trabajo)Almacenamiento basado en particionesMatrices y objetos anidados
Tipos de datosTexto sin formato y sin tipadoCeldas tipadas, fórmulas, formatoTipos de columna binarios estrictosTipos primitivos (cadena, número, booleano)
Análisis de macrodatosLento (requiere leer cada fila de forma lineal)No apto para big dataMuy rápido (poda de columnas y propagación de predicados)Moderado

Modos de corrupción comunes y guía de recuperación hexadecimal

Las columnas se desplazan hacia la derecha o el recuento de filas no coincide.

Causa raíz: Un campo de texto contiene una coma sin escapar y no está entre comillas.

Recuperación: Según RFC 4180, los campos que contienen comas deben ir entre comillas dobles: «Smith, John».

En Excel, los caracteres acentuados aparecen como símbolos extraños (texto ilegible como é en lugar de é).

Causa raíz: Excel abrió un CSV en UTF-8, pero interpretó el archivo con la codificación ANSI/CP1252 antigua de Windows.

Recuperación: Añade la marca de orden de bytes (BOM) UTF-8 de 3 bytes (0xEF 0xBB 0xBF) al principio del archivo.

Análisis de seguridad y vectores de ataque al analizador

Los archivos CSV se abren directamente en hojas de cálculo como Excel y Google Sheets, lo que expone a los usuarios a ataques de inyección de fórmulas (inyección CSV).

Vectores de ataque conocidos

  • Inyección de fórmulas: una celda que empieza por «=», «+», «-» o «@» puede ejecutar macros de hojas de cálculo o comandos DDE (por ejemplo, «=cmd|» /C calc’!A0’).
  • Exfiltración de datos mediante fórmulas HYPERLINK() que, al hacer clic, envían datos confidenciales de las celdas a servidores controlados por un atacante.

Mejores prácticas defensivas: Al exportar datos de usuarios a CSV, añade una comilla simple (') o un tabulador al principio de las celdas que empiecen por «=», «+», «-» o «@», para que Excel las interprete como texto sin formato.

Orígenes históricos e hitos

2015El Modelo de Datos Tabulares y Metadatos en la Web del W3C normaliza CSV en la Web (CSVW) con descriptores de metadatos JSON-LD.
2005El IETF publica RFC 4180, que establece la especificación formal de los archivos CSV.
1972El compilador IBM Fortran (H Extended) implementa la entrada y salida de datos separados por comas.

Ventajas principales

  • Máxima sencillez: se puede leer en cualquier editor de texto e importar en cualquier base de datos u hoja de cálculo.
  • Permite procesar datos muy rápido, línea por línea, sin crear un DOM completo en memoria.
  • Sobrecarga mínima: no requiere una sintaxis de etiquetas verbosa ni definiciones de esquemas.

Limitaciones técnicas

  • No tiene tipos de datos definidos: los números, las fechas, los valores booleanos y el texto se guardan como cadenas sin formato.
  • No admite varias hojas, formato de celdas, fórmulas ni metadatos.
  • Los conflictos con los delimitadores (comas dentro del texto o comas decimales en algunos países europeos) provocan errores de análisis frecuentes.

Curiosidades técnicas interesantes

  • En muchos países europeos, donde la coma se usa como separador decimal, los archivos CSV usan punto y coma (;) como separador de campos.
  • Históricamente, Microsoft Excel requería un BOM UTF-8 (0xEF 0xBB 0xBF) para mostrar correctamente los caracteres con tilde que no son ASCII.
  • En 2020, el Servicio Nacional de Salud del Reino Unido (NHS) perdió casi 16 000 registros de seguimiento de contactos de COVID-19 al importarlos a un formato antiguo de hoja de cálculo de Excel, que admitía un máximo de 65 536 filas.

Preguntas técnicas frecuentes

¿Qué es el RFC 4180?

RFC 4180 es el estándar oficial del IETF para CSV. Establece que los campos que contienen comas, saltos de línea o comillas dobles deben ir entre comillas dobles, y que las comillas internas deben duplicarse («»).

¿Por qué los archivos CSV se abren con caracteres corruptos en Excel?

Las versiones antiguas de Microsoft Excel usan por defecto la página de códigos local de Windows (como Windows-1252) en lugar de UTF-8 al abrir archivos CSV directamente. Si añade una marca de orden de bytes (BOM) UTF-8 al principio del archivo, Excel lo descodifica correctamente.

¿Qué es la inyección CSV (Inyección de fórmulas)?

La inyección CSV se produce cuando se exportan datos no confiables de un usuario que empiezan por un signo que activa fórmulas («=», «+», «-» o «@»). Al abrir el archivo en un programa como Excel, la hoja de cálculo ejecuta automáticamente la fórmula o el comando de intercambio dinámico de datos (DDE), que podría ejecutar comandos del sistema o exfiltrar datos.