Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Cursor PDFNew to Visual Studio Code? Get it now.
Cursor PDF

Cursor PDF

bcharleson

| (0) | Free
Fast PDF viewer and editor for Cursor. Virtualized pages, selectable text, search, annotations, and send-to-chat.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cursor PDF

A PDF viewer and editor for Cursor and VS Code. Pages render only while they are on screen, text stays selectable, and the document can be sent to chat as markdown with page numbers.

By Brandon Charleson (bcharleson). This is a new extension. It does not wrap or reuse another PDF extension.

What it does

  • Opens .pdf files in the editor. If another PDF tool already owns that file type, use Reopen Editor With… or Cursor PDF: Use for All PDFs.
  • Renders a small window of pages and drops the rest, so a long PDF does not keep every page as a bitmap.
  • Caps retina canvas resolution (cursorPdf.maxPixelRatio, default 2).
  • Select, copy, and search text. Find works while the PDF has focus, because Cursor does not deliver Cmd+F from a focused webview to the workbench.
  • Highlight, underline, strikeout, sticky notes, typed text, ink, and erase. Undo and redo stay in the editor until you save.
  • Edit AcroForm text, checkbox, dropdown, and radio fields. The page updates as you type.
  • Rotate or delete a page, then save those changes into the PDF. Save keeps one backup you can restore.
  • Reloads when the file changes on disk and keeps your page, zoom, and scroll position.
  • Send to Chat puts the page text into a new Cursor chat and attaches a markdown copy. Each page is a ## Page N section.
  • Cmd-click a .pdf path in the terminal to open it in this viewer. A password-protected PDF asks for the password before it renders.

Install

From a terminal, after downloading a release:

cursor --install-extension cursor-pdf-0.1.1.vsix

Or, with the code command: code --install-extension cursor-pdf-0.1.1.vsix.

Then open a PDF. If it opens as unreadable text, run Reopen Editor With… and choose Cursor PDF.

Cmd+Alt+L sends the PDF to chat. Cmd+S writes edits into the file after a confirmation. Cmd+F finds inside the PDF.

The shell helper opens a PDF in whichever of Cursor or VS Code is installed:

bin/cursor-pdf path/to/file.pdf

The first launch claims *.pdf only when nothing else already owns that association.

Memory

Setting Default Effect
cursorPdf.pageBudget 6 Pages kept as canvases. Visible pages farther away are blank placeholders.
cursorPdf.maxPixelRatio 2 Upper bound on canvas pixels. Set to 1 on a memory-tight machine.
cursorPdf.chatMaxChars 80000 Chat export stops here so a long PDF does not flood the agent.

The PDF is fetched once as bytes. It is not base64-copied into editor state. Canvases are cleared when a page leaves the budget so the bitmap can be freed.

Develop

npm install
npm test
npx vsce package --no-dependencies

npm test typechecks the extension, the webview, and the tests, then checks page virtualization, zoom anchoring, search, chat markdown, terminal path detection, and a real edit round-trip through PDF.js.

Run Run Cursor PDF from the debugger. It opens test/fixtures/sample.pdf. test/fixtures/locked.pdf asks for the password secret.

License

MIT, copyright Brandon Charleson. PDF rendering uses Mozilla PDF.js (Apache-2.0). Saving uses pdf-lib (MIT). See NOTICE and THIRD_PARTY/.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft