PanPDF

Free & open sourceIn your browser · Windows · Linux · macOS

A PDF editor that edits the file.

Retype a sentence, move a picture, reorder the pages. PanPDF makes the change inside the file itself — what you edited changes, and everything else stays exactly as it was.

Free, no account, nothing uploaded: the PDF stays in your browser.

Early development. PanPDF works on real documents but is not finished, so expect some bugs. Keep a copy of files that matter, and tell us what broke.

Desktop version 0.3.1 · all systems

report.pdf  page 1 · content streamafter one edit
1q20.12 0.20 0.35 rg3BT4/F1 24 Tf572 742 Td6(Quarterly report, draft) Tj6(Quarterly report, final) Tj7/F2 11 Tf80 -34 Td9(Prepared for the board, March) Tj10ET11/Im1 Do12Q
1 line changed fonts, images, metadata kept as they were

What PanPDF does well.

Open a PDF, change what needs changing, save. Your document keeps its own fonts, its own structure and its own protection.

Text where it sits
Retype a line and the paragraph reflows, in the document’s own font, size, colour and spacing.
Any alphabet
Shaping, marks above and below the line, and line breaks follow the language of the text.
Pictures and drawings
Add, move, scale, turn and delete them. Text flows around what you place.
Pages
Reorder by dragging, rotate, delete, insert from another file, or take pages out into a new one.
Forms
Fill them in, and the form still works for the next person.
Protected files
Open a password-protected document and save it back still protected. Signatures are checked, not stripped.
Scanned pages
Recognise the words on a scan so they can be searched and copied, once Tesseract is installed.
Straight answers
When an edit cannot be made exactly, PanPDF tells you so and why, rather than approximating.
1,008 / 1,008

documents from our test collection came back byte-for-byte identical after being opened and saved with no edit.

Measured on the 0.3.1 build across 1,167 PDFs, the same way on every release.

Open source, every line of it.

PanPDF is public under the GNU AGPL-3.0. Read how it works, build it yourself, report a problem or send a fix. Written in Rust, with no C library linked in.

Build it yourself
$ git clone https://github.com/soukvanhthonecompany/panpdf.rs
$ cd panpdf.rs
$ python3 fonts/vendor.py   # fonts it falls back on
$ cargo build --release -p pdf-desktop
$ ./target/release/pdf-app document.pdf