PDF Toolkit
Build, edit and convert PDFs in a single flow. Drop a PDF to load its pages, add images as extra pages, drag to reorder, remove what you don't need, and export — optionally in black & white. Everything happens in your browser.
Drop files here
PDFs load every page as a thumbnail; images become new pages.
How it works
PDF Toolkit Online is one workflow: no tabs, no mode switching. Drop a PDF (or several), drop some images, rearrange everything into the order you want, toggle black & white if you need it, and export one final PDF.
Load content. The drop zone at the top accepts PDFs and images at the same time. When you drop a PDF, every page is rendered as a thumbnail and appended to the page list. When you drop an image (PNG, JPEG, WebP, GIF, BMP), it's added as a new page. You can drop multiple times: a 20-page contract plus three signature scans plus your letterhead image all end up in the same list.
Edit the page list. Each card is one output page. Drag to reorder. Use the ← / → buttons for fine-grained moves. Click ✕ to remove a page entirely. A badge (PDF / IMG) tells you whether a card is a page copied from a PDF source or an image converted on export. The page number on the right is the final position in the output.
Page size for images. PDF pages keep their original dimensions. For images you pick one of two options. "A4 (centered, margin)" is a standard portrait page with a small white margin, good for photos and receipts. "Fit to image" makes the page exactly the image's pixel size with no margins, good for scans and full-bleed layouts.
Black & white export. Toggle "Convert to black & white on export" before clicking Download. Every output page is rasterized, pixels are run through BT.601 luminance (Y = 0.299R + 0.587G + 0.114B), and the result is written back as a JPEG-backed PDF. The conversion is intentionally destructive: text from original PDF pages becomes non-selectable, because that's the only way to guarantee uniform grayscale across pages that mix vector text, colour raster images and scanned content.
Privacy. Nothing is uploaded. pdf-lib handles creation and lossless page copying; pdfjs-dist handles rendering. Both run as client-side JavaScript in your browser tab. You can verify in DevTools → Network that opening a file and exporting a PDF fires zero HTTP requests. For CVs, tax returns, contracts, scanned IDs and anything else you'd rather not hand to a random web service, that is the point of the tool.
Typical use cases. Merge several PDFs (drop them all, drag to reorder, export). Add a signed signature page to a contract (drop the PDF, add the signature image, reorder it to the right spot). Remove the confidential last page before sharing (drop PDF, delete page, export). Turn a colour scan into a smaller grayscale version (drop PDF, toggle B&W, export). Build a portfolio PDF from photos (drop every image, reorder, export as A4).
Frequently Asked Questions
Can I add an image and remove a page in the same PDF?
- Yes, that is what the single page list is for. Drop your PDF and its pages appear as cards. Drop an image and it is appended as a new page. Click ✕ on the pages you want gone, drag the image where you need it, click Download, and the output contains exactly the pages you kept, in the order you chose.
How do I merge two PDFs?
- Drop the first PDF onto the drop zone, then drop the second. Every page from both files appears in the page list as a separate card. Reorder if needed, click Download, and you get one merged PDF.
How do I remove pages from a PDF?
- Drop the PDF and click the ✕ button on every card you want gone. Each page is a card, and the remaining cards become the output. There is no re-encoding and no quality loss: the pages you keep are copied verbatim from the source.
How do I reorder PDF pages?
- Drop the PDF and drag the page cards with the mouse, or use the ← / → buttons for step-by-step moves. The page number on each card shows the final position, so you see the result before exporting.
How do I convert images (JPG / PNG) to PDF?
- Drop the images onto the drop zone or use "+ Add images", pick A4 or "fit to image" in the options row, and click Download. Every image becomes one page, in the order of the card list.
Does the black & white toggle keep selectable text?
- No. Black & white export rasterizes every page, so text from original PDF pages becomes part of a JPEG image and cannot be selected or searched. It is a deliberate trade-off: rasterizing is the only way to guarantee a uniformly grayscale output when a page contains both vector text and colour raster content. For text-heavy documents where selectable text matters, export in colour (the default).
Does merging or removing pages keep fillable form fields?
- Yes, in colour export. Fields on the pages you keep stay fillable, and fields that only sit on removed pages are dropped along with those pages, including anything typed into them. Black & white export rasterizes the pages, so the fields become part of the image. To fill the fields, open the result in PDF Form Filler.
What's the maximum PDF size I can process?
- There is no server-side limit, because there is no server: the workflow runs in your browser. In practice the limit is your device's RAM. A modern laptop handles 300-page PDFs comfortably, smartphones may struggle above ~100 pages, and thumbnail rendering takes a few seconds per 50 pages.
Why is my black & white PDF larger than the original?
- Because B&W export rasterizes every page into a JPEG-backed PDF, so a small vector original becomes a bigger image-only file. If size matters, stick with colour export (which uses lossless page copying for PDF sources) or run the B&W result through a dedicated PDF compressor afterwards.
What image formats are supported?
- PNG and JPEG are embedded directly with no re-encoding. WebP, GIF and BMP are canvas-reencoded to JPEG first, because PDF can only embed PNG or JPEG natively. HEIC from iPhone is not widely supported by browsers yet, so convert it to JPEG first or use your OS's default Photos export.
Is my PDF uploaded anywhere?
- No. The tool is a static client-only app. pdf-lib handles PDF creation and page copying; pdfjs-dist renders thumbnails and rasterizes pages for grayscale. Both run as JavaScript inside your browser tab. DevTools → Network shows zero outbound requests during the whole workflow: open a file, edit it, export, still zero.
What you can do with the page list
All operations work on the same unified list of pages, mixing imported PDF pages and added images. One workflow, one export.
| Task | How | Output format |
|---|---|---|
| Build a PDF from images | Drop images, set page size, click Download | PDF (A4 or fit-to-image) |
| Remove pages from a PDF | Drop PDF, click ✕ on unwanted cards, Download | Source PDF minus the removed pages |
| Reorder pages | Drop PDF, drag cards into the new order, Download | Source PDF with new page order |
| Add a page to an existing PDF | Drop PDF then drop image, drag image to position, Download | PDF with the image inserted |
| Merge two or more PDFs | Drop every PDF (or add sequentially), reorder if needed, Download | Single merged PDF |
| Convert any combination to black & white | Build the page list, toggle "Convert to black & white", Download | Grayscale JPEG-backed PDF |
| Remove a confidential page and keep the rest intact | Drop PDF, ✕ the sensitive page, Download in colour | Source PDF minus one page, lossless |
| Turn a colour scan into a smaller grayscale copy | Drop PDF, toggle B&W, Download | Grayscale PDF (often ~10-30% smaller for scans) |
PDF pages in colour export are copied losslessly via pdf-lib's copyPages: vector text stays vector, images stay embedded. Grayscale export rasterizes every page (destructive by design).