tdf: A Terminal PDF Viewer That Actually Feels Fast
If you spend any time in the terminal, you know the pain of opening a PDF—especially a large one—just to check a reference or skim a paper. Most PDF viewers are heavy desktop apps, and terminal-based ones often feel sluggish or lack search. That's where tdf comes in.
It's a terminal PDF viewer built with Rust, designed to be fast, responsive, and developer-friendly. It's not trying to replace your main reader, but it might just become your go-to for quick lookups.
What It Does
tdf renders PDFs directly in your terminal. It uses asynchronous rendering so the interface stays snappy even when you're flipping through pages. It also includes full text search, which is surprisingly rare in terminal PDF tools.
You can scroll, zoom, and search through documents without leaving your terminal. It handles both small and large PDFs without freezing.
Why It’s Cool
Asynchronous rendering is the killer feature here. Most terminal PDF viewers block the UI while rendering a page, making them feel janky. tdf doesn't. You can scroll or search immediately, and the page loads in the background.
Search works well. It highlights matches and lets you jump between results. For a terminal tool, this is a huge quality-of-life improvement.
Rust performance means it starts fast and uses minimal memory compared to Electron-based alternatives. If you're already in the terminal for coding, this fits right in.
No X11 or Wayland dependencies (mostly). It uses the terminal's native capabilities, so it works over SSH or in tmux, which is a big win for remote workflows.
How to Try It
The project is at github.com/itsjunetime/tdf. Installation is straightforward if you have Rust installed:
cargo install tdf
Then just run:
tdf path/to/document.pdf
You can also build from source or check the releases page for prebuilt binaries. It should work on Linux, macOS, and Windows (with a proper terminal).
Final Thoughts
tdf is a solid choice for developers who live in the terminal and need a quick PDF viewer that doesn't get in the way. It's not flashy, but it does the job well. The async rendering and search make it noticeably better than most alternatives.
If you've been using zathura or mupdf and wish they were more terminal-native, give tdf a try. It might change how you look at PDFs.
Originally shared on @githubprojects
Repository: https://github.com/itsjunetime/tdf