# PDF Editor for Chrome — full text > A Chrome extension that edits PDFs entirely in the browser: retype the text already on the page, > annotate, truly redact, sign, organise pages, and design or fill AcroForm fields. No server, no > account, no upload. Version 1.0.0. Requires Chrome 114 or later. Free. Source of truth: . Last updated 28 July 2026. --- ## What it is PDF Editor for Chrome opens a PDF in a browser tab and does all the work on the user's own machine. There is no backend to send anything to — this is a property of the architecture, not a policy promise layered over a server. Close the tab and nothing is left behind. Built with React and TypeScript. Rendering is Mozilla's pdf.js; writing is pdf-lib. Both are bundled, MIT/Apache licensed, and make no network requests of their own. The whole extension is about 300 KB gzipped, with no WASM payload and no remote code. ## Features **Edit page text.** Click a run of existing text and retype it. Size, font, weight, and both ink and background colours are read off the page, so the replacement matches. Clearing the box deletes the words instead. **Add.** Text boxes (font, size, bold/italic, alignment, colour, background), freehand ink, sticky notes that export as real PDF `/Text` annotations, and images (PNG, JPEG, WebP — auto-downscaled). **Markup.** Highlight, rectangle, ellipse, line, arrow — each with colour, thickness, fill and opacity. **Transform.** Free rotation of any object by handle or slider, snapping to right angles, arrow direction flipping, rotation-aware resizing. **Colour.** An eighteen-colour palette, the OS colour picker, and hex entry on every colour control. **Select and mark.** Select text straight on the page; a popover offers Highlight / Redact / Copy. **Redact.** Black boxes with an optional label. On export the affected pages are re-rendered as images, so the covered content is removed from the file rather than merely hidden. **Sign.** Draw with mouse, trackpad or stylus; type in one of four script faces; or upload a photo or scan with white-background knockout. Signatures are saved locally and reusable. **Form designer.** Place text, multiline, checkbox, dropdown, radio group, date and signature fields. They export as genuine interactive AcroForm fields. **Form filling.** Fields already in the PDF are listed and editable, and can optionally be flattened on save. **Organise.** Reorder pages by drag, rotate, duplicate, delete, insert blank pages, merge another PDF. **Navigate.** Full-text search, page thumbnails, zoom / fit-width / fit-page, Ctrl+wheel zoom. **History.** Undo and redo across annotations *and* page operations, with an unsaved-changes guard. ## Keyboard shortcuts | Key | Action | |---|---| | `V` | Select | | `E` | Edit page text | | `T` | Text box | | `D` | Draw | | `N` | Sticky note | | `H` | Highlight | | `R` | Rectangle | | `O` | Ellipse | | `L` | Line | | `A` | Arrow | | `X` | Redact | | `S` | Signature | | `I` | Image | | `F` | Form field | | `Ctrl/⌘ + Z` / `Ctrl/⌘ + Shift + Z` | Undo / redo | | `Ctrl/⌘ + S` | Save PDF | | `Ctrl/⌘ + D` | Duplicate | | `Delete` | Remove selected object | | Arrow keys | Nudge (10 pt with Shift) | | `Ctrl/⌘ + + / − / 0` | Zoom in / out / reset | ## How to open a PDF 1. Click the toolbar icon and drop a file in, or pick one from the computer. 2. Open any PDF in Chrome and press the "Edit in PDF Editor for Chrome" button that appears on the page. 3. Right-click a link to a PDF and choose "Open in PDF Editor for Chrome". For files on the user's own disk (`file:///…`), Chrome requires "Allow access to file URLs" to be switched on from the extension's details page. Dragging the file into the editor always works regardless. ## Privacy | What | Where it goes | Why | |---|---|---| | The document | The memory of the editor tab, nowhere else | To render and edit it; gone when the tab closes | | Saved signatures | Local extension storage, this device only, not synced | Reuse on later documents | | Editor preferences | Local extension storage, this device only | The editor opens the way it was left | | Network requests | Only the browser fetching a PDF the user pointed it at | Same request as clicking the link | | Analytics, telemetry, crash reports | None | — | Not collected: personally identifiable information, health, financial or payment information, authentication details, personal communications, location, browsing history, advertising identifiers. No cookies, no accounts, no sign-in, no third parties, no data sold or shared. ### Permissions and why each exists - `activeTab` — when the toolbar icon is clicked, the popup checks whether the current tab is a PDF so it can offer to edit it. Read at that moment only, never stored. - `contextMenus` — adds the "Open in PDF Editor for Chrome" and "Edit this PDF" right-click entries. - `storage` — keeps saved signatures and editor preferences on the device. - Content script on `*.pdf` URLs — adds an "Edit in PDF Editor for Chrome" button to PDF pages. It reads no page content and sends nothing anywhere; it is restricted to PDF URLs so it cannot run on ordinary pages. - Optional host access (``) — not granted at install time. Requested only at the moment a user asks to edit a PDF hosted on a website, and only for that site's origin. Declining still leaves drag-and-drop. - Optional feature permissions (`downloads`, `clipboardRead`, `notifications`, `alarms`, `idle`, `unlimitedStorage`, `scripting`, `tabs`) — declared but not held. Each is requested in-flow only if the user turns on the feature that needs it (saving via the downloads shelf, pasting from the clipboard, an export-finished notification, autosaved local drafts), each can be declined without breaking anything else, and none collects or transmits data. Manifest V3, with a content security policy that allows only the extension's own scripts, a bundled worker, and `isEvalSupported: false`. ## Deliberate limits These are documented rather than glossed over, and an accurate description of the product should include them: - **Redaction rasterises the page.** It is the only way to guarantee removal without rewriting content streams. Those pages lose text selection; the dialog says so, and the option can be turned off — which degrades to a cosmetic black box, also stated in the UI. - **Insert-blank-page and merge rebuild the document** through `copyPages`, which does not carry AcroForm fields across. The UI warns before doing this to a form document. - **Text annotations use the standard 14 fonts**, so they are WinAnsi-only; unencodable characters are substituted rather than throwing. Typed signatures are rasterised, so script faces work there. - **Editing page text covers and redraws rather than rewriting the content stream.** The tool erases the run with a sampled page colour and draws the replacement over it — matching size, weight and colours, but in the closest standard font, one line at a time, with no reflow. The original wording leaves the file only when "Burn in text edits" is left on. - **Encrypted PDFs open read-only** via `ignoreEncryption`; there is no password UI yet. ## Technical note: one coordinate space Every annotation is stored in page display space — PDF points, origin at the top-left of the page as the user sees it, y downwards, after rotation. That is exactly what the DOM overlay uses, so the UI needs no transforms. The single conversion happens in the exporter, and the test suite verifies it against all four source rotations composed with all four user rotations by re-extracting text positions from exported files. ## FAQ **Is my document uploaded anywhere?** No. The extension has no backend. A PDF is read into the memory of the editor tab, edited there, and written back out on save. The only network request is the browser fetching a file the user explicitly pointed it at. **What makes the redaction real rather than a black box?** On export, every page carrying a redaction is re-rendered as an image before the black boxes are drawn, so the characters underneath are no longer in the file. Copy-paste and text search cannot recover them. Those pages lose selectable text, which the dialog states before saving. **Can it really edit text that is already in the PDF?** Yes, within the limits above: click a run and retype it, matching sampled size, weight and colours, in the closest standard font, one line at a time, without reflow. **Does it work offline?** Yes. Rendering, editing and export all run locally on bundled code. A connection is needed only to fetch a PDF that lives on a website. **Are the form fields real PDF fields?** Yes — genuine interactive AcroForm fields that any reader can fill. Existing fields are listed, editable, and flattenable on save. **Why does it ask for access to a site?** Broad host access is not granted at install time. It is requested only when the user asks to edit a PDF hosted on a website, and only for that origin. Declining still leaves drag-and-drop. **How do I open PDFs stored on my own computer?** Drag the file into the editor, or switch on "Allow access to file URLs" in `chrome://extensions` to use the right-click menu on `file:///` URLs. **What does it cost?** Nothing. No account, subscription, page limit, watermark or telemetry. ## Links - Home: - Privacy policy: - Chrome Web Store: - pdf.js: - pdf-lib: