Flatten PDF
AvailableMerge form fields and annotations into the page so nothing is editable.
Merge form fields and annotations into the page so nothing is editable.
Nothing to show yet
Form fields are merged into the page and interactive annotations are removed.
Validated locally: file type, size and browser support are checked before anything runs
Preparing your file
Reading the file locally and checking that its type and size match what this tool expects. Nothing has been uploaded.
Converting locally
PDF assembly uses pdf-lib; page rendering runs locally with PDF.js.
You can leave this tab open in the background — the conversion keeps running on your device, and progress is reported when you come back.
Conversion complete
Your converted file is ready to download.
Nothing to show yet
Nothing to show yet
The converted file was assembled in your browser and is released when you leave or reset this page
Something went wrong
The conversion could not be completed. Nothing was uploaded, and no partial file was saved.
This conversion is not supported yet
Your file passed every local check, and this is exactly where the PDF toolkit engine takes over. It does not implement this particular input and output pair yet, so nothing was converted and no download was offered.
| Engine | PDF toolkit |
|---|---|
| Frontend module | static/engines/pdf-engine.js |
| Extra downloads | None — this tool runs on browser APIs alone |
| Runs in a worker | No — the browser is fast enough here |
| Processing | On your device |
This page is the integration point. When the engine lands, it is loaded here and the same six states drive the real conversion.