Convert in three steps
- Add your JPG photos.
- Put them in order.
- Convert and download the PDF.
For page size, margins and rotation, see JPG to PDF.
How the conversion runs in your browser
- Showing your photos. Each JPG gets a temporary blob: address, a pointer to the file in your browser's memory, so the page can show it as a thumbnail without sending it anywhere.
- Decoding. The browser's own image decoder (the same one that shows photos on any web page) turns each JPG into pixels.
- Drawing the page. Each photo is drawn onto an off-screen canvas on a white background, rotated if you asked, and re-encoded as a high-quality JPEG by the browser.
- Building the PDF. pdf-lib, an open-source JavaScript PDF library, places each image on a page of the size you chose and writes the PDF in memory. The download comes from a blob: link, not from a server.
- A side effect worth knowing. Because each photo is redrawn on a canvas, camera metadata from the original file, such as the GPS location, isn't copied into the PDF.
What your browser downloads
Everything you see in the Network panel is your browser downloading something from pdfwrangle.com, not sending your file to it. When a page loads, that includes the page itself, its JavaScript files under /_next/static/, fonts, the logo, and small page-data files for the links in the menu (their names end in .txt?_rsc=…), which the site prefetches so other pages open faster. All of these are GET requests, and none carries your file.
The converter downloads pdf-lib the first time you click Convert, not when the page loads.
Verify it yourself
Test 1: convert with the internet switched off.
- Open this page and wait until it has fully loaded.
- Convert one JPG while you're still online. This downloads pdf-lib, which only loads the first time you click Convert. If you go offline before this, converting fails with "Could not create PDF: Loading chunk … failed", because the library was never downloaded.
- Disconnect: turn off Wi-Fi, or choose Offline in the throttling menu of DevTools > Network.
- Add more photos, convert and download. It keeps working, because nothing needs a server.
Test 2: watch the Network panel.
- Open the tool page and wait until it has fully loaded.
- Open your browser's developer tools: press F12 (Windows, Linux) or Cmd+Option+I (Mac) in Chrome, Edge or Firefox, and select the Network tab.
- Clear the list (the clear button in the Network toolbar), so only new requests appear from now on.
- Add your JPG photos and click Convert.
- Look through the new requests. To show the Method column in Chrome or Edge, right-click a column header and tick Method. An upload would show up as a POST or PUT request with a body about as large as your file. You should find none. When you add photos, you'll see entries starting with blob: of type image. Those are your photos being shown as thumbnails from your browser's own memory, not transfers. The first time you click Convert, one JavaScript file under /_next/static/chunks/ (pdf-lib) is downloaded.
We ran both tests on the live site in Chrome on 20 October 2026, with our own test files. While the tools worked, the browser sent no POST or PUT requests and no request with a body. The only traffic was the GET downloads described on this page.
Related tools
- JPG to PDF: the main JPG converter
- Image to PDF: mix JPG, PNG and HEIC
- PNG to PDF
- Merge PDF
- PDFWrangle vs iLovePDF
- Privacy policy
- All PDF tools