To annotate a PDF without uploading it: open the file below, pick a tool — highlight, strikethrough, freehand pen, text box, or sticky note — mark up the pages, then download. The export writes standard PDF annotation objects (/Highlight with quad points, /Ink strokes, /FreeText, /Text notes) into a copy of your file, so Acrobat, Preview, Chrome, and Firefox can display and even edit them later. The original text stays untouched underneath. Free, in-browser, no account.

Document

Pen width Pen color Text size
Open a PDF to begin. The file never leaves your browser.
Markup, not legal process. Annotations are review marks on top of the document — great for feedback and collaboration, not a substitute for signing workflows or redaction. For anything with legal weight, use the dedicated process; nothing here is legal advice.
Advertisement

Annotation Types Written

You useWritten to the PDF asCarriesEditable later?
🖍️ Highlight/Subtype /HighlightColored quad-point rectangles over each lineYes — Acrobat, Preview, most viewers
̶S̶ Strike/Subtype /StrikeOutStrike lines over the selected textYes
✎ Draw/Subtype /InkFreehand stroke path with width and colorYes
🔤 Text/Subtype /FreeTextTyped text with font size and colorYes
🗨️ Note/Subtype /TextSticky-note icon with your comment as its contentYes

Because the output speaks the PDF spec's own annotation vocabulary instead of flattening marks into pixels, annotations survive round-trips through other editors — and can be hidden or deleted there if a reviewer changes their mind.

How the PDF Annotation Tool Works

Annotating a PDF should not require an account, a subscription, or uploading a contract to somebody's server. This tool renders your file with Mozilla's pdf.js, puts the annotation interaction layer from pdf-annotate.js (the MIT-licensed Submitty fork, battle-tested in a real grading platform) on top of each page, and stores every mark you make in the page. When you save, pdf-lib writes the annotation dictionaries into a copy of the original file.

The pipeline

Open → pdf.js renders each page → you highlight, strike, draw, type, or drop notes (each mark is captured in page coordinates at the current zoom) → Save converts every mark from screen coordinates to PDF user space, writes the matching annotation dict — quad points for highlights, an ink list for pen strokes, a default-appearance string plus contents for text — and attaches it to the right page's /Annots array → download. The document's own text, fonts, and images are never touched.

How to use it

A worked example

Take a US Letter page (612 × 792 points) with a contract clause worth flagging. At the viewer's 1.35× zoom you drag the highlighter across two lines of text, capturing rectangles at screen positions 188, 189 (335 × 12) and 72, 205 (431 × 12). On save, each rectangle converts from screen to PDF coordinates: line one becomes x 139.26 → 387.41, y 643.11 → 652.00; line two becomes x 53.33 → 372.59, y 631.26 → 640.15. Those two rectangles leave the exporter as one /Highlight annotation with 16 quad-point numbers — 2 quads, one per line — plus a yellow interior color of RGB (1, 1, 0) and a bounding rectangle of x 53.33–387.41, y 631.26–652.00.

Type "Check with legal" in a text box at 24-pixel size on the same page and it saves as a /FreeText annotation whose default-appearance string reads /Helv 17.78 Tf 0 0 0 rg — 24 screen pixels ÷ 1.35 zoom = 17.78 points of Helvetica in black. A sticky note carrying "Verify this clause before sending" becomes a /Text annotation whose /Contents is exactly that string, on whichever page you dropped it. Every one of those numbers comes straight out of the exporter's output, and Acrobat will let your reviewer recolor or delete any of them.

Frequently Asked Questions

Are the annotations saved into the PDF itself?

Yes. On download you get a copy of the original PDF with real annotation objects written into it — highlights as /Highlight markups with quad points, drawings as /Ink annotations, text as /FreeText, notes as /Text comments. They are not screenshots or flattened pixels, so other PDF software can show, hide, and edit them.

Which PDF viewers will show my annotations?

The ones people actually use: Adobe Acrobat and Reader, macOS Preview, Chrome and Edge's built-in viewers, Firefox, and Okular all render standard highlight, ink, free text, and note annotations. A handful of minimal mobile viewers ignore annotations — the text in the underlying document is always intact either way.

Can I edit or delete annotations after downloading?

Usually, yes — because the output uses the PDF's own annotation types rather than burned-in pixels, Acrobat and Preview let you recolor, move, or delete each markup. If you need annotations permanently fused into the page, that's flattening, which is a different operation from annotating.

Can I use this to sign a document?

You can draw your signature with the pen tool and it saves as an ink annotation, but a drawn mark alone doesn't make a legally binding e-signature — that depends on intent, consent, and the audit trail your signing process provides. For contracts, use a dedicated signing workflow. This tool is for review and markup, and none of this is legal advice.

Does my file get uploaded anywhere?

No. The PDF is rendered with pdf.js and re-saved with pdf-lib inside your browser; the page works offline once loaded. Your annotations live in the page until you download the annotated copy.

What's the difference between annotating and redacting?

Annotating adds a layer on top — the original content stays fully intact underneath, which is right for review and collaboration. Redacting removes content from the file itself. If the goal is making information disappear, use a true redaction tool, not a highlighter.

Advertisement