A lightweight, open-source Node.js library for converting DOCX, DOC, RTF, TXT, and MD files to Markdown, plain text, and PDF without requiring Microsoft Word.
- DOCX Support: Pure Node.js reader using
adm-zipandfast-xml-parser - DOC Support: Word 97-2003 binary format reader (planned)
- RTF Support: Rich Text Format reader (planned, delegates to DOC)
- Plain Text & Markdown Input: Read
.txtand.mdfiles - Markdown Export: Rich formatting — headings, bold/italic/strikethrough/underline, ordered and unordered lists (including nested), tables, block quotes, code blocks, and hyperlinks
- PDF Export: Generate PDF output via
pdfkit - Plain Text Export: Extract document text content
npm install tinyweb-office-wordsimport { Document, SaveFormat } from 'tinyweb-office-words';
const doc = new Document('input.docx'); // or .doc, .rtf, .txt, .md
doc.save('output.md', SaveFormat.MARKDOWN);import { Document, SaveFormat } from 'tinyweb-office-words';
const doc = new Document('input.docx');
doc.save('output.pdf', SaveFormat.PDF);import { Document } from 'tinyweb-office-words';
const doc = new Document('input.docx');
const text = doc.getText();import { Document } from 'tinyweb-office-words';
import { MarkdownSaveOptions, PdfSaveOptions, TableContentAlignment } from 'tinyweb-office-words/saving';
const doc = new Document('input.docx');
const mdOpts = new MarkdownSaveOptions();
mdOpts.export_underline_formatting = true;
doc.save('output.md', mdOpts);
const pdfOpts = new PdfSaveOptions();
doc.save('output.pdf', pdfOpts);- Node.js >= 18.0.0
- Dependencies:
adm-zip,fast-xml-parser,pdfkit,zod
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm testMIT License - see the LICENSE file for details.