English

Flatten PDF — Lock Forms and Annotations

Flatten PDF form values and annotations into the page, or remove comments and links in bulk

Runs in your browser · nothing is uploaded

Drop the PDF to flatten here

Add one PDF (up to 100 MB). Adding another file replaces the current one. Files never leave your browser.

What it does

Besides what is drawn on a page, a PDF can carry form fields and annotations that sit on top of it. Fields can be clicked and changed; comments and highlights can be moved or deleted in a viewer. Flattening merges them into the page content so they are fixed. It keeps values from disappearing or being changed when you submit a filled form, archive a reviewed document or send a file to a printer. The same tool also removes internal review comments before a document goes out.

How to use

  1. Drop one PDF on the box or press Choose PDF. The numbers of fields, annotations and links are shown.
  2. Press Flatten everything or Only remove comments and highlights, or choose per group:
    • Form fields: Flatten / Remove / Keep
    • Annotations (comments, highlights, shapes, stamps, …): Flatten / Remove / Keep
    • Links: Keep / Remove
  3. Press Apply and save and download the result.

How it works

  • Flattening: each annotation’s normal appearance stream is drawn into the page as a form XObject and the annotation is removed. It is positioned as ISO 32000-1 section 12.5.5 describes: the appearance BBox, transformed by its Matrix, is mapped onto the annotation Rect. Check boxes and radio buttons use the appearance of their current state.
  • Hidden annotations: annotations flagged Hidden or NoView are removed, never drawn. Annotations without an appearance stream (such as note icons saved without one) have nothing to draw, so they are removed even when you choose Flatten, and counted as removed. Annotations flagged NoPrint or placed on a layer (optional content) become part of the page when flattened, so they also print.
  • Real deletion: removed annotations, popups, field objects and appearance data nothing uses any more are dropped from the file, not just unlinked. On saving, every object nothing refers to (including old versions left by earlier incremental saves) is dropped too. Appearances that use the form’s shared fonts (/DR) get those fonts copied in before flattening, so their text does not disappear.
  • Drawing values: before flattening, fields without an appearance (or all text and choice fields when the form sets NeedAppearances) are drawn with pdf-lib, using Helvetica or, for other scripts, a subset of Noto Sans KR (SIL OFL 1.1).
  • Libraries: pdf-lib (MIT) and @pdf-lib/fontkit (MIT).

Examples

Goal Settings
Submit a filled form that cannot be edited Flatten everything
Send a file without review comments Only remove comments and highlights
Make stamp annotations part of the page Annotations flatten, form fields keep
Remove the fields from a blank form Form fields remove

To fill a form first, use Fill PDF Form; to place a signature picture, use Sign PDF.

FAQ

What does flattening change?

Field values, check marks, comment boxes, highlights, shapes and stamp annotations become part of the page. They look the same but can no longer be clicked or edited, so recipients cannot change values or delete annotations. The interactive form is removed from the file.

I only want to remove comments before sending a file.

Press “Only remove comments and highlights”. Form fields stay as they are and annotations are removed. Removed annotations and their text (comment and popup contents) are deleted from the file, so a PDF editor cannot bring them back.

Will field values in Korean or other scripts survive?

Yes. Fields that have a value but no appearance, or every text and choice field when the form asks viewers to redraw them, are drawn again before flattening, using Noto Sans KR for non-Latin text. Chinese characters and emoji are not in that font; they are left out and listed in the result.

Are links flattened?

Links have no look of their own, so there is nothing to draw. Keep (the default) leaves them clickable; Remove deletes them all.

Does it work with XFA forms?

For PDFs that carry both a regular (AcroForm) form and XFA data, the XFA part is removed and the regular fields are flattened. XFA-only dynamic forms have no fields to draw and cannot be flattened here.

Missing a tool?