Flatten a PDF

Turn filled form fields, highlights, comments, stamps and drawings into part of the page. They look exactly the same, but nobody can edit, move or delete them anymore. Free, no account, and the file never leaves your browser.

No PDF yet. You can also drop a file on this box.

How to flatten a PDF

  1. Open the PDF. The tool counts its form fields and annotations by type.
  2. Choose what to flatten: form fields, comments and markup, or both.
  3. Click Download flattened PDF. Each field and annotation is drawn onto its page exactly where it was, and the interactive object is removed.

What flattening changes (measured)

Each annotation and form field in a PDF carries its own small drawing, called an appearance stream. Flattening copies that drawing into the page content at the same position and scale, then deletes the interactive object. We checked the output against the original by rendering both with Poppler:

Test fileResult
IRS Form W-9 (23 fillable fields)
Fields left: 0. Size 141 KB → 94 KB
Same pixels, apart from anti-aliasing on 20 of 150,000
pdf.js test files: highlight, free text, stamp, line, square/circle, polygon, text widgets
Annotations left: 0 in all 7
Same pixels in every file

Pop-up note windows and hidden annotations aren't drawn, since they never show on the printed page. Links stay clickable: they don't change how the page looks, so they're left alone.

Why flatten a PDF?

What it doesn't do: flattening isn't redaction or security. The text in fields and comments becomes page text that can still be selected and copied, and anyone with an editor can draw over it. To remove information, use Redact PDF. For an image-only copy with no text at all, convert with PDF to image, then image to PDF.

Making PDFs from code?

If you fill the same form for many people (contracts, certificates, invoices), skip the form entirely: build it as an HTML template, put your data in, and render it with the Shotmint API. The output is already flat, and Chromium handles fonts, tables and non-Latin text:

curl "https://shotmint.creasework.com/v1/pdf?url=https://example.com&format=A4" -H "X-API-Key: YOUR_KEY" -o document.pdf

Each render is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Try it without a key on HTML to PDF.

Get 25 free renders a month API docs

FAQ

Is my PDF uploaded? No. Everything runs in JavaScript on this page, using pdf-lib. The file stays on your device.

Do I need to fill the form first? Yes, if you want answers in it. Fill it with Fill PDF form (it has its own Flatten option) or any PDF reader, save, then flatten here.

Is the old form data still hidden in the file? No. After flattening, the tool deletes every object the document no longer uses, so the removed fields, their values and comment text aren't left behind in the file. What you see on the page is what remains.

Can I undo it? No. Keep the original if you might need to edit the fields again.

Why does it say password-protected? Encrypted PDFs can't be changed without the password. Save a copy without the password in your PDF viewer, then try again.

What about forms made with Adobe LiveCycle (XFA)? pdf-lib can't read XFA. Most XFA forms also include regular fields, and those are flattened. The XFA layer itself is dropped.

Related: fill PDF form, sign PDF, add text to PDF, redact PDF, remove PDF metadata, merge PDF, compress PDF, PDF to image.

Related tools

Fill PDF form · Protect PDF · Sign PDF · Unlock PDF · Add text to PDF · OCR PDF · Watermark PDF · Add page numbers to PDF · PDF to text · Redact PDF · PDF to Markdown · Grayscale PDF · PDF to Word · Resize PDF · PDF to HTML · Remove PDF metadata · PDF to Excel · Crop PDF · all free tools