About this tool
PDF was never designed for word-processor editing. A page stores "draw these glyphs at these coordinates in this font", with no notion of reflowing paragraphs. So what "edit a PDF" reliably means in a browser is adding a layer on top of the existing page: a note, a signature, a circle around a problem, a block covering a wrong number — not re-typesetting the body text the way Word would.
This tool renders each page with pdf.js so you can position your edits, keeps whatever you add — text, pen strokes, highlights, images — as a transparent annotation layer, and stamps that layer back onto the matching page with pdf-lib on export. The original text, bookmarks, and page structure are not rewritten, so body text stays selectable and copyable in the exported file. Everything runs in your browser; the file is never uploaded.
How to use it
Upload the PDF and wait for rendering
Pages are rendered one by one into a positionable backdrop. Long documents take longer, so consider splitting out the pages you need first.
Pick a tool and mark up the page
Use text to add notes or fill blanks, the pen for signatures and handwriting, highlight for translucent marking, and a rectangle with "fill" checked to cover something wrong.
Review page by page, then export
Switch pages with previous / next; each page keeps its own annotations, and only pages that actually have annotations get a new layer on save.
Supported range and limits
- Editing model
- An annotation layer drawn over the page; original page objects are left untouched
- Available annotations
- Text, freehand pen, translucent highlight, rectangle (outline or filled), inserted image
- Original text layer
- Unchanged — body text stays selectable, copyable, and searchable after export
- Multi-page handling
- Annotations are stored per page; export only touches pages that have them
- Annotation resolution
- The layer is exported at 2× the page display size, roughly 144–216 DPI
- Rotated pages
- Coordinates are converted from the page /Rotate value, so marks on landscape scans stay aligned
- Text languages
- Text is drawn into the layer, so Chinese, Japanese, and other non-Latin scripts need no extra font embedding
- Where it runs
- Rendering, annotating, and writing back all happen locally in the browser
When you would use it
Signing and completing a form
Drop in a signature image and type the date and name next to it, instead of printing, signing, and scanning again.
Reviewing a draft in place
Highlight the problematic paragraph and write the comment beside it, so the recipient sees exactly what the note refers to.
Covering an incorrect value
Put a filled rectangle over a wrong amount or an outdated contact line and write the correct text on top when regenerating the source file is not an option.
What to know before you start
- This is overlay editing. It cannot change the wording or layout of the existing text; fix the source document and re-export for that.
- A filled rectangle hides content visually only. The covered text remains in the text layer and can still be copied or extracted, so it is not redaction.
- Exporting rewrites the file, which invalidates an existing digital signature. Remove the password from an encrypted PDF before editing it.
Related concepts
- Content stream
- The part of a PDF page holding its drawing instructions. Overlay editing appends new instructions after the originals, which stay intact.
- /Rotate
- A page attribute of 0, 90, 180, or 270 degrees. Readers rotate the displayed page by it while the page coordinate system stays put, so annotations must be converted to line up.