Ir al contenido
OneKitly

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

Daniel OkonkwoDesarrollador front-end y redactor de Tecnología en OneKitly

Rendimiento web · Formatos de archivo

Verificado con 4 fuentes

Ver perfil
En resumen

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.

Los cuatro formatos con criterios idénticos, medidos sobre el mismo libro de prueba de 201 filas
FormatoQué es realmente el archivoSe abre si se renombra .zipPuede llevar macrosTamaño, hoja de 201 filasElígelo cuando
XLSArchivo compuesto OLE2, binario anterior a 2007NoSí, como flujo binario17.408 bytesNo lo escribas nunca. Léelo, conviértelo, archiva el original
XLSXZIP de partes XML (ECMA-376)Sí — 10 miembros en el archivo de pruebaNo, por diseño44.343 bytesSiempre, salvo que aplique una fila de abajo
XLSMEl mismo ZIP, con xl/vbaProject.bin permitidoSí — los mismos 10 miembrosSí — es la única diferencia44.321 bytesEl libro tiene que ejecutar código y confías en él
XLSBEl mismo ZIP con partes .bin en vez de .xmlSí — workbook.bin, sheet1.bin, styles.bin28.505 bytesMillones de celdas, solo Excel, una sola organización
ODSZIP de partes ODF, el formato nativo de LibreOfficeSí — content.xml, styles.xml, mimetypeSí, en su propio modelo de scripting94.890 bytesTu organización estandariza formatos abiertos
XLS a XLSXConvierte un libro .xls antiguo al formato .xlsx moderno, en tu navegador.Probar la herramienta

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
ExplicaciónConvertir fórmulas en valores conserva la respuesta en caché, no el cálculoUn archivo de hoja de cálculo guarda a la vez la fórmula y la última respuesta que calculó Excel. Quitar la fórmula deja la respuesta almacenada — y deja un hueco allí donde el archivo nunca llevó ninguna.ExplicaciónEl número 1 y el texto «1» no son duplicadosLa eliminación de duplicados compara filas enteras de forma exacta, tipo de celda incluido. Cinco filas de aspecto idéntico salieron como tres: una llevaba un número, otra una cadena y otra una cadena con un espacio delante.ExplicaciónPor qué tu CSV rompe los acentos y las fechas en ExcelTres averías completamente distintas se esconden tras la misma frase. Una es la codificación, otra el separador, otra Excel adivinando tipos mientras abre el archivo, y el remedio es distinto en cada caso. Así se distinguen en cinco segundos.ComparativaZIP o TAR: cuál elegir y por qué importaUna sola diferencia estructural explica todo lo demás: TAR no comprime, apila; ZIP comprime cada archivo por su cuenta. Medido sobre 60 archivos fuente pequeños, eso son 1.809 bytes frente a 14.686.TutorialNumerar un PDF cuando las páginas están giradas o son de tamaños distintosNumerar un documento ordenado es trivial. Lo que muerde es una página tumbada, una hoja Letter entre A4, un archivo de imprenta con sangrado y un documento que ya imprime su propio número. Se probaron los cuatro: en los tres primeros el número cae exactamente donde lo pediste, y el cuarto no se detecta en absoluto.GuíaLo que un PDF dice de ti: leer y borrar sus metadatosUn PDF lleva sus metadatos dos veces, en dos almacenes que pueden contar historias distintas, y ninguno de los dos es la historia completa. Esto es lo que hay realmente en el archivo, lo que el borrado quita y las dos cosas que sobreviven a cualquier limpieza.

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?