Skip to content

PDF Toolkit – Merge, Split, Compress, Convert & Edit PDFs

Try for free

Merge, split, compress, rotate, reorder, extract or remove pages, add watermarks and page numbers, convert pages to images and images to PDF, extract text and embedded images, read and write metadata, and add or remove passwords. Chain several steps in one run; every output file gets a download link.

📄 PDF Toolkit

Merge, split, compress, rotate, reorder, watermark and number PDFs, convert pages to images and images to PDF, pull out text and embedded images, read and write metadata, and add or remove passwords. Paste links or upload files, pick one or more steps, and every result comes back with a download link in seconds. No login, no software to install: $0.00425 per file, plus small per-page and per-step prices, with platform usage included.

✨ Why use PDF Toolkit?

  • 🧰 17 operations in one tool — merge, split (every page, every N pages, page ranges, in half, by chapters, by file size), extract, remove and reorder pages, rotate, watermark, page numbers, compress, metadata, passwords, PDF to images, images to PDF, text and embedded images.
  • 🔗 Chain steps in one run — for example merge three contracts, number the pages, add a "CONFIDENTIAL" stamp, compress and protect the result with a password, all at once.
  • 🎯 Exact page control — page lists like 1-3, 5, 8-, last, odd, even or reverse, and an "only these pages" filter for rotation, stamps, numbers, text and images.
  • 🔖 Keeps what matters — bookmarks follow their pages through merges and page edits, form fields stay fillable, rotated pages get upright stamps and numbers.
  • 📦 Bulk ready — hundreds of files per run, from links, uploads, a key-value store or the links in a dataset; each output is one row with its download link, and all files come as one ZIP too.
  • 🔒 Passwords done properly — open protected files with their password, save them without it, or protect outputs with AES-256 and printing, copying and editing permissions.

🎯 Use cases

  • 📑 Document assembly — merge invoices, statements or contract parts into one numbered PDF with a bookmark per file.
  • ✂️ Splitting reports — cut a long report into chapters by its bookmarks, into fixed page ranges, or into email-sized parts.
  • 📉 Smaller files — shrink scanned or image-heavy PDFs for email, upload forms and storage.
  • 🖼️ Previews and thumbnails — render first pages as PNG, JPEG or WebP thumbnails for websites, catalogs and document management systems.
  • 🏷️ Branding and drafts — stamp DRAFT, CONFIDENTIAL or a logo on every page, or only on some.
  • 🗃️ Archives and audits — read page counts, sizes, authors, dates, text layer and form fields of many PDFs at once, or clean metadata before sharing.
  • 📸 Photos to PDF — turn scans and phone photos (JPEG, PNG, HEIC...) into one A4 or Letter PDF.

🚀 How to use

  1. Paste PDF or image links into PDF and image links, or upload files in Upload files.
  2. Pick one or more operations in What to do (for example Merge and Add page numbers).
  3. Fill in the options of the steps you picked: pages, split mode, watermark text, compression level, image format...
  4. Click Start. Each output file appears as a row with a Download link; text pages and info rows appear in their own views.
  5. Download files one by one, or all of them as one ZIP from the run summary (filesZipUrl). The results table can be exported as JSON, CSV or Excel.

Steps always run in this order, whatever order you pick them in: images to PDF → merge → extract / remove / reorder pages → rotate → watermark → page numbers → metadata → compress → password. The readers (info, text, embedded images, page images) then look at the finished PDF, and split cuts it into parts last.

📥 Input

FieldWhat it does
fileUrlsLinks to PDFs or images (JPEG, PNG, WebP, GIF, TIFF, BMP, HEIC). Google Drive, Docs, Dropbox, GitHub and arXiv links work.
filesFiles uploaded from your computer.
operationsOne or more of info, merge, split, extractPages, removePages, reorderPages, rotate, watermark, pageNumbers, setMetadata, compress, protect, unlock, pdfToImages, imagesToPdf, extractImages, extractText. operation (one name) is accepted too.
pages / applyToPages / pageOrderPages to keep or remove; pages the other steps apply to; the new page order.
splitMode / splitEvery / splitRanges / maxPartSizeMbHow to split.
watermarkText / watermarkImageUrl / watermarkPosition / watermarkOpacity ...Watermark look.
pageNumberFormat / pageNumberPosition / pageNumberStart ...Page number look, e.g. Page {page} of {total}.
compressionLevellossless, balanced or strong.
imageFormat / dpi / imageWidthPage images: PNG, JPEG, WebP or TIFF, resolution or fixed width.
pageSize / pageOrientation / pageMarginMm / imagesOnePdfHow images become PDF pages.
metaTitle / metaAuthor / ... / removeMetadataMetadata to write or clear.
password / newPassword / ownerPassword / allow...Open protected files; protect the output.
keyValueStoreId / datasetId / base64FilesMore file sources.
{
  "fileUrls": [
    "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
    "https://www.irs.gov/pub/irs-pdf/fw4.pdf"
  ],
  "operations": ["merge", "pageNumbers"],
  "pageNumberFormat": "Page {page} of {total}"
}

📤 Output

One row per output: a PDF (type pdf), an image (image), a page of text (text), an info row (info) or a file that failed (error).

FieldDescription
typepdf, image, text, info or error
operationThe steps that made this output, e.g. merge, pageNumbers
fileName / fileUrlOutput file and its download link (valid for 7 days)
fileSizeBytes / mimeTypeSize and type of the output file
pageCountPages of the output PDF (or of the document read)
pages / part / partCountSplit parts: the page range (or chapter) and the part number
pageNumber / width / height / dpiPage images and embedded images
text / wordCount / charCountText of one page
originalSizeBytes / sizeReductionPercentSize before and the saving after compression
encrypted / bookmarkCountPassword protection and bookmarks of the output
title, author, creator, producer, creationDate, pdfVersion, paperSize, pagesWithText, isScanned, imageCount, formFieldCount, ...Info rows
sourceUrl / sourceFileName / sourcePageCount / sourcesWhere the output came from
status / error / errorCode / notesok or error, with a plain message
{
  "type": "pdf",
  "operation": "merge, pageNumbers",
  "fileName": "fw9-merged.pdf",
  "fileUrl": "https://api.scrape.ly/v2/key-value-stores/.../records/fw9-merged.pdf?signature=...&attachment=1",
  "mimeType": "application/pdf",
  "fileSizeBytes": 280254,
  "pageCount": 11,
  "originalSizeBytes": 349660,
  "encrypted": false,
  "bookmarkCount": 2,
  "sourceFileName": "2 files",
  "sourcePageCount": 11,
  "sources": ["fw9.pdf", "fw4.pdf"],
  "status": "ok"
}

💰 Pricing

You pay per file and per step, platform usage included:

EventPrice
File loaded (each PDF or image you give)$0.00425
Page processed (each page a page step writes: merge, split, extract / remove / reorder, rotate, watermark, page numbers, compress)$0.0017
PDFs merged (per merged PDF)$0.0085
PDF compressed (per compressed PDF)$0.0085
Page converted to an image$0.00425
Info and metadata read (per file)$0.00425
Text extracted (per file, all its pages)$0.00425
Embedded image saved$0.0017

Examples: merging two 5-page PDFs costs 2 × $0.00425 + 10 × $0.0017 + $0.0085 = $0.0340. Turning 100 pages into PNG images costs $0.00425 + 100 × $0.00425 = $0.43. Reading the info of 1,000 PDFs costs $8.50. Writing metadata, adding or removing a password and turning images into a PDF cost nothing beyond the file price. Failed files are free.

❓ FAQ

Do I need a login or an account somewhere else? No. Give links to files that are publicly reachable, or upload them.

Are my files kept? Output files are stored in your own Scrape.ly storage, and their download links work for 7 days.

Can it read scanned PDFs? It can merge, split, compress, rotate, stamp and convert them like any PDF. Scanned pages have no text layer, so Extract text returns empty pages for them; use Image to Text (OCR) on the page images. For Markdown, tables and deeper text extraction, use PDF to Text & Markdown.

How many files or pages can I process? As many as you like; big runs stream their outputs. Very large files need more memory and disk: raise the memory in Run options.

What if a file fails? It gets an error row with a plain message (not found, not a PDF, wrong password...) and the other files carry on. Failed files are not charged.

Can I schedule it or use the API? Yes. Every option is a JSON input field, so you can call it from the API, an automation or a schedule, and chain it after a scraper with datasetId.

⚠️ Limits

  • Input files can be up to 500 MB each (uploads up to 100 MB); one output file can be at most 100 MB, so split or compress larger results.
  • No OCR: text comes from the PDF's text layer only.
  • Watermark and page number text supports Latin, Greek and Cyrillic letters; Chinese, Japanese, Korean and Arabic text is not drawn.
  • Compression scales down and recompresses photos and large images; fonts and vector drawings stay as they are, so text-only PDFs shrink little.
  • Very large pages are rendered at a lower resolution to fit the run's memory (about 40 megapixels per page image).
  • Passwords are only removed when you give the right password (files that open without one are saved unprotected).
  • Download links stay valid for 7 days; download or move the files before then.
//From the blog\\

Latest articles

All articles

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.