DOC: Legacy Word 97
The formatted Word document saved as legacy binary .doc (Word 97-2003, OLE compound file) via LibreOffice. For testing legacy-Office parsers and DOC→DOCX conversion.

Rendered preview of the doc file (23 KB). Download above for the original.
Specifications
- Format
- MS Word 97-2003 (.doc)
- Source
- formatted.docx
- Converter
- LibreOffice
Testing contract
Expected to pass- Scenario
- Exercise DOC: Legacy Word 97 in its word workflow. The formatted Word document saved as legacy binary .doc (Word 97-2003, OLE compound file) via LibreOffice.
- Expected result
- 7 OLE compound streams; CompObj: 106 bytes; Ole: 20 bytes; 1Table: 10575 bytes; Data: 1198 bytes; SummaryInformation: 276 bytes; WordDocument: 7229 bytes; DocumentSummaryInformation: 172 bytes. Declared feature checks: source=formatted.docx; converter=LibreOffice.
What is a .doc file?
A .doc file is the legacy binary Microsoft Word format (Word 97–2003) using the OLE2 compound-file structure, distinct from the modern XML-based .docx. It is still encountered in archives and legacy document flows.
How to use this file
Use an example .doc file to test legacy Word parsers (antiword, LibreOffice), OLE2 compound-file handling, and DOC-to-DOCX conversion.
How to use this file for testing
“DOC: Legacy Word 97” is a deterministic Testaroo fixture for Conversion testing. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.
Documented properties for this file: MS Word 97-2003 (.doc). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Document fixtures list their internal structure (pages, fields, tracked changes, embedded objects) in the spec table. Test extractors, converters, and OCR against that known structure, and compare searchable↔scanned or format-twin companions when present.
Code examples
soffice --headless --convert-to docx legacy.doc
antiword legacy.doc # quick text dumpGenerated by generation/docs_legacy.py. Free for any use, no attribution required, license.
Related files
- docxDOCX with CommentsA Word document with two anchored reviewer comments, for testing comment extraction and whether converters preserve or drop review annotations.

- docxDOCX with Core and Custom PropertiesA valid DOCX package with fixed core properties and two custom properties surrounding an unchanged word/document.xml part.

- docxDOCX with Metadata StrippedThe same DOCX document part without core or custom property parts, suitable for checking OOXML metadata removal without content loss.

- docxDOCX with Tracked ChangesA Word document with real tracked changes (insertions and deletions attributed to two reviewers with timestamps) for testing how tools read, accept, reject, or preserve revisions.

- docxPlain DOCXA minimal Word document of plain paragraphs with no styling: the simplest valid DOCX for baseline parser testing.

- ediAlder Table Bistro: ANSI X12 810 invoiceANSI X12 810 invoice for Alder Table Bistro. Version 004010 transaction set 810 for invoice INV-BST-5002, control number 810002. 3 IT1 segments, a TXI segment stating GST of 15.69, and a TDS segment of 32953 in implied-decimal cents, which is 329.53 CAD. SE declares 13 segments and 13 are present.
