PDF Annotator
No PDF open
📄

Open or drop a PDF

Read embedded bookmarks, follow PDF links with browser Back/Forward history, select and copy text, highlight passages, draw movable image regions, capture high-resolution screenshots, run AI-assisted OCR or table extraction, reshape polygons, and add sticky notes. PDF rendering remains in this browser.

The app loads its three JavaScript libraries from public CDNs. PDF regions are sent outside the browser only when you run OCR or table extraction, and only to the provider configured under Settings.
Using the app

Text highlights

Select the Text highlight tool, then drag across selectable PDF text. Multi-line selections become one native PDF highlight annotation with multiple quadrilaterals.

Image regions

Draw a rectangle or ellipse by dragging. Hold Ctrl while drawing a rectangle for a perfect square or an ellipse for a perfect circle. For a polygon, click each vertex, then click the first vertex, double-click, or press Enter to close it. Polygons may be concave. Press Escape to cancel an unfinished polygon.

High-resolution screenshots

Select Screenshot, then drag a rectangular region. Hold Ctrl for a square. The selected PDF area is re-rendered offscreen at the scale needed to make its shorter output side at least the configured pixel size, independent of the current viewer zoom. Change the target under Settings.

OCR and table extraction

Configure an API-key provider under Settings, then drag a region with OCR or Table extraction. OCR requests Markdown with inline $…$ and display $$…$$ LaTeX. Table extraction requests GitHub-flavored Markdown tables. The recommended reasoning setting uses low effort for OCR and medium effort for table reconstruction; explicit effort control is applied to OpenAI, OpenRouter, and compatible endpoints. Review the result before adding it as a native rectangle annotation; the extracted Markdown is stored in the annotation comment and included in Markdown export.

Recent files

The Open menu lists up to 10 recently opened PDFs. Reopen them without selecting the source file again. PDF copies are stored only in this browser using IndexedDB and are removed by Clear recent files, browser site-data cleanup, or storage eviction. The cache is limited to 512 MB.

Table of contents, links, and history

Embedded PDF bookmarks appear under Contents. Bookmark entries and internal page links navigate to their PDF destinations. Browser Back and Forward return to the recorded PDF page and position. External web links open in a new tab. Link activation is enabled while the Select tool is active.

Resizable sidebars

On desktop, drag the inner edge of either sidebar to resize it. The chosen widths are remembered in this browser. Focus a resize divider and use the arrow keys for precise adjustment; hold Shift for larger steps. Double-click a divider to restore that sidebar's default width. Use Alt+[ and Alt+] to toggle the left and right sidebars.

Exports

“Annotated PDF” appends standard PDF annotation dictionaries without flattening them into page graphics. “Markdown ZIP” creates one Markdown file plus an assets/ folder of PNG crops. “Export folder” writes the same structure directly when the browser supports the File System Access API.

Keyboard

Compatibility

Existing Highlight, Square, Circle, Polygon, and Text annotations are imported into the editable annotation list. Native PDF outlines and Link annotations are read for navigation. Other annotation subtypes remain in the source PDF but are not editable in this app. Export replaces imported supported annotations instead of duplicating them.
PDF Annotator & Markdown Exporter Version 2.13
Settings

Image rendering

px

Default: 1024 px.

px

Higher values improve small text but increase request size. Default: 1600 px.

AI extraction provider

Recommended uses low effort for OCR and medium effort for table reconstruction.

API keys are sent only to the configured endpoint when an extraction runs. The app has no server component or subscription OAuth flow. Keys stay in memory unless “Remember the key” is enabled; do not enable it on a shared device.

Extraction result

Review the model output. Adding it to the document creates a native rectangle annotation whose comment contains this Markdown; Markdown export also includes the source crop as a separate PNG.

Working…