Show HN: Doxx – Terminal .docx viewer inspired by Glow

29 w108bmg 4 8/17/2025, 7:52:03 PM github.com ↗
I got tired of open file.docx → wait 8 seconds → close Word just to read a document, so I built a terminal-native Word viewer!

What it does:

* View `.docx` files directly in your terminal with (mostly) proper formatting

* Tables actually look like tables (with Unicode borders!)

* Nested lists work correctly with indentation

* Full-text search with highlighting

* Copy content straight to clipboard with `c`

* Export to markdown/CSV/JSON

Why I made this:

Working on servers over SSH, I constantly hit Word docs I needed to check quickly. The existing solutions I'm aware of either strip all formatting (docx2txt) or require GUI apps. Wanted something that felt as polished as [glow](https://github.com/charmbracelet/glow) but for Word documents.

The good stuff:

* 50ms startup vs Word's 8+ seconds

* Works over SSH (obviously)

* Preserves document structure and formatting

* Smart table alignment based on data types

* Interactive outline view for long docs

Built with Rust + ratatui and heavily inspired by Charm's [glow](https://github.com/charmbracelet/glow) package for viewing Markdown in the CLI (built in Go)!

    # Install
    cargo install --git https://github.com/bgreenwell/doxx
    
    # Use
    doxx quarterly-report.docx
Still early but handles most Word docs I throw at it. Always wanted a proper Word viewer in my terminal toolkit alongside `bat`, `glow`, and friends. Let me know what you think!

Comments (4)

greazy · 21m ago
Very cool project. I wish something like this for pdf files.

No comments yet

treetalker · 3h ago
Great project! Looking forward to trying it out in my law practice.

The name causes miscues and carries negative connotations, though, on account of its homonym verb (doxxing).

ThreatSystems · 22m ago
I am genuinely curious, as to how this would be a solution for a law practice? How many lawyers are SSH'd into servers? Or am I being ignorant?
Tmpod · 42m ago
Was thinking the same. Might be worth looking into renaming the project, to prevent situations like that for both maintainers and users.