Edit text inside a PDF, cover or replace images, add new content, and repair photos before placing them into the PDF. Everything runs locally in your browser — your files are never uploaded.
This page bundles three everyday PDF chores into one tab. First, text editing: click any piece of text on the rendered page, type the replacement, and the original characters are covered cleanly and your new text is drawn in the same spot — the exported PDF keeps everything else untouched. Second, image and layout fixes: drag a box to redact or white-out anything (old logos, wrong numbers, stamps), then place a new PNG or JPEG exactly where the old artwork used to be. Third, an integrated photo repair bench: auto contrast, denoise, sharpen and 2x upscaling, handy when the picture you want to insert came out of an old scan.
Open your PDF with the file picker. Make sure the ✏️ tool is active, then click directly on the sentence you want to change. A small input box appears on top of the original text — type the correction and press Enter. Repeat for as many edits as you need; every edit is listed as an undoable action. When you are done, click "Export edited PDF" and the corrected file is generated locally and downloaded.
No. The PDF never leaves your device: rendering and editing run on the HTML canvas, and the final file is assembled by pdf-lib inside your browser tab. There is no server, no account, and no watermark. You can even disconnect from the internet after the page loads and keep working.
Can I edit scanned PDFs? You can cover and replace anything visually — draw a box over the scanned text and type new text on top. Scanned pages have no real text layer, so the ✏️ tool will not detect individual characters there; use the Cover / redact tool instead.
Which languages can I type? Any language your device fonts support — Chinese, Japanese, Korean, Cyrillic, Arabic and Latin all work, because replacement text is rendered as a high-resolution stamp.
Can I repair a photo before inserting it? Yes — fix the picture in the Image Repair panel below the editor, click “Use as PDF image”, switch to the 🖼 tool and click where it should go.
Reading uses pdf.js, the same rendering engine Firefox uses, which draws each page onto a canvas and exposes a text layer with the position of every text run. Writing uses pdf-lib, which produces a new PDF document. Text replacement is therefore a two-step operation: a white rectangle is drawn over the original text, and your replacement is written at the same position at high resolution. That approach is what makes it possible to write any language — Chinese, Japanese, Arabic, Cyrillic — even when the original PDF does not contain a font for those characters. Editing is applied page by page, and you can undo the last change or clear a page before exporting.
Below the editor you can open a photo and apply auto contrast, median denoising, sharpening and 2× upscaling, comparing the before and after side by side. It is useful for scanned pages, screenshots and product photos that are a little flat or noisy. When you are happy with the result, click "Use as PDF image" and then click the page to place it. Like everything else, this runs locally.
Contracts, invoices, medical forms, ID scans and HR documents are exactly what people need to redact or correct — and exactly what should not be uploaded to a third-party service. This editor reads the file with the browser's File API, renders it on your device and writes the new PDF on your device. No upload, no account, no copies retained on any server.
No. Rendering and writing both happen in your browser. Nothing leaves your device and nothing is stored after you close the tab.
No. Export always produces a new file; your original stays exactly as it was.
Yes — edits are remembered per page. Move between pages with Prev / Next and export when finished.
The exported file keeps the original content plus your additions. Text drawn as an image stamp is not selectable, which is the trade-off that makes any language possible.
Every tool below is also 100%% local: no upload, no account, no server copy — the same privacy guarantee you get on this page.