Read and navigate PDF documents without leaving Neovim.
pdfreader.nvim renders PDF pages directly in the terminal (via Kitty’s graphics
protocol).

- Render PDF pages in standard, dark, or text-only mode.
- Bookmarks
- Telescope.nvim integration.
- Works on Mac and Linux.
- Kitty terminal or Ghostty
- Neovim ≥ 0.9
- ImageMagick
- Ghostscript (ImageMagick requires it for PDF support)
- poppler-utils
If supported terminal is unavailable, the plugin will automatically work in text mode only.
{
"r-pletnev/pdfreader.nvim",
lazy = false,
dependencies = {
"folke/snacks.nvim", -- image rendering
"nvim-telescope/telescope.nvim", -- pickers
},
config = function()
require("pdfreader").setup()
end,
}Open a PDF as you would any file:
:e ~/docs/paper.pdf| Key | Action |
|---|---|
n |
Next page |
p |
Previous page |
z |
Zoom in |
q |
Zoom out |
e |
Reset zoom |
| Command | Description |
|---|---|
:PDFReader setViewMode {standard, dark, text} |
Change view mode |
:PDFReader setAutosave {on, off} |
Toggle autosave |
:PDFReader setPage {num} |
Jump to page |
:PDFReader addBookmark [{num}][,comment] |
Add bookmark |
:PDFReader showBookmarks |
Telescope bookmarks picker |
:PDFReader showRecentBooks |
Telescope recent books picker |
:PDFReader saveState |
Force save state |
:PDFReader clearState |
Delete state & covers |
:PDFReader redrawPage |
Re-render current page |
:PDFReader showToc |
Show current book table of contents |
Command arguments are fully tab-completable.
- Blank buffer / no images → ensure you are using supported terminal and have installed ImageMagick and poppler-utils.
- Consult
:messagesfor detailed logs emitted by pdfreader.nvim.
Pull requests and issues are welcome!