StringToolsStringTools

PDF Tools — Merge, Split, Compress

Three essential PDF operations in one tool. Merge multiple PDFs into one, split a PDF into specific pages, or compress to reduce file size. All in your browser.

Mitul MandankaFounder, Progragon Technolabs · 15+ years building software
Updated June 20267 min read

TL;DR

Merge, split, and compress run entirely in your browser tabusing the pdf-lib library — your files are read with the browser's File API and never uploaded, so no server ever sees them. That privacy comes with one trade-off: the work happens in your tab's memory, so very large files (roughly 100 MB and up) or hundreds of pages can get slow or run out of memory. For those, plus OCR and aggressive image down-sampling, a desktop tool still wins. The table below shows exactly which operations are fully client-side and where the practical limits sit.

Which PDF operations run fully in your browser

"Client-side" means the operation finishes inside your browser tab without sending the file anywhere. Every operation this tool offers is fully client-side. For context, the table also lists common PDF operations that are not in this tool and notes whether they can realistically be done client-side at all.

OperationWhat it doesFully client-side?
MergeCopies all pages from two or more PDFs into one file, in the order you arrange themYes — in this tool
Split / extractPulls a page range (e.g. 1-3,5,7-9) out of one PDF into a new fileYes — in this tool
CompressRe-saves the PDF using object streams to remove structural overheadYes — in this tool
Rotate pagesTurns pages 90/180/270° to fix sideways scansYes, technically (pdf-lib supports it) — not in this tool yet
Image-level recompressionRe-encodes embedded JPEGs at lower quality to shrink scan-heavy PDFsPossible client-side, but slow and memory-heavy — desktop is better
OCR (make scans searchable)Recognizes text in scanned images and adds a hidden text layerIn-browser engines exist (Tesseract.js) but are slow — desktop recommended
Password / encryption removalStrips or applies a document open passwordPartially — depends on the encryption; use a trusted desktop tool

You can verify the client-side claim yourself: open your browser's DevTools, switch to the Network tab, then merge or split a file. You will see zero upload requests — the PDF is processed in JavaScript memory and the download comes from a local blob URL.

Practical file-size limits in a browser tab

Because everything happens in your tab, the real ceiling is memory — not an arbitrary upload cap. pdf-lib loads the whole document, decompresses object streams, and builds the output in RAM, which can use roughly 3–5× the file size at peak. A browser tab on a typical laptop has a few gigabytes of headroom, so here is what to expect:

File / job sizeBrowser experienceRecommendation
Under 20 MBInstant, no lagUse this tool
20–50 MBA short pause while processingFine in this tool
50–100 MBNoticeable delay; tab may feel frozen brieflyWorks; close other heavy tabs first
Over 100 MB or 500+ pagesRisk of slow processing or an out-of-memory crashUse a desktop tool

These are rules of thumb, not hard limits. A 60-page text PDF behaves very differently from a 60-page scanned PDF where each page is a high-resolution image. Image-heavy files hit the memory ceiling far sooner. If a merge or split job stalls, splitting it into two smaller jobs almost always succeeds.

What "compress" here actually does (and doesn't)

This is the part people most often misunderstand, so it's worth being precise. Compression here re-saves the PDF with object streams enabled, which packs the document's internal objects more efficiently and strips structural overhead left behind by the software that created the file.

  • Great on bloated text PDFs — files exported from word processors, browsers, or older PDF generators often carry redundant structure. Expect roughly 10–30% smaller.
  • Little effect on scans — if a PDF is mostly scanned images, the bytes are in the images, not the structure. Re-saving won't shrink them much. The tool will tell you when no meaningful reduction was possible.
  • Lossless — it does not down-sample images or reduce quality, so text stays crisp and nothing is thrown away.

To shrink a scan-heavy PDF, the bytes have to come out of the images themselves. The most reliable route is to compress the source images before building the PDF — our Image Compressor handles that. For an existing scanned PDF, a desktop tool that re-encodes embedded JPEGs (such as Ghostscript or Adobe Acrobat) will out-shrink any structure-only pass.

When a desktop tool is the right choice

A browser tool is the fastest, most private option for everyday jobs. But a few situations genuinely call for desktop software:

  • Very large files (100 MB+) — desktop apps stream from disk instead of holding everything in a tab's memory, so they don't hit the same ceiling.
  • Scanned documents you need to search — OCR is computationally heavy; desktop OCR (Acrobat, ABBYY, ocrmypdf) is dramatically faster and more accurate than in-browser engines.
  • Aggressive image compression — tools like Ghostscript can down-sample embedded images to a target DPI, turning a 60 MB scan into a few megabytes — something a lossless structure pass can't do.
  • Batch automation — processing hundreds of files on a schedule belongs in a command-line tool or script, not a browser tab you have to keep open.

For merging a few contracts, pulling pages out of a report, or trimming a bloated export before emailing it, the browser tool above is the better choice — it's instant and nothing leaves your device.

Frequently asked questions

Are my PDFs uploaded to a server?

No. Merge, split, and compress all run inside your browser tab using the pdf-lib JavaScript library. The file is read locally with the browser's File API, processed in memory, and the result is offered as a local download. You can confirm this in DevTools → Network: doing a merge or split fires zero upload requests. This is the main reason to prefer it over services like SmallPDF or ILovePDF for confidential documents.

Why didn't compressing my PDF make it much smaller?

Your PDF is probably scan-heavy. This tool compresses losslessly by optimizing the document's internal structure (object streams), which works well on text PDFs but barely touches files whose size lives in embedded images. To shrink a scanned PDF you need to re-encode or down-sample those images — compress the source images first with our Image Compressor, or use a desktop tool like Ghostscript for an existing scan.

What's the largest PDF I can process here?

There's no fixed cap, but everything runs in your tab's memory. Files under 50 MB are smooth, 50–100 MB work with a short delay, and beyond about 100 MB or 500+ pages you risk slow processing or an out-of-memory crash. If a job stalls, splitting it into two smaller jobs almost always works. For genuinely huge files, use a desktop tool.

How do I extract specific pages from a PDF?

Switch to the Split tab, drop in one PDF, and enter a range. The format accepts single pages and ranges separated by commas — for example, 1-3,5,7-9 extracts pages 1 to 3, page 5, and pages 7 to 9 into one new PDF. Pages keep their original order and quality; nothing is re-rendered.

Can I reorder PDFs before merging?

Yes. Add all your PDFs in the Merge tab, then use the up and down arrows next to each file to set the order. The merged file follows the order shown in the list from top to bottom, so you can bundle, for example, a cover letter, resume, and portfolio in exactly the sequence you want.

Can this tool rotate pages or run OCR on a scan?

Not currently — this tool focuses on merge, split, and compress. Rotation is technically possible client-side and may be added later. OCR (making a scanned PDF searchable) is best done with a desktop tool such as Adobe Acrobat or ocrmypdf, because in-browser OCR engines are slow and less accurate on real documents.