XLS, XLSX, XLSM y XLSB: cuál es cuál y cuál te conviene
Publicado el 19/8/2026 · 12 min de lectura · Herramientas de archivos
Daniel Okonkwo — Desarrollador front-end y redactor de Tecnología en OneKitly
Rendimiento web · Formatos de archivo
Verificado con 4 fuentes
Usa XLSX salvo que tengas una razón concreta para no hacerlo. Usa XLSM solo si el libro tiene que ejecutar macros. Usa XLSB solo si el archivo es muy grande y se queda dentro de una organización con Excel. Lee el XLS, no lo escribas nunca. Este es el hecho que hace que todo encaje: XLSX, XLSM y XLSB son lo mismo, un archivo ZIP de partes. Cambia la extensión de cualquiera de ellos a .zip y tu gestor de archivos lo abre. El libro de prueba de 201 filas usado para este artículo, escrito en .xlsx, es un ZIP con diez miembros: xl/workbook.xml, xl/worksheets/sheet1.xml, xl/styles.xml, [Content_Types].xml y seis más. Guardado como .xlsb, el mismo paquete contiene xl/workbook.bin y xl/worksheets/sheet1.bin en su lugar: contenedor idéntico, partes binarias en vez de XML. Un XLSM es un XLSX byte a byte, más el permiso de llevar xl/vbaProject.bin. XLS es el extraño: empieza por D0 CF 11 E0 A1 B1 1A E1, un archivo compuesto OLE2 anterior a 2007, y cambiarle la extensión a .zip no sirve de nada. Las diferencias de tamaño son reales pero menores de lo que dice la leyenda. La misma hoja de 201 filas ocupa 17.408 bytes en .xls, 44.343 en .xlsx, 44.321 en .xlsm, 28.505 en .xlsb. La escala cambia el cuadro: con 25.000 filas por 5 columnas, el .xlsx pesa 5.031.220 bytes y tarda 562 ms en leerse, el .xlsb 3.780.567 bytes y 234 ms: un cuarto menos y el doble de rápido. Un aviso antes de convertir: esta herramienta escribe .xlsx, y el .xlsx no puede llevar macros. Convertir un XLSM las elimina, en silencio.
Cuatro extensiones, tres de ellas la misma caja con tapas distintas. Cambia la extensión de un XLSX a .zip y se abre: ese solo hecho explica toda la familia, y explica por qué XLS, que no se abre así, sigue siendo el que da problemas.
El hecho que explica toda la familia: cámbiale la extensión a .zip
Coge una copia de cualquier .xlsx, cambia la extensión a .zip y haz doble clic. Se abre. Dentro hay un árbol de carpetas: [Content_Types].xml declara qué es cada parte, _rels/.rels dice cómo se apuntan las partes entre sí, xl/workbook.xml lista las hojas, xl/worksheets/sheet1.xml contiene las celdas, xl/styles.xml el formato. El archivo de prueba de este artículo tenía exactamente diez miembros de ese tipo. Ese es todo el diseño: un libro es un paquete comprimido de pequeños documentos XML, normalizado como ECMA-376 y después como ISO/IEC 29500.
Una vez visto eso, el resto de la familia deja de ser un misterio. XLSM es el mismo ZIP con una parte más permitida dentro —xl/vbaProject.bin, el proyecto de macros compilado— y un tipo de contenido que avisa a Excel de que la espere. XLSB es otra vez el mismo ZIP, con cada parte XML sustituida por un flujo de registros binarios: en el archivo de prueba, xl/workbook.xml pasó a ser xl/workbook.bin, xl/worksheets/sheet1.xml pasó a sheet1.bin, xl/styles.xml a styles.bin. Mismo contenedor, misma disposición, distinta codificación del contenido.
XLS se niega al truco, y esa negativa es justamente el tema. Sus ocho primeros bytes son D0 CF 11 E0 A1 B1 1A E1: la firma de un archivo compuesto OLE2, un pequeño sistema de archivos dentro de un archivo que Microsoft usaba para los documentos de Office antes de 2007. Ni ZIP, ni XML, nada por lo que una herramienta moderna pueda caminar sin un analizador dedicado. Todo lo incómodo del XLS viene de ahí: es un objeto de otra naturaleza con nombre de hoja de cálculo.
Por qué una organización que aún recibe XLS tiene un problema real
El problema no es la nostalgia, es la superficie de ataque. Leer un XLS significa ejecutar un analizador binario escrito a mano sobre bytes no fiables: situarse en un flujo, leer un tipo de registro, leer una longitud, fiarse de esa longitud. Esa forma de código ha producido una larga serie de avisos de corrupción de memoria en Office durante dos décadas, y por eso Microsoft incluye ajustes de bloqueo de archivos que permiten a un administrador rechazar de plano los formatos binarios heredados, y por eso las macros de archivos llegados de internet se bloquean por defecto en lugar de solo advertirse.
El segundo problema es más discreto y sale más caro: XLS tiene un tope de 65.536 filas y 256 columnas. Una exportación moderna que supere cualquiera de los dos se trunca en vez de rechazarse, y un informe truncado se parece exactamente a uno completo. Si algún proceso de tu organización sigue produciendo .xls, eso es lo primero que hay que comprobar, antes incluso que la cuestión de seguridad.
La solución no es prohibir la extensión, que solo empuja el archivo a un adjunto que nadie registra. La solución es convertirlo al llegar y guardar el original en algún sitio de solo lectura. Para eso sirve el conversor de esta página: lee XLS, XLSX, XLSM, XLSB, ODS y Apple Numbers, y escribe XLSX. Una sola salida, siempre, en tu navegador, sin subir nada.
XLSM, y lo que este conversor no te va a decir
XLSM existe por una sola razón: el XLSX no puede contener macros, así que un libro que ejecuta código necesita otro tipo de contenido y otra extensión. Esa separación es deliberada y es un buen diseño: el nombre del archivo basta para saber si una hoja puede ejecutar algo, antes de abrirla.
Lo que nos lleva a lo que mostró ejecutar el conversor. Se construyó un libro para la prueba que lleva de verdad xl/vbaProject.bin, declarado en [Content_Types].xml exactamente como lo declara Excel. La herramienta lo leyó sin problema. El proyecto de macros no sobrevivió en ninguna dirección: al lector nunca se le pide, así que se descarta antes incluso de empezar la conversión, y el .xlsx que sale no contiene ninguna parte VBA: los diez miembros de la salida se comprobaron uno a uno. Es decir: convertir un XLSM aquí te da una hoja que funciona con el código quitado, y ningún mensaje lo dice.
A menudo es justo lo que quieres. Quitar las macros de un libro llegado por correo es un acto de higiene razonable, y la forma más segura de hacerlo es convertir a XLSX y quedarse con el resultado. Es un desastre si las macros eran lo importante: un modelo mensual que alguien de contabilidad montó en 2011 y que nadie ha leído desde entonces. Sé en cuál de los dos casos estás antes de pulsar, y guarda el original de todos modos.
Cuándo compensa la incompatibilidad de XLSB
En una hoja pequeña, XLSB no aporta casi nada. El archivo de prueba de 201 filas ocupaba 44.343 bytes en .xlsx y 28.505 en .xlsb, y ninguno de los dos tardó un tiempo apreciable en abrirse. Con 25.000 filas por 5 columnas la diferencia se convierte en un argumento: 5.031.220 bytes frente a 3.780.567, y 562 milisegundos de análisis frente a 234. Ese es todo el expediente de XLSB, y es real: un cuarto menos en disco y menos de la mitad de tiempo de lectura, porque al analizador se le entregan números en lugar de un documento de texto que tiene que trocear.
El precio es la portabilidad, y es alto. XLSB es un formato de partes binarias de Microsoft: la especificación está publicada, pero cada herramienta que lo lee ha tenido que implementarlo por separado, y el soporte fuera de Excel es más irregular y más tardío que para XLSX. Las vistas previas web, los clientes de correo, los paquetes estadísticos y la mitad de las bibliotecas de scripting del mundo abrirán un XLSX y tropezarán con un XLSB. Hubo otra sorpresa medida: escribir el XLSB de 25.000 filas con la misma biblioteca tardó 21 segundos frente a medio segundo para el XLSX. Es una propiedad de ese escritor concreto más que del formato, pero recuerda que el lado rápido de XLSB es el lado de la lectura.
La regla es, por tanto, estrecha. Usa XLSB cuando el archivo se mida en millones de celdas, viva dentro de una sola organización, se abra solo en Excel y los segundos ahorrados en cada apertura valgan algo para alguien. Todo lo demás es XLSX, incluido cualquier cosa que vayas a enviar a una persona cuyo software no controlas.
Qué conservó el conversor y qué no
La hoja de prueba tenía 200 fórmulas en su última columna y una columna de fechas, y cada uno de los cinco formatos pasó por el camino de lectura y escritura de la propia herramienta. Filas: 201 de 201, siempre. Fechas: conservadas como fechas, no como números de serie, en los cinco. Fórmulas: 200 de 200 conservadas desde XLSX, XLSM y ODS. Cero desde XLSB y cero desde XLS: llegaron los valores, no los cálculos.
Esa última línea necesita una nota honesta. Los archivos de prueba XLS y XLSB los escribió la misma biblioteca que los volvió a leer, y sus escritores para esos dos formatos guardan el valor en caché sin la fórmula. La medición demuestra, pues, que la ida y vuelta pierde información; no demuestra que un XLS escrito de verdad por Excel perdería sus fórmulas al entrar. El consejo práctico es el mismo en ambos casos y cuesta un minuto: abre el archivo convertido, haz clic en una celda que debería ser un cálculo y mira la barra de fórmulas antes de borrar el original.
Otra cosa que conviene saber del lector: pide las celdas vacías. Una celda cuya fórmula existe pero cuyo resultado en caché está vacío —frecuente en libros escritos por un generador, o guardados sin recalcular— se tiraría entera, fórmula incluida. Conservar esas celdas es la razón de que un archivo convertido pueda mostrarte una fórmula que nunca ha producido un número.
| Formato | Qué es realmente el archivo | Se abre si se renombra .zip | Puede llevar macros | Tamaño, hoja de 201 filas | Elígelo cuando |
|---|---|---|---|---|---|
| XLS | Archivo compuesto OLE2, binario anterior a 2007 | No | Sí, como flujo binario | 17.408 bytes | No lo escribas nunca. Léelo, conviértelo, archiva el original |
| XLSX | ZIP de partes XML (ECMA-376) | Sí — 10 miembros en el archivo de prueba | No, por diseño | 44.343 bytes | Siempre, salvo que aplique una fila de abajo |
| XLSM | El mismo ZIP, con xl/vbaProject.bin permitido | Sí — los mismos 10 miembros | Sí — es la única diferencia | 44.321 bytes | El libro tiene que ejecutar código y confías en él |
| XLSB | El mismo ZIP con partes .bin en vez de .xml | Sí — workbook.bin, sheet1.bin, styles.bin | Sí | 28.505 bytes | Millones de celdas, solo Excel, una sola organización |
| ODS | ZIP de partes ODF, el formato nativo de LibreOffice | Sí — content.xml, styles.xml, mimetype | Sí, en su propio modelo de scripting | 94.890 bytes | Tu organización estandariza formatos abiertos |
Preguntas frecuentes
- ¿Puedo simplemente renombrar un XLS a XLSX?
- No, y es la forma más habitual de perder un archivo. La extensión es una etiqueta; los bytes de debajo son un archivo compuesto OLE2, no un ZIP. Excel suele darse cuenta y negarse, o abrirlo con un aviso de que la extensión no coincide con el contenido. Cualquier programa menos indulgente simplemente da error. Renombrar solo funciona entre XLSX, XLSM y XLSB, que sí son el mismo contenedor, y aun ahí estás mintiendo al tipo de contenido, lo que crea sus propios líos. Mejor convierte.
- ¿Convertir mi XLSM a XLSX lo va a romper?
- Romperá las macros y nada más. Las celdas, las fórmulas, el formato y los nombres de hoja pasan; el proyecto VBA compilado no, porque el XLSX no tiene dónde ponerlo. Se comprobó con un libro construido a propósito para llevar xl/vbaProject.bin: la salida no contenía ninguna parte VBA y no se mostró aviso alguno. Si las macros son esenciales, conserva el XLSM y convierte solo una copia. Si sobran, esta es la forma más limpia de quitarlas.
- ¿XLSB es realmente más rápido o es un mito?
- Real, pero solo a escala y solo al leer. En una hoja de 201 filas son 28.505 bytes frente a 44.343 y ninguno tarda un tiempo apreciable en abrirse. Con 25.000 filas por 5 columnas son 3.780.567 bytes frente a 5.031.220, y 234 milisegundos de análisis frente a 562: un cuarto menos y leído en menos de la mitad de tiempo. Escribir ese mismo archivo, con la biblioteca de esta prueba, era al revés: 21 segundos para el XLSB frente a medio segundo para el XLSX. Juzga el XLSB por cuántas veces se abre el archivo, no por su tamaño en una carpeta.
- ¿Cómo sé qué es realmente un archivo cuando la extensión miente?
- Mira los primeros bytes. 50 4B —los caracteres PK— significa un ZIP, o sea XLSX, XLSM, XLSB, ODS o un archivo comprimido normal. D0 CF 11 E0 A1 B1 1A E1 significa un archivo compuesto OLE2: XLS, DOC, PPT o un MSI antiguo. Texto plano con comas o puntos y comas y sin firma alguna es un CSV que alguien ha renombrado. En macOS y Linux el comando `file` lo dice todo en una línea; en Windows cualquier visor hexadecimal muestra la primera fila. Así es también como el conversor de esta página decide qué le han dado, en vez de fiarse del nombre.
- ¿El conversor sube mi libro a algún sitio?
- No. Toda la conversión se ejecuta en tu navegador: la biblioteca de hojas de cálculo se descarga una vez, el archivo se lee de tu disco a memoria y el nuevo libro se vuelve a escribir como descarga. Nada sale de la máquina, que es justo lo que hace falta para el caso del que trata de verdad esta página: un libro antiguo lleno de nombres, sueldos o fichas de clientes que preferirías no subir al servidor de un desconocido solo para cambiarle la extensión.
Artículos que podrían interesarte
Todas las guías →Herramientas relacionadas
Esto describe lo que hacen hoy estos conversores, comprobado ejecutando su propio código sobre archivos reales, y no lo que deberían hacer. El comportamiento de un formato depende de la versión de Excel, LibreOffice o Numbers que escribió el archivo y de la que lo va a abrir, así que conserva el original hasta que hayas abierto la copia convertida y la hayas mirado. Todo lo que importe —un libro con macros, un modelo lleno de fórmulas, un archivo del que dependerá otra persona— se comprueba celda a celda después de convertir, no se da por bueno porque una barra de progreso haya llegado al final.
Fuentes
¿Has detectado un error en este artículo?