PDF Toolkit
Load multiple PDFs as visual rows, then drag individual pages between documents — like a desktop composer, fully in your browser. Rotate or watermark the active row when you need it. Nothing is uploaded.
Upload two or more PDFs to compose them visually. Each file becomes a row of page thumbnails — drag pages into another row to build a custom document.
Active document tools
Watermark (active row)
How do you compose PDFs page-by-page in the browser?
What this tool does
This PDF toolkit shows every uploaded file as a horizontal row of page thumbnails. Drag a page from one row into another to move it — that is how you build custom merges, not only whole-file concatenation. You can also add an empty document as a drop target, rotate the active row, watermark it, and download each row as its own PDF. Everything runs locally with pdf.js (previews) and pdf-lib (export).
Why you need it
Most online “merge PDF” tools only stack entire files. Real work often needs page 2 from invoice A, pages 1–3 from scan B, then a cover from C — the workflow PDF24’s desktop composer made famous. Doing that without uploading sensitive contracts or IDs to a random server is the point of this tool.
How to use it
- Drop or select two or more PDF files — each becomes a row of page thumbnails.
- Drag individual pages between rows (or into an empty document) until the order matches what you need. A blue caret shows the insert position; hold Ctrl (Mac: ⌘) while releasing to copy instead of move.
- Click Save PDF on a row to download that composed document.
- Optionally select a row and rotate 90° or apply a text watermark before saving.
Practical examples
- Expense pack: Pull only the receipt pages you need from several scans into one submission PDF.
- Cover + appendix: Drop a one-page cover into a new empty document, then drag selected appendix pages after it.
- Sideways scan fix: Select the row and rotate 90° before saving.
- Draft watermark: Stamp “CONFIDENTIAL” across the active document before sharing.
How it works
Uploads are read as bytes. pdf.js renders each page to a small canvas for the thumbnail strip. When you save a row, pdf-lib creates a new document and copyPages from the original source files in the visual order of that row — so moving a thumbnail only changes composition order, not image quality. Rotation adjusts the page rotate flag; watermarking draws semi-transparent text with an embedded standard font.
Common mistakes
- Expecting text edits: Pages can be rearranged and stamped; existing text cannot be rewritten.
- Password-protected files: Encrypted PDFs cannot be opened here — unlock them first.
- Forgetting Save PDF: Dragging pages only updates the board; download happens per row when you click Save.
- Very large scans: Thumbnail rendering can be slow on huge multi-hundred-page files — work in smaller batches if the tab struggles.
FAQ
Are my PDF files uploaded to a server?
No. Every operation runs in your browser using pdf.js and pdf-lib. Files are read locally and never transmitted anywhere.
Can I move individual pages between PDFs?
Yes. Each document is shown as a row of page thumbnails. Drag any page into another row (or an empty document) to build a custom page order, then click Save PDF on that row.
Does rotating reduce PDF quality?
No. Pages are copied and transformed losslessly — the underlying content streams, fonts and images are preserved exactly.
Is there a file size limit?
Only your browser's available memory. Very large or scanned PDFs (hundreds of MB) may be slow or fail to process client-side.
Can this tool remove a watermark or edit existing text?
No. This toolkit adds watermarks, composes pages and rotates them, but it cannot edit existing text, remove passwords, or OCR scanned documents.