Skip to main content

Free PDF editor that keeps your file on your device

Add text, images, signatures and highlights, or type over existing words, then download the edited copy. Free, no account needed.

Drop a PDF to start editing

or choose a file

PDF files up to 50 MB

Opening in your browser…

Your PDF is not uploaded. It opens in this browser and stays on this device. How this works

Whiteout and replaced text are drawn on top of the original, which can still be copied out, so this is not redaction. Paragraphs do not reflow.

  • Your file is never uploaded
  • Text, images and signatures
  • Whiteout, highlight and draw

Files on this device

Kept in this browser only. Removed after 7 days without changes.

Can I edit a PDF online without uploading it?

Yes. The editor opens your PDF inside your browser tab and saves the edited copy there too, so the file never reaches PDFCheck. You can add text, images and a drawn signature, highlight, or cover words. Covered text is still in the file, and drafts stay in this browser for 7 days without changes.

Can I type over a word in a PDF?

Yes, with Edit text. It covers the old line in its background colour and writes your text on top, keeping the text colour and, where possible, the document's own font. The old words are still in the file and come back when someone copies or searches the page, so this is not redaction.

Will editing break a digital signature?

Yes. Saving writes a whole new file, so the signed bytes no longer line up. In our test, one highlight was enough to stop a valid signature from verifying. Edit before signing, and keep the signed original.

The file stays in your browser

When you choose a PDF, the page copies it into your browser's own database (IndexedDB) and opens the editor. The editor reads it from there: the PDF is not uploaded to PDFCheck, and no request carries its contents. The editor address ends with an id after #; browsers keep that part of a URL to themselves, so the server never learns which file you opened.

The page and its code come from pdfcheck.online. pdf.js 5.7 draws the pages and pdf-lib 1.17.1 writes the edited copy; both are served from this site, along with the font and character data pdf.js needs, so no code delivery network or web-font service is contacted. The editor page also tells the browser, through a Content Security Policy, to refuse network requests to any host other than pdfcheck.online and stats.businesspress.io, which counts anonymous page views. You can check this in the Network panel of your browser's developer tools while you edit and download a PDF.

Every edit is drawn onto the page

Nothing is added as a separate comment or annotation object: each change becomes part of the page's own drawing instructions when you download or save a version. Every PDF reader therefore displays the result the same way, but nobody can later select one of your additions and delete it as a single item.

Editing tools and what they write into the page
Tool What is written Options
Edit text A rectangle in the background colour over the line, then the new text in its original colour Document font when it has every letter; long text uses free space to the right, then shrinks
Text New text at the point you click, wrapped to the box width 6 to 96 pt, colour, bold, italic, opacity, optional background
Image A PNG or JPEG placed and scaled on the page Up to 5 MB; WebP is converted to PNG in the browser first; corner resizing keeps the proportions
Sign Your drawn signature as a transparent PNG image Ink colour; resize and move like an image
Draw A freehand vector line Colour, line width and opacity
Highlight A filled rectangle, yellow at 35% opacity by default Colour and opacity
Whiteout An opaque white rectangle Colour, for pages that are not white
Box An outline with no fill Colour, line width and opacity

Replaced and covered text is still in the file

On a coloured or patterned background the cover box is visible too. Neither Edit text nor Whiteout is a redaction tool.

A drawn signature is a picture of your handwriting. It is not a certificate-based digital signature, and it does not prove who signed or that the document was not changed afterwards.

Sample: extracted text after one replacement

The first line of a sample page was changed to "Supplier audit summary, revised wording." Poppler's pdftotext then returned: Supplier summary, revised wording. Supplier auditaudit summary. Visible paragraph on page one. Both versions are present, and because they overlap on the page, copy and search can return a mix of the two.

Signed documents

pdf-lib writes a complete new file instead of appending changes to the end of the old one. A digital signature covers an exact byte range of the original file, so after any download those bytes no longer line up.

In our test, pdfsig reported a sample's signature as valid. After one highlight and a save it reported "Illegal values in ByteRange array" and could not verify the signature.

Other changes a save makes

  • The Producer property becomes pdf-lib (https://github.com/Hopding/pdf-lib) and the modification date is updated. Creator is set to pdf-lib only when it was empty.
  • The XMP metadata stream is not updated, so it can still name the previous producer. Some readers show one value and some the other.
  • The file is written with compressed object streams. In the sample this changed the size from 11,908 to 9,465 bytes. The PDFCheck metadata editor, merger and splitter rewrite such files automatically before reading them.
  • Bookmarks, comments, attachments and form fields already in the file are left as they were.
  • AI-generator indicators in PDFCheck's checkers treat pdf-lib as a tool often used by AI assistants, so an edited file can be flagged for that reason alone.

What this browser keeps, and for how long

  • The opened PDF, a draft of your unsaved edits (saved automatically about half a second after each change) and up to 20 saved versions. Closing the tab or reloading the page brings the draft back.
  • Everything is removed after 7 days without changes, when you choose Remove on the editor page or in the editor, or when you clear this site's data in your browser settings.
  • Nothing is shared between browsers or devices, and a private window discards it when it closes.
  • Download is the only way to get the edited file out of the browser. It is named after the original with _edited added.

Symptoms and their causes

  • Edit text finds nothing on a page: the page is a scanned image with no text layer. Text, Image, Sign, Draw, Highlight, Whiteout and Box still work.
  • The replacement uses a different typeface: PDFs often embed only the letters they use. If that font lacks a letter you typed, the line switches to Helvetica, Times or Courier instead of showing empty boxes. Georgia, Garamond, Palatino and Bookman map to Times; other sans-serif fonts map to Helvetica.
  • Sans-serif letters outside Windows-1252, such as Lithuanian ė, use Liberation Sans and stay selectable. In serif or monospaced text, and in scripts like Chinese, they are drawn as an image at three times the resolution, which cannot be selected.
  • "This PDF is password-protected." The file needs a password to open. Unlock it with the password tool first.
  • "This PDF has permission restrictions set by its owner." The file opens without a password but is encrypted. pdf-lib cannot save such files correctly: in a test with an AES-256 restricted file the saved copy could not be opened by Poppler, so the editor refuses them. Remove the restrictions with the password tool and the owner password before editing.
  • "This browser is blocking local storage": some privacy settings and older private-browsing modes turn off IndexedDB. Allow site data for pdfcheck.online or use a normal window.
  • "You have saved 20 versions, the maximum." Download the PDF and open it again to keep going.

Limits

Your plan's file-size limit applies: 50 MB on Free, 100 MB on Pro and AI. Opening a file does not use a daily check, because nothing is processed on PDFCheck's servers. Undo keeps the last 50 steps. Pages cannot be reordered, rotated or deleted here; use the split and merge tools for that.

Last updated . How these results were produced: the pdf-lib 1.17.1 calls the editor makes in the browser were replayed in Node.js on synthetic sample PDFs, including one signed with a self-signed test certificate, and the saved files were inspected with Poppler pdftotext, pdfsig and pdfinfo 26.10 and qpdf 12.4. Network behaviour was checked in Chromium by recording every request while a sample PDF was opened, edited and downloaded.

Do more with a free account

Keep your report history, share reports by link, check several PDFs at once and use the API.