XLS, XLSX, XLSM und XLSB: was ist was — und was brauchst du
Veröffentlicht am 19.8.2026 · 11 Min. Lesezeit · Datei-Tools
Daniel Okonkwo — Front-end-Entwickler und Tech-Redakteur bei OneKitly
Web-Performance · Dateiformate
Anhand von 4 Quellen geprüft
Nimm XLSX, wenn du keinen konkreten Grund für etwas anderes hast. Nimm XLSM nur, wenn die Mappe Makros ausführen muss. Nimm XLSB nur, wenn die Datei sehr groß ist und in einer Organisation mit Excel bleibt. Lies XLS, schreib es nie. Diese eine Tatsache macht alles Übrige verständlich: XLSX, XLSM und XLSB sind dasselbe — ein ZIP-Archiv aus Teilen. Benenne eines davon in .zip um, und der Dateimanager öffnet es. Die 201-zeilige Testmappe dieses Artikels ist als .xlsx ein ZIP mit zehn Mitgliedern: xl/workbook.xml, xl/worksheets/sheet1.xml, xl/styles.xml, [Content_Types].xml und sechs weitere. Als .xlsb gespeichert enthält dasselbe Paket stattdessen xl/workbook.bin und xl/worksheets/sheet1.bin — identischer Behälter, binäre statt XML-Teile. Eine XLSM ist Byte für Byte eine XLSX plus die Erlaubnis, xl/vbaProject.bin zu tragen. XLS fällt heraus: sie beginnt mit D0 CF 11 E0 A1 B1 1A E1, einer OLE2-Verbunddatei von vor 2007, und Umbenennen in .zip bringt nichts. Die Größenunterschiede sind echt, aber kleiner als die Legende. Dasselbe 201-Zeilen-Blatt belegt 17 408 Byte als .xls, 44 343 als .xlsx, 44 321 als .xlsm, 28 505 als .xlsb. Der Maßstab dreht das Bild: bei 25 000 Zeilen mal 5 Spalten war die .xlsx 5 031 220 Byte groß und brauchte 562 ms zum Einlesen, die .xlsb 3 780 567 Byte und 234 ms — ein Viertel kleiner, doppelt so schnell gelesen. Eine Warnung vor dem Umwandeln: dieses Werkzeug schreibt .xlsx, und .xlsx kann keine Makros tragen. Eine XLSM umzuwandeln entfernt sie, kommentarlos.
Vier Endungen, drei davon dieselbe Kiste mit unterschiedlichen Deckeln. Benenne eine XLSX in .zip um, und sie lässt sich öffnen — diese eine Tatsache erklärt die ganze Familie, und sie erklärt, warum ausgerechnet XLS, das sich so nicht öffnen lässt, weiter Ärger macht.
Die eine Tatsache, die alles erklärt: benenne es in .zip um
Nimm eine Kopie irgendeiner .xlsx, ändere die Endung in .zip und mach einen Doppelklick. Sie öffnet sich. Darin liegt ein Ordnerbaum: [Content_Types].xml erklärt, was jeder Teil ist, _rels/.rels sagt, wie die Teile aufeinander verweisen, xl/workbook.xml listet die Blätter, xl/worksheets/sheet1.xml enthält die Zellen, xl/styles.xml die Formatierung. Die Testdatei dieses Artikels hatte genau zehn solcher Mitglieder. Das ist der ganze Entwurf: eine Mappe ist ein gepacktes Bündel kleiner XML-Dokumente, normiert als ECMA-376 und später als ISO/IEC 29500.
Wer das einmal gesehen hat, für den hört der Rest der Familie auf, rätselhaft zu sein. XLSM ist dasselbe ZIP mit einem zusätzlich erlaubten Teil darin — xl/vbaProject.bin, dem kompilierten Makroprojekt — und einem Inhaltstyp, der Excel ankündigt, damit zu rechnen. XLSB ist wieder dasselbe ZIP, nur ist jeder XML-Teil durch einen binären Datensatzstrom ersetzt: in der Testdatei wurde aus xl/workbook.xml die xl/workbook.bin, aus xl/worksheets/sheet1.xml die sheet1.bin, aus xl/styles.xml die styles.bin. Gleicher Behälter, gleicher Aufbau, andere Kodierung des Inhalts.
XLS verweigert den Trick, und genau diese Verweigerung ist der Punkt. Ihre ersten acht Byte lauten D0 CF 11 E0 A1 B1 1A E1 — die Signatur einer OLE2-Verbunddatei, eines kleinen Dateisystems in einer Datei, das Microsoft vor 2007 für Office-Dokumente nutzte. Kein ZIP, kein XML, nichts, worin ein modernes Werkzeug ohne eigenen Parser herumlaufen könnte. Alles Sperrige an XLS folgt daraus: es ist ein Gegenstand anderer Art, der den Namen einer Tabelle trägt.
Warum eine Organisation, die noch XLS bekommt, ein echtes Problem hat
Das Problem ist nicht Nostalgie, sondern Angriffsfläche. Eine XLS zu lesen heißt, einen handgeschriebenen Binärparser über nicht vertrauenswürdige Bytes laufen zu lassen: in einen Datenstrom springen, einen Satztyp lesen, eine Länge lesen, dieser Länge glauben. Diese Art Code hat über zwei Jahrzehnte eine lange Reihe von Speicherfehler-Meldungen in Office hervorgebracht, und deshalb liefert Microsoft Dateisperr-Einstellungen aus, mit denen eine Administration alte Binärformate rundweg ablehnen kann, und deshalb werden Makros aus dem Internet stammender Dateien standardmäßig blockiert und nicht bloß angemahnt.
Das zweite Problem ist leiser und teurer: XLS ist bei 65 536 Zeilen und 256 Spalten am Ende. Ein moderner Export, der eines von beidem überschreitet, wird abgeschnitten statt abgelehnt, und ein abgeschnittener Bericht sieht genauso aus wie ein vollständiger. Wenn irgendein Ablauf in deiner Organisation noch .xls erzeugt, ist das zuerst zu prüfen — noch vor der Sicherheitsfrage.
Die Lösung ist nicht, die Endung zu verbieten — das schiebt die Datei nur in einen E-Mail-Anhang, den niemand protokolliert. Die Lösung ist, sie beim Eingang umzuwandeln und das Original irgendwo schreibgeschützt aufzubewahren. Genau dafür ist der Konverter dieser Seite da: er liest XLS, XLSX, XLSM, XLSB, ODS und Apple Numbers und schreibt XLSX. Eine Ausgabe, immer, in deinem Browser, ohne dass etwas hochgeladen wird.
XLSM — und das, was dieser Konverter dir nicht sagt
XLSM gibt es aus einem einzigen Grund: XLSX darf keine Makros enthalten, also braucht eine Mappe, die Code ausführt, einen anderen Inhaltstyp und eine andere Endung. Diese Trennung ist Absicht und ein guter Entwurf — schon am Dateinamen erkennst du, ob eine Tabelle etwas ausführen kann, bevor du sie öffnest.
Was uns zu dem bringt, was das Ausführen des Konverters tatsächlich gezeigt hat. Für den Test wurde eine Mappe gebaut, die wirklich xl/vbaProject.bin trägt, in [Content_Types].xml genau so deklariert, wie Excel es deklariert. Das Werkzeug las sie anstandslos. Das Makroprojekt überlebte in keine Richtung: der Leser fragt es nie ab, es wird also verworfen, noch bevor die Umwandlung beginnt, und die herauskommende .xlsx enthält überhaupt keinen VBA-Teil — die zehn Mitglieder der Ausgabe wurden einzeln geprüft. Also: eine XLSM hier umzuwandeln liefert eine funktionierende Tabelle mit entferntem Code, und keine Meldung sagt es.
Oft ist genau das erwünscht. Einer per Mail eingegangenen Mappe die Makros zu nehmen ist eine vernünftige Hygienemaßnahme, und der sicherste Weg dorthin ist, nach XLSX umzuwandeln und das Ergebnis zu behalten. Es ist eine Katastrophe, wenn die Makros der Sinn der Sache waren — ein Monatsmodell, das jemand in der Buchhaltung 2011 gebaut hat und das seither niemand gelesen hat. Wisse vor dem Klick, welcher Fall vorliegt, und behalte das Original in beiden Fällen.
Wann XLSB seine Unverträglichkeit wert ist
Auf einem kleinen Blatt bringt XLSB fast nichts. Die 201-zeilige Testdatei war 44 343 Byte als .xlsx und 28 505 als .xlsb, und keine von beiden brauchte eine messbare Zeit zum Öffnen. Bei 25 000 Zeilen mal 5 Spalten wird der Abstand zum Argument: 5 031 220 Byte gegen 3 780 567, und 562 Millisekunden Einlesen gegen 234. Das ist der ganze Fall für XLSB, und er ist echt — ein Viertel weniger auf der Platte und weniger als die halbe Lesezeit, weil der Parser Zahlen bekommt statt eines Textdokuments, das er zerlegen muss.
Der Preis ist Portabilität, und er ist hoch. XLSB ist ein binäres Teileformat von Microsoft: die Spezifikation ist veröffentlicht, aber jedes Werkzeug, das es liest, musste sie eigens umsetzen, und die Unterstützung außerhalb von Excel ist lückenhafter und später gekommen als bei XLSX. Web-Vorschauen, Mailprogramme, Statistikpakete und die halbe Skriptbibliothekswelt öffnen eine XLSX und stolpern über eine XLSB. Es gab eine weitere gemessene Überraschung: die 25 000-Zeilen-XLSB mit derselben Bibliothek zu schreiben dauerte 21 Sekunden gegen eine halbe Sekunde für die XLSX. Das ist eher eine Eigenschaft jenes Schreibers als des Formats, erinnert aber daran, dass die schnelle Seite von XLSB die Leseseite ist.
Die Regel ist also eng. Nimm XLSB, wenn die Datei in Millionen Zellen gemessen wird, in einer Organisation bleibt, nur in Excel geöffnet wird und die bei jedem Öffnen gesparten Sekunden für jemanden etwas wert sind. Alles andere ist XLSX — auch alles, was du an jemanden schickst, dessen Software du nicht kontrollierst.
Was der Konverter behalten hat — und was nicht
Das Testblatt hatte 200 Formeln in der letzten Spalte und eine Datumsspalte, und jedes der fünf Formate lief durch den Lese- und Schreibweg des Werkzeugs selbst. Zeilen: 201 von 201, jedes Mal. Datumsangaben: in allen fünf als Datum erhalten, nicht als Seriennummer. Formeln: 200 von 200 aus XLSX, XLSM und ODS erhalten. Null aus XLSB und null aus XLS — die Werte kamen an, die Rechnungen nicht.
Diese letzte Zeile braucht eine ehrliche Fußnote. Die XLS- und XLSB-Testdateien wurden von derselben Bibliothek geschrieben, die sie wieder eingelesen hat, und deren Schreiber für diese beiden Formate legen den zwischengespeicherten Wert ohne die Formel ab. Die Messung beweist also, dass der Hin- und Rückweg verlustbehaftet ist; sie beweist nicht, dass eine wirklich von Excel geschriebene XLS ihre Formeln beim Einlesen verlöre. Der praktische Rat ist in beiden Fällen derselbe und kostet eine Minute: öffne die umgewandelte Datei, klick auf eine Zelle, die eine Rechnung sein sollte, und sieh in die Bearbeitungsleiste, bevor du das Original löschst.
Noch etwas Wissenswertes über den Leser: er fordert die leeren Zellen mit an. Eine Zelle, deren Formel vorhanden, deren zwischengespeichertes Ergebnis aber leer ist — häufig in Mappen, die ein Generator geschrieben oder die jemand ohne Neuberechnung gespeichert hat —, würde sonst ganz weggeworfen, samt Formel. Weil diese Zellen erhalten bleiben, kann eine umgewandelte Datei dir eine Formel zeigen, die nie eine Zahl geliefert hat.
| Format | Was die Datei wirklich ist | Öffnet sich, umbenannt in .zip | Kann Makros enthalten | Größe, 201-Zeilen-Blatt | Wähle es, wenn |
|---|---|---|---|---|---|
| XLS | OLE2-Verbunddatei, Binärformat vor 2007 | Nein | Ja, als Binärstrom | 17 408 Byte | Nie schreiben. Lesen, umwandeln, Original archivieren |
| XLSX | ZIP aus XML-Teilen (ECMA-376) | Ja — 10 Mitglieder in der Testdatei | Nein, absichtlich | 44 343 Byte | Immer, außer eine Zeile unten trifft zu |
| XLSM | Dasselbe ZIP, plus erlaubte xl/vbaProject.bin | Ja — dieselben 10 Mitglieder | Ja — das ist der einzige Unterschied | 44 321 Byte | Die Mappe muss Code ausführen und du vertraust ihr |
| XLSB | Dasselbe ZIP mit .bin- statt .xml-Teilen | Ja — workbook.bin, sheet1.bin, styles.bin | Ja | 28 505 Byte | Millionen Zellen, nur Excel, eine Organisation |
| ODS | ZIP aus ODF-Teilen, das LibreOffice-Format | Ja — content.xml, styles.xml, mimetype | Ja, in seinem eigenen Skriptmodell | 94 890 Byte | Deine Organisation setzt auf offene Formate |
Häufige Fragen
- Kann ich eine XLS einfach in XLSX umbenennen?
- Nein, und das ist der häufigste Weg, eine Datei zu verlieren. Die Endung ist ein Etikett; die Bytes darunter sind eine OLE2-Verbunddatei, kein ZIP. Excel merkt es meist und verweigert, oder öffnet mit dem Hinweis, dass Endung und Inhalt nicht zusammenpassen. Alles Nachsichtigere gibt schlicht einen Fehler aus. Umbenennen klappt nur zwischen XLSX, XLSM und XLSB, die wirklich derselbe Behälter sind — und selbst da belügst du den Inhaltstyp, was eigene Probleme schafft. Wandle lieber um.
- Zerstört das Umwandeln meiner XLSM in XLSX sie?
- Es zerstört die Makros und sonst nichts. Zellen, Formeln, Formatierung und Blattnamen kommen durch; das kompilierte VBA-Projekt nicht, weil XLSX keinen Platz dafür hat. Geprüft an einer Mappe, die eigens gebaut wurde, um xl/vbaProject.bin zu tragen — die Ausgabe enthielt keinerlei VBA-Teil, und es erschien keine Warnung. Sind die Makros tragend, behalte die XLSM und wandle nur eine Kopie um. Sind sie unerwünscht, ist das der sauberste Weg, sie loszuwerden.
- Ist XLSB wirklich schneller oder ist das ein Mythos?
- Echt, aber nur im großen Maßstab und nur beim Lesen. Bei einem 201-Zeilen-Blatt sind es 28 505 Byte gegen 44 343, und keine von beiden braucht eine messbare Zeit zum Öffnen. Bei 25 000 Zeilen mal 5 Spalten sind es 3 780 567 Byte gegen 5 031 220 und 234 Millisekunden gegen 562 — ein Viertel kleiner, in weniger als der halben Zeit gelesen. Dieselbe Datei zu schreiben war mit der hier verwendeten Bibliothek umgekehrt: 21 Sekunden für die XLSB gegen eine halbe Sekunde für die XLSX. Beurteile XLSB danach, wie oft die Datei geöffnet wird, nicht danach, wie groß sie im Ordner aussieht.
- Wie erkenne ich, was eine Datei wirklich ist, wenn die Endung falsch ist?
- Sieh dir die ersten Bytes an. 50 4B — die Zeichen PK — heißt ZIP, also XLSX, XLSM, XLSB, ODS oder ein gewöhnliches Archiv. D0 CF 11 E0 A1 B1 1A E1 heißt OLE2-Verbunddatei: XLS, DOC, PPT oder ein altes MSI. Klartext mit Kommas oder Semikola und ganz ohne Signatur ist eine CSV, die jemand umbenannt hat. Auf macOS und Linux sagt der Befehl `file` das alles in einer Zeile; unter Windows zeigt jeder Hex-Betrachter die erste Reihe. So entscheidet auch der Konverter dieser Seite, was er bekommen hat, statt dem Namen zu glauben.
- Lädt der Konverter meine Mappe irgendwohin hoch?
- Nein. Die ganze Umwandlung läuft in deinem Browser: die Tabellenbibliothek wird einmal geladen, die Datei von der Platte in den Speicher gelesen und die neue Mappe als Download wieder herausgeschrieben. Nichts verlässt den Rechner — genau das, was man für den Fall braucht, um den es dieser Seite wirklich geht: eine alte Mappe voller Namen, Gehälter oder Kundendaten, die man nicht auf den Server eines Fremden legen möchte, bloß um die Endung zu ändern.
Artikel, die dich interessieren könnten
Alle Ratgeber →Ähnliche Tools
Das hier beschreibt, was diese Konverter heute tun — geprüft, indem ihr eigener Code auf echten Dateien ausgeführt wurde — und nicht, was sie tun sollten. Wie sich ein Format verhält, hängt von der Excel-, LibreOffice- oder Numbers-Version ab, die die Datei geschrieben hat, und von der, die sie öffnen wird: Behalte das Original also, bis du die umgewandelte Kopie geöffnet und angesehen hast. Alles, worauf es ankommt — eine Mappe mit Makros, ein Modell voller Formeln, eine Datei, auf die sich jemand anderes verlässt — wird nach der Umwandlung Zelle für Zelle geprüft und nicht deshalb geglaubt, weil ein Fortschrittsbalken durchgelaufen ist.
Quellen
Hast du einen Fehler in diesem Artikel entdeckt?