index
All PDF tools, by task
Each tool below opens with an empty bench, processes your files locally, and can hand its result to the next one. The engine column shows which open-source library does the work.
Arrange pages
Combine, cut apart and re-sequence documents page by page.
| Tool | What it does | Engine |
|---|---|---|
| Merge PDF | Stack contracts, scans and reports into a single PDF. Drag files in, set the order with the arrow buttons, and download one combined document. | pdf-lib · page copy |
| Split PDF | Break a long PDF into chapters, invoices or single pages. Type ranges like 1-4, 5-9, 10-end — each range becomes its own PDF. | pdf-lib · page copy |
| Remove pages | See every page as a thumbnail, click the ones that shouldn’t be there, and save a trimmed copy. The original file on your disk is not changed. | pdf.js preview · pdf-lib |
| Extract pages | Pull the signature page, a single chapter or a handful of slides out of a larger PDF without touching the rest. | pdf.js preview · pdf-lib |
| Reorder pages | Fix a scan that came out of the feeder in the wrong order, or move an appendix to the front. Drag thumbnails until the sequence is right. | pdf.js preview · pdf-lib |
| Rotate PDF | Click a thumbnail to turn that page 90° clockwise, or rotate the whole document at once. Rotation is stored in the file, so it sticks in every viewer. | pdf.js preview · pdf-lib |
| Insert blank pages | Need room for handwritten notes, a separator before each chapter, or an even page count for duplex printing? Add empty pages exactly where you need them. | pdf-lib |
| N-up pages per sheet | Shrink slide decks into handouts, save paper when proofreading, or print a contact sheet of a long document. Pages are placed as vectors, so text stays crisp. | pdf-lib · embedded pages |
| Overlay PDF | Print your text onto company letterhead without a printer trick: put the letterhead PDF underneath the letter, or lay a stamp PDF on top of every page. | pdf-lib · embedded pages |
Shrink & tune
Make files lighter, faster to open, print-ready or readable again.
| Tool | What it does | Engine |
|---|---|---|
| Compress PDF | Get a PDF under an email or portal size limit. Photos inside the file are resampled and re-encoded; text, vectors and fonts are left alone. | pdf-lib · canvas JPEG encoder |
| Optimize for web | Publishing a PDF on a website? A linearized (“Fast Web View”) file lets browsers show page one immediately while the rest streams in. | qpdf (WebAssembly) |
| Grayscale PDF | Save color toner, meet a “black and white only” submission rule, or check how a design reads without color. | pdf.js render · luminance filter |
| Flatten PDF | Lock in what has been filled: form entries, sticky-note stamps and drawn markup become plain page content. | pdf-lib · appearance streams |
| Repair PDF | Truncated downloads, broken e-mail attachments and files from buggy generators often still contain their pages. Repair rebuilds the file structure around them. | qpdf (WebAssembly) · pdf-lib fallback |
Convert
Move content between PDF, images and plain text.
| Tool | What it does | Engine |
|---|---|---|
| Images to PDF | Combine receipts photographed on your phone, screenshots or scanned pages into one tidy PDF — in the order you set. | pdf-lib · native image decoders |
| PDF to JPG / PNG | Need a slide as a picture for a presentation, or pages for a website or social post? Turn PDF pages into crisp image files. | pdf.js renderer |
| PDF to text | Pull the words out of a PDF for search, quoting, translation or feeding into another tool — without copy-pasting page by page. | pdf.js text layer |
| Extract images | Get the actual pictures inside a PDF — product photos, figures, logos — at the resolution they were embedded, not a screenshot of the page. | pdf.js image decoder |
| Text to PDF | Type or paste text — meeting notes, a README, a log file — and get a properly paginated PDF with sensible margins. | pdf-lib · standard fonts |
Mark up & edit
Add text, signatures, numbers and stamps, or cut content out for good.
| Tool | What it does | Engine |
|---|---|---|
| Annotate PDF | Fill in a non-fillable form, circle a problem on a drawing, or white-out a typo and type the correction — directly on the page. | pdf.js canvas · pdf-lib |
| Sign PDF | Sign a lease, permission slip or NDA without printing and scanning. Your signature is created and placed on this device only. | canvas signature pad · pdf-lib |
| Add page numbers | Number a merged report, a court bundle or a thesis so readers (and reviewers) can refer to pages precisely. | pdf-lib · Helvetica |
| Watermark PDF | Mark drafts as drafts, label copies sent to a specific client, or discourage reuse of a proof — with a watermark drawn on every page. | pdf-lib · standard fonts |
| Crop PDF | Remove wide white margins for reading on a phone or e-reader, or cut a figure out of a page. Draw the area to keep; the rest is trimmed. | pdf.js preview · pdf-lib CropBox |
| Redact PDF | Share a document without the account numbers, home address or names in it. Draw boxes; PaperCircuit makes sure the hidden text is actually gone. | pdf.js render · rasterized pages |
| Edit metadata | The title your PDF shows in a browser tab and the author name in its properties come from metadata. See what’s there and set it right. | pdf-lib · Info dictionary |
Lock & unlock
Add or remove password encryption.
| Tool | What it does | Engine |
|---|---|---|
| Protect PDF | Send a tax return, payslip or contract by e-mail with peace of mind: without the password, the file is unreadable. | qpdf (WebAssembly) · AES-256 |
| Unlock PDF | Tired of typing the password for your own bank statements, or need to merge a protected PDF? Remove the encryption once and work with a normal file. | qpdf (WebAssembly) |
Read & inspect
Recognize text in scans and spot what changed between versions.
| Tool | What it does | Engine |
|---|---|---|
| OCR PDF | Scanned contracts and photographed pages are pictures: you can’t search them or copy a sentence. OCR reads the words and adds a hidden text layer under the image. | Tesseract (WebAssembly) · English model |
| Compare PDFs | Got a “final” contract back from the other side? See every word they added or removed between version A and version B, side by side. | pdf.js text · word-level diff |
Coming later
These jobs need server-grade layout engines or validators that can’t yet run privately in a browser. They are listed so you know they are planned — none of them has a button that pretends to work.
- Word to PDF — Needs a full layout engine; not possible privately in-browser yet.
- PDF to Word — Faithful .docx rebuilding is still on the drawing board.
- Excel / PowerPoint to PDF — Planned once an offline office renderer is viable.
- PDF to PDF/A — Archival validation needs tooling we can’t ship client-side yet.