filetity

Merging PDFs with no connection

Measured 6 September 2026

If you have merged PDFs on this device before, the merge tool works with the network off. The page, its code and the engine that does the copying are all in your browser's cache from that first use, and the merge itself never needed a server. If you have never merged on this device, it will not work, because the engine downloads the first time it is needed and not before. To prepare on purpose, open the page while you still have a connection and merge any two files, or press "Download tools for offline use" on the homepage.

What the browser keeps, and when

The first time you open any page on this site, your browser installs a small service worker from /sw.js. Its first job is to fetch every page on the site and the scripts and stylesheet those pages reference, and store them. That is the shell, and it is why a page you have never visited still opens with the wifi off. Its second job is to answer requests from that store whenever the network fails. The file is plain JavaScript and the list of what it fetches is written out at the top of it.

The engines are not in that list, deliberately. Merging uses pdf-lib, a library that opens each PDF and copies its pages into a new one. Showing a page on screen uses pdf.js, whose worker is 381 KB. HEIC needs a decoder, passwords need qpdf, OCR needs 9.2 MB of models. The engines with a measured size come to 9.9 MB between them, and most visitors use one tool, so every page loads without any of them and each one is fetched the moment a tool first needs it. The service worker sees that fetch too, and stores the answer. So the shell arrives on the first visit and each engine on its first use, and that is all offline consists of.

A tool you have never used will not work offline

The page opens, because the shell was cached the first time you visited anything here. Then you drop a PDF on it, the page asks for the engine, and the network is off. The page count never appears next to the file, and pressing Merge tells you the engine has not downloaded and that your file is fine. Using the tool once while online is what puts the engine in the cache; opening the page does not.

On 6 September 2026, in a browser profile that had never been to the site, the first visit put 144 entries in the cache, all of them the shell. With the network then switched off, the merge page opened, two PDFs went in, no page count appeared, and Merge produced no file. That run reported the PDF as damaged, which was a confident wrong answer, and the message was changed the same day to say the engine is missing instead. Back online, one merge of the same two files took the cache to 154 entries and downloaded a 110,596-byte PDF. Network off again, the same two files merged to a PDF of exactly 110,596 bytes.

The cache belongs to one browser on one device, so a merge that works in Chrome on your laptop says nothing about Firefox on the same laptop or Chrome on your phone. And when the site is updated, the service worker retires its old store, engines included, so after an update the tool needs one more online use before it is ready for the next flight. Clearing site data does the same.

Preparing before you lose the connection

  1. 1. While online, open filetity.com/merge-pdf in the browser you will be using and merge any two PDFs. The output does not matter; the download it triggered does.
  2. 2. Turn the wifi off, reload the page, and merge again. If that works, it will work on the plane. If it does not, you have found out at your desk.
  3. 3. To have every tool ready rather than one, use the "Download tools for offline use" button on the homepage. It fetches every engine at once. The measured ones come to 9.9 MB, most of it the OCR models, and qpdf and mozjpeg come on top of that and are not yet measured. On the same panel Chrome and Edge offer to install the site as an app, which gives it an icon and a window of its own and changes nothing about how it works.

Hotel wifi, and documents that stay put

The connection you do not trust and the connection you do not have are the same case here. The merge copies pages from one document to another inside the tab's memory and writes the result to your disk, and no step of that sends anything. A network that can see your traffic has nothing of the document to see, and a network that is off changes nothing. Step 2 above is the demonstration: a tool that uploaded the file could not finish with the wifi off. The full path a file takes lists the requests that do happen, and none of them carries a file.

Two things the merge does not do offline or on. It refuses a password-protected PDF rather than producing a broken one, so remove the password first while you have a connection if that tool has never been used either. And a fillable form comes through flattened: what was typed into it stays visible, the boxes stop being boxes.

Merge PDFs in the browser, in the order you choose, with no upload. Use it once online and it works with the connection off.

Open the merge tool

What is and is not cached on this page is read from the script that writes the service worker, as of the date this page was published. If the worker changes, this page follows. Corrections to support@filetity.com.