Verify PDFs stay on this device
LocalPdfImg converts PDF pages to PNG or JPG in the browser. This page is the check you can run yourself: which network calls are normal, and which calls would mean the document left the tab. The tool is on the home page. The short policy is the privacy policy. The copyright and rights rules are the terms. Publisher context is on about.
What you are proving
You are proving that PDF→image does not upload the PDF. You are not proving that nothing on your computer can see the bytes. A browser extension, malware, or a recorder you installed can still read a tab. This site does not receive the file, and it does not claim to block other software on the device. Files never leave this device through this page.
If Network shows a POST or PUT of your PDF, stop using that session and write to contact@localpdfimg.pages.dev with the page URL and what you saw — without attaching the document. That would not match how this tool is built.
Steps in DevTools
- Open the converter. Use a small PDF you are allowed to test with, not a sensitive contract, the first time you learn the panel.
- Open DevTools → Network. In Chrome that panel is documented as the Network panel. In Firefox it is the Network Monitor. Enable “Preserve log” so a reload does not wipe the list.
- Reload the page once and let the first requests finish. You should see same-origin GETs for the document,
/assets/styles.css,/assets/tool.js,/assets/vendor/pdf.min.js,/assets/vendor/pdf.worker.min.js(or a worker fromblob:),/assets/vendor/jszip.min.js, and the favicon. - Drop the PDF. Wait until the page count appears. Sort or scan the new rows. There should be no request whose body is that file, and no POST or PUT of the PDF to this host or any other host.
- Convert. Downloads use
blob:URLs created in the tab. The browser is not fetching those bytes from our server.
Expected requests
- Page assets. HTML, CSS,
tool.js, pdf.js, the worker, JSZip, and the icon — all GET, all from this site (or same-originblob:worker), when the page loads or converts. - pdf.js / worker / JSZip. Same-origin GETs of library scripts under
/assets/vendor/. Those responses are JavaScript — not your document. Open a response: it is library code. - Analytics beacon, maybe. The privacy policy describes Cloudflare Web Analytics. If that product is enabled for the zone, a request to
cloudflareinsights.comcan show up. It is a page-view beacon. It is not an upload of the file you dropped. The HTML we ship does not include an advertising script.
Requests that should not appear
- A POST, PUT, or PATCH that carries the PDF bytes.
- A call to a third-party convert, OCR, or “AI PDF to image” API after you drop the file.
- A fetch of a remote PDF URL. The tool has no address field and does not download documents from the web.
- A script load from an ad host. Response headers for this site set a Content-Security-Policy with
script-src 'self'and do not list an ad network.
Why the file can stay in the tab
The drop area is a file input. The File API lets the page read a file the user chose. It does not give the page a path it can upload on its own later. pdf.js loads the PDF into memory and draws pages to a canvas. JSZip packs image blobs when you export more than one page. The download button points at an object URL from URL.createObjectURL. When you close the tab, that buffer goes with it. We have no project library to reopen.
Soft limits refuse files over about 40 MiB and warn around about 50 pages rendered per run. Encrypted PDFs may fail to load. That error is local. It is not an upload, and it is not a password bypass.
Publisher, contact, and policy pages
These pages stay on the existing URLs. They are how you learn who publishes the tool and how to reach us:
- About — who publishes the pages.dev experiment and what the tool is for.
- Contact — a working mailbox for wording and bugs, with clear “do not send PDFs.”
- Privacy — no PDF upload, hosting logs, optional Web Analytics, children note.
- Terms — your documents, acceptable use, honest limits.
- This trust page — a verifiable Network check for PDF→PNG/JPG convert.
This experiment does not run advertising scripts today. If that ever changes, privacy and about would need an honest update first.
Where to go next
- Convert PDF pages to images
- PDF pages to JPG for email
- Extract slides as images
- Form screenshots
- Why local PDF→image tools matter
- About · Privacy · Terms · Contact
Questions about this wording, email contact@localpdfimg.pages.dev. Do not attach the PDF. We cannot accept the file, and we do not want a private contract in a mailbox.
Sources
- Chrome DevTools — Network panel: developer.chrome.com/docs/devtools/network
- Firefox — Network Monitor: firefox-source-docs.mozilla.org/…/network_monitor
- MDN — Using files from web applications: developer.mozilla.org/…/Using_files_from_web_applications
- MDN —
URL.createObjectURL: developer.mozilla.org/…/createObjectURL_static - MDN —
Blob: developer.mozilla.org/…/Blob - Mozilla pdf.js. The scripts you see in Network are served from this site: mozilla.github.io/pdf.js
- JSZip — client-side ZIP packing: stuk.github.io/jszip
FAQ
How do I prove this PDF to image tool does not upload my file?
Open DevTools → Network, drop a local PDF, and convert. You should see same-origin page assets including pdf.js, the worker, and JSZip. You should not see a POST or PUT of the document. Downloads use a blob URL created in the tab.
Is the pdf.js or worker script load an upload of my PDF?
No. Those are GETs of library scripts from this site (or a same-origin blob worker). The response is JavaScript. Your document is not in that request or that file. Canvas render then runs in the tab.
What is a blob download?
After convert, the download link points at a blob: URL made with URL.createObjectURL on a Blob (often a ZIP) built in the page. The browser saves those bytes from memory. It does not download them from our server.
Which network requests are a problem?
A problem is any request that sends the PDF file, calls a third-party convert API, or fetches a remote document address. Static assets, pdf.js, JSZip, the worker, and an optional Cloudflare Web Analytics beacon are not the document upload.
Does this check cover JPG and PNG export?
Yes. Both formats are canvas exports in the tab. Use the same Network panel either way. The email guide covers JPG settings.
Can the page fetch a PDF from a URL I paste?
No. There is no URL field and no remote document downloader. You can only choose a file already on the device, and the terms require that you have the rights to process it.