application/vnd.ms-excel Excel Spreadsheet (Legacy .xls) Common
Identifies legacy, pre-2007 Microsoft Excel spreadsheets (.xls) — an older binary format, distinct from modern XLSX.
What it's for
application/vnd.ms-excel identifies legacy Microsoft Excel spreadsheets (.xls) — the binary format used by Excel versions before Office 2007, following the same Compound File Binary structure as legacy Word (.doc) files, before Microsoft's shift to the XML/ZIP-based Office Open XML format (XLSX). Like its Word counterpart, .xls is a proprietary binary structure that isn't directly readable or parseable the way XLSX's inspectable ZIP-of-XML approach is.
This MIME type is also, somewhat confusingly, occasionally used informally by older tools or misconfigured systems as a generic "this is Excel-related" label even for CSV exports — worth being aware of when debugging unexpected Content-Type values on spreadsheet-adjacent files.
Format & syntax
Content-Type: application/vnd.ms-excel
No parameters. The internal binary structure encodes worksheets, cells, formulas, and formatting in Excel's proprietary pre-2007 layout — fundamentally different from XLSX's XML-based approach, requiring dedicated legacy-format support in any library or tool that needs to read it.
How it's used in practice
- Legacy spreadsheet archives — organizations with older financial models, data exports, or reports predating 2007 commonly still hold
.xlsfiles needing occasional access or migration to modern formats. - Older systems still generating .xls exports — some legacy business software, especially older ERP or reporting systems that haven't been updated, still generate
.xlsexports rather than modern XLSX, requiring downstream systems to handle both. - Backward-compatible export options — similar to legacy Word, some spreadsheet-generation tools offer
.xlsas a compatibility option for very old Excel versions or systems that can't handle XLSX. - Occasionally misapplied to CSV files by misconfigured systems — some older or poorly configured export features label a plain CSV file with this Excel-specific MIME type (perhaps intending to hint "open with Excel"), which is technically incorrect and can cause confusion in strict file-type validation logic expecting a genuine binary
.xlsstructure.
Common mistakes & gotchas
- Assuming .xls and .xlsx are interchangeable formats — like the Word equivalent, these are structurally incompatible (binary Compound File vs. ZIP-of-XML), despite both being "Excel spreadsheets." Parsing logic built for one won't correctly handle the other.
- Trying to parse .xls with an XLSX-only library — a common integration bug: many modern spreadsheet libraries default to or only support the XLSX structure, silently failing or erroring on legacy
.xlsuploads unless the library explicitly documents dual-format support. - Confusing this MIME type with a mislabeled CSV — since some systems informally use
application/vnd.ms-excelfor CSV exports, validation logic that strictly expects genuine binary.xlsstructure can reject what's actually a perfectly valid CSV file wearing the wrong Content-Type label — worth checking actual file content/structure, not just trusting the declared MIME type, when this mismatch is suspected. - Underestimating legacy binary format complexity — like
.doc, the pre-2007 Excel binary format is considerably more complex to parse from scratch than XLSX's XML structure, which is why most tooling relies on established libraries or conversion-through-Excel/LibreOffice rather than custom parsing.
Comparison & FAQ
| Type | Purpose | Key difference from application/vnd.ms-excel |
|---|---|---|
| XLSX (OOXML) | Modern Excel spreadsheet format | XML/ZIP-based, human-inspectable structure, introduced with Office 2007 — not interchangeable with legacy .xls |
| text/csv | Simple flat tabular data | Plain text with no formulas/formatting/multiple sheets; sometimes mislabeled with this Excel MIME type by older export tools |
What's the difference between .xls and .xlsx?
They're fundamentally different formats: .xls uses an older, proprietary binary structure (pre-Office 2007), while .xlsx uses a modern XML-based structure inside a ZIP archive (Office 2007 onward). They require different parsing logic and aren't directly interchangeable by renaming.
Why is my CSV file showing Content-Type: application/vnd.ms-excel?
Some older or misconfigured export tools informally label CSV exports with this Excel-specific MIME type rather than the correct text/csv, likely intending to hint that the file should open in Excel. It's technically incorrect labeling — the actual file content is still plain CSV text, not genuine binary .xls data.
Can I open a .xls file with an XLSX-only library?
No — libraries built specifically for the modern OOXML/XLSX structure generally can't parse the legacy binary .xls format; you need a library with explicit legacy format support, or a conversion step through Excel or a compatible tool first.
How do I convert a .xls file to modern XLSX?
Excel and LibreOffice can both open and re-save .xls files as .xlsx directly, which is the most reliable path for one-off conversions; for bulk/automated pipelines, spreadsheet libraries or headless conversion tools with dual-format support handle this at scale.