Guide
How to find and replace text in a PDF
PDFs are not like Word documents. The text is baked into the page, so a plain "find and replace" is harder than it sounds. Here is how to do it properly, so the old text is really gone and the file still looks right.
Why it is tricky
Many free tools "edit" a PDF by drawing a white box over the old text and painting new text on top. That looks fine at a glance, but the original text is still underneath. Anyone can select it, copy it, or search for it, and most of these tools also stamp a watermark on your file. If you are changing a name, a date, or an amount, a cover up is not good enough.
The right way: rewrite the real text
The clean approach is to rewrite the actual text in the PDF's content stream. The old value is removed, not hidden, so Ctrl+F and copy show only the new text. The rest of the page, the fonts, and the file's metadata (dates, author) stay exactly as they were.
Step by step
- Open pdfblah.com and drop in your PDF.
- Enter what to change. Type the text to find and the text to replace it with. Add more rows for more changes.
- Pick the scope. Replace the first match, every match, or the Nth match. You can also ignore case or match whole words only.
- Preview for free. You see exactly which replacements landed, on a watermarked preview, before you pay anything.
- Download. Pay for the coffee-priced result and get the clean PDF. The file is deleted within 24 hours.
What will not work
Scanned PDFs (a photo or scan of a page with no real text layer) cannot be edited this way, because there is no text to find. Those need OCR first. Also, if a PDF uses an unusual embedded font that cannot be reproduced, a good tool will refuse the change rather than render it wrong. pdfblah tells you clearly and does not charge for a file it cannot edit.
Doing it from the command line
If you are a developer, the same engine is open source. Install it and script your edits:
pipx install pdfblah
pdfblah in.pdf out.pdf --find "Old Name" --replace "New Name" --scope all
See the pdfblah project on GitHub.