# Doxx — Render Word Documents in the Terminal > A fast Rust CLI tool that renders .docx files directly in the terminal with formatting, tables, and images. No Microsoft Office or LibreOffice required. ## Install Save as a script file and run: # Doxx — Render Word Documents in the Terminal ## Quick Use ```bash cargo install doxx doxx document.docx # Or pipe to less for scrolling doxx document.docx | less -R ``` ## Introduction Doxx is a lightweight Rust CLI that renders Microsoft Word (.docx) files directly in your terminal. It preserves formatting, tables, lists, and embedded images without requiring Microsoft Office, LibreOffice, or any other office suite. ## What Doxx Does - Renders .docx files with formatted text output in the terminal - Preserves headings, bold, italic, and other text styling - Displays tables with aligned columns and borders - Shows embedded images as terminal-compatible output - Supports piping output for integration with other CLI tools ## Architecture Overview Doxx parses the OOXML format (ZIP archive containing XML) directly in Rust. It walks the document XML tree, extracts text runs with their formatting properties, and renders them using terminal escape codes. Table layout uses a constraint-based algorithm to compute column widths within terminal dimensions. ## Self-Hosting & Configuration - Install via cargo: `cargo install doxx` - Or download prebuilt binaries from GitHub releases - No configuration needed; it works out of the box - Set `DOXX_THEME` to switch between light and dark output styles - Supports reading from stdin for pipeline integration ## Key Features - Zero-dependency single binary written in Rust - Preserves document structure including headers, lists, and tables - Fast startup and rendering even for large documents - Terminal-aware output that adapts to your window width - Integrates with pipes, less, grep, and other CLI tools ## Comparison with Similar Tools - **LibreOffice CLI** — Full office suite; Doxx is a focused single binary for viewing - **pandoc** — Document converter; Doxx focuses on terminal rendering, not conversion - **catdoc** — Legacy .doc viewer; Doxx supports modern .docx with rich formatting - **Antiword** — Plain text extraction; Doxx preserves formatting and table layout ## FAQ **Q: Does it support .doc files?** A: No, Doxx supports the modern .docx (OOXML) format only. For legacy .doc files, use catdoc or antiword. **Q: Can I extract just the text without formatting?** A: Yes, use `doxx --plain document.docx` for plain text output. **Q: How are images handled?** A: Images are rendered using terminal graphics protocols where supported, or shown as placeholder text otherwise. **Q: What platforms are supported?** A: Linux, macOS, and Windows. Any terminal with ANSI color support works. ## Sources - https://github.com/bgreenwell/doxx --- Source: https://tokrepo.com/en/workflows/asset-4b84b214 Author: Script Depot