Skip to content

Merge, split and compress PDFs without uploading

Merge, split and compress PDF files in your browser. Your files are never uploaded, so they stay on your device.

Rule-basedInstant, rule-based result.

Check it yourself: every request this page makes
Not loaded yetThe tool's code loads when you first point at or tap the tool. After that it works offline.

Every request this page has made since you opened it

This browser does not list its requests to the page. Use the Network panel instead.

Downloads bring the tool to you. None of these sent your file or its text anywhere.

Or open your browser’s developer tools, choose Network, run the tool and watch: your file never appears.

Merge PDF files into one

Runs in your browser. Your files are never uploaded.

or drop them on this panel

Up to 20 files and 150 MB in total, 1,000 pages at most (desktop limit).

Add at least 2 PDF files. Your files stay on this device. Nothing is uploaded.

Example result from made-up data

Two files for Fernway, a made-up company. The first live run replaces this.

  1. 01

    fernway-invoice-0412.pdf

    2 pages

  2. 02

    fernway-delivery-note-0412.pdf

    1 page

merged.pdf3 pages, in this order
Example

Split a PDF by pages

Runs in your browser. Your files are never uploaded.

or drop it on this panel

One file, up to 100 MB (desktop limit). Up to 200 ranges, and 1,000 files in one zip.

How to split

Smart page ranges: 1-3, 5, 8-10.

What to make

Choose a PDF file. Your files stay on this device. Nothing is uploaded.

Example result from made-up data

A 6-page handbook for Fernway, a made-up company, split by the ranges 1-2, 5, one file per range. The first live run replaces this.

  • pages-1-2.pdfpages 1-2
  • page-5.pdfpages 5

Both files come together in split.zip.

Example

Compress a PDF

Runs in your browser. Your files are never uploaded.

or drop it on this panel

One file, up to 100 MB (desktop limit). Nothing is changed until you press Compress.

How to compress

Choose a PDF file. Your files stay on this device. Nothing is uploaded.

Example result from made-up data

A 2-page file of site photos for Fernway, a made-up company. The first live run replaces this.

Scan
Photos we can shrink make up most of the file
Forecast
Photos make up most of this file. Shrink photos should help.
Default
Shrink photos, Medium
Result
Before and after sizes, how many photos changed, and a crop of the largest one

Load the sample to see the real sizes from your own browser.

Example

01How it works

Your files never leave this tab.

Three jobs on one line of fixed rules. No model is called, no file is uploaded, and the Method below prints the exact settings the code uses.
Your files enter on the left. Step 1, a rule: check the file type and size. A file that is not a PDF, is too large or is password-protected leaves on a siding and stops with a code. Step 2, a rule: read the file in this tab, in a background worker. Step 3, a rule: merge, split or compress. The new file arrives on your device. The route to a server is drawn but never taken. No step uses AI.
How a file travels through the toolkit. Every step is a fixed rule; there is no AI step.

The toolkit does three jobs on PDF files: merge several files into one, split a file by page ranges or into single pages, and compress a file. Every job runs in a background worker inside your browser tab, so the files are read and written on your device and never uploaded.

Compress has two honest modes. Clean up removes hidden extras such as metadata, for small savings with no change in quality. Shrink photos makes large photos smaller and leaves text sharp. Before anything changes, a scan shows what the file is made of, so you know whether shrinking photos will help.

If the result is not at least 2% smaller, you get the original back with a note that the file is already compact. The tool never promises a target size. Merging and splitting copy pages into a new file, so bookmarks, form fields and attachments do not carry over, and any change breaks a digital signature. No model is called at any step.

What stays on your device

  • The files you choose and every page in them.
  • Every file the toolkit makes, until you download or clear it.
  • Nothing is kept after you leave: no storage, no cache, and the worker is closed after each job.

Method

Printed from the same settings file the toolkit runs on, so the page and the code cannot disagree.

Limits on this device
JobDesktopPhone or unknown
MergeDesktop: 20 files, 150 MB in total, 1,000 pagesPhone or unknown: 20 files, 40 MB in total, 1,000 pages
SplitDesktop: 100 MBPhone or unknown: 50 MB
CompressDesktop: 100 MBPhone or unknown: 40 MB

A phone is a device that reports 4 GB of memory or less, or a touch screen that does not report it. Each job stops after 60 seconds, or 180 seconds when the files add up to more than 100 MB.

Shrink photos levels
LevelLongest sideJPEG quality
LightLongest side: 2,000 pxJPEG quality: 0.8
MediumLongest side: 1,500 pxJPEG quality: 0.7
StrongLongest side: 1,000 pxJPEG quality: 0.6

Photos already smaller than the longest side keep their size and are only saved again; a photo is swapped only if the new copy is smaller.

Split
Ranges like 1-3, 5, 8-10, up to 200 items. One file per range comes as split.zip, up to 1,000 files, stored without extra compression. Every new file is built by copying pages into a fresh document.
Merge
Files are joined one at a time in the order you set, then saved once. Pages you untick in Show pages are left out.
Clean up
Removes the XMP metadata stream, empties the document information entries, drops objects nothing points to, and saves with object streams on. Pages and images stay byte for byte.
Shrink photos touches
Only JPEG photos (DCTDecode) with 8 bits per channel in DeviceRGB or DeviceGray.
Shrink photos leaves alone
CMYK and ICCBased color, soft masks and masks, Decode arrays, image masks, JPEG 2000, JBIG2, CCITTFax and FlateDecode images, and photos rotated by a camera tag.
How a photo is shrunk
Each photo is decoded by your browser, scaled down on a canvas, saved again as a JPEG and swapped in only if the new copy is smaller.
The forecast
Photos we can shrink at 30% or more of the file: "should help", and Shrink photos at Medium is the default. From 10% to under 30%: a moderate saving. Under 10%: a small saving, and Clean up is the default.
The result rule
If the new file is not at least 2% smaller, you get the original back. The page never claims a saving it did not make.

02Limits

What it does not do

  • Merging and splitting drop bookmarks, fillable form fields, attachments and accessibility tags.
  • Any change breaks a digital signature.
  • Compress never promises a size. If a file is already compact, you get the original back.
  • Password-protected PDFs need the password removed in your PDF reader first.
  • It does not flatten pages to images, and it never compresses to a size you name.

03Stress test

Checked by tests, not by trust.

The same checks every Todkett automation faces, as they stand for this toolkit today. Passed appears only once a recorded test run says so.

PDF toolkit, check by check

Not yet0 of 4 checks that apply have passed

No recorded test run yet.

Checks marked Not yet are still open.

Stress test for the PDF toolkit: each check, what it checks and its status
Check

ST1Test set

Not yet

The unit tests and test files for merge, split and compress, with the right output written down first.

What this means: Test set

ST2Prompt attack

Not yet

The shared injection strings as file names and as text inside a PDF: they must change nothing.

What this means: Prompt attack

ST3Run twice

Not needed

Runs in your browser: no server

Sending the same input twice, or rerunning after a crash, never doubles a record, a message or a payment.

What this means: Run twice

ST4Failure recovery

Not needed

Runs in your browser: no server

A failed call is retried a set number of times. If it still fails, the item is parked for a person. Nothing is dropped silently.

What this means: Failure recovery

ST5Load and limits

Not yet

Oversized files, too many files or pages, and 30 jobs back to back, on desktop and phone limits.

What this means: Load and limits

ST6Failure alert

Not needed

Runs in your browser: no server

If a run fails, a named person gets an email saying which step failed.

What this means: Failure alert

ST7Human sign-off

Not needed

Runs in your browser: no server

Nothing reaches a customer, a candidate or a money system without a person, unless a fixed rule allows it.

What this means: Human sign-off

ST8Rules around the AI

Not needed

No AI step

Fixed rules run before the AI and check its answer after. If the AI fails or is down, the workflow falls back to a safe result.

What this means: Rules around the AI

No upload

Not yet

The network log during every test run: no file or text may leave the browser.

Check it yourselfWhat this means: No upload

0 passed, 5 not needed, 4 not yet. We show what we tested, never the test data.

What we test

04Changes

What changed

  1. First version, from the free tools architecture.
  2. Built merge, split and compress, their example results and their unit tests.

05Questions

Questions people ask first.

  1. Are my files uploaded?

    No. Merging, splitting and compressing all happen inside your browser tab. Your files never leave your device.

  2. Why did compress barely shrink my file?

    Text and fonts do not shrink much. Clean up gives small savings on any file, and Shrink photos helps only when photos make up much of the file. If a file cannot get at least 2% smaller, you get the original back.

  3. Will merging keep my bookmarks and form fields?

    No. Merging and splitting drop bookmarks, fillable form fields, attachments and accessibility tags. Links usually survive.

  4. Can it open password-protected PDFs?

    No. Remove the password in your PDF reader first, then try again.

  5. Is there a size limit?

    Yes. Limits depend on your device's memory, and the tool names the limit before you start.

From one file today to every file, every week.

Each workflow page walks through the whole job step by step: the fixed rules, the one AI step and what a person checks. Build it yourself in n8n, and book a call if you get stuck.

07Credits

Credits and licenses

Reading and writing PDFs
pdf-lib by Andrew Dillon, in the maintained @cantoo/pdf-lib fork, version 2.11.1
Expat license, permissive
Zip files
fflate by Arjun Barrett, version 0.8.3
Expat license, permissive
Page previews
PDF.js by Mozilla, pdfjs-dist version 6.4.299
Apache License 2.0