keptlocal
Files never leave your browser

PDF to JPG

Upload a PDF and choose a quality preset. Every page renders to a crisp JPEG. One page downloads as a single file; multiple pages download as a ZIP. Nothing is uploaded.

Drop a PDF here, or

One PDF at a time. Files never leave your browser.

Upload a PDF to get started.

How to convert PDF to JPG

  1. Drop your PDF into the zone above, or click to browse for a file.
  2. Choose an output quality: Standard for screen and email, High for presentations and web, or Best for printing and zooming in.
  3. Click Convert & download. A single PDF page downloads as one .jpg file. Multiple pages are bundled into a ZIP archive automatically.

The conversion runs entirely in your browser using pdf.js and the HTML5 Canvas API. No file is sent to a server. Open DevTools (F12) and watch the Network tab while converting to confirm there are no upload requests.

Need just specific pages? Use Split PDF to extract them first, then convert.

When to convert PDF to JPG

  • Sharing on social media — platforms like LinkedIn, X, and Instagram don't support PDF embeds. Converting slides or infographics to JPG lets you post them directly.
  • Embedding in a Word or PowerPoint document — Office applications handle images far more reliably than embedded PDFs across different operating systems.
  • Sending a preview without the editable file — a JPG of a contract or proposal gives the other party something to view quickly without risking accidental edits.
  • Uploading to a CMS or form that only accepts images — many HR portals, tender systems, and property listing platforms require image uploads, not PDFs.
  • Creating thumbnails for a document library — convert the first page of each PDF to generate preview images for a web-based document index.
  • Archiving scanned documents as images — some workflows prefer flat image archives over PDF containers for long-term storage compatibility.

How it works under the hood

PDF is a vector-based format — pages are defined by drawing instructions, not pixels. Converting to JPG requires rasterising: executing those drawing instructions on a pixel grid at a chosen resolution.

keptlocal uses pdf.js, Mozilla's open-source PDF renderer originally built for Firefox. It parses the PDF structure, resolves fonts and images embedded in the file, and draws each page onto an HTML <canvas> element at the scale you choose. Once the canvas is filled, the browser's native canvas.toBlob() method encodes it as JPEG at 92% quality — a setting that balances file size and visual fidelity.

The scale factor controls output resolution. A standard A4 PDF page is 595 × 842 points (1 point = 1/72 inch). At scale 1.5 (Standard), the canvas is 893 × 1263 pixels — roughly 108 DPI. At scale 3.0 (Best), it reaches 1785 × 2526 pixels, or 216 DPI, which is comfortable for print use.

When the PDF has multiple pages, the JPG blobs are collected in memory and handed off to JSZip, which assembles a ZIP archive in-browser. The ZIP downloads as a single file — no server, no temporary storage.

Limits and what to expect

  • Resolution and file size: Best quality on a dense A4 page can produce JPGs of 1–3 MB each. For a 50-page document at Best quality, expect a ZIP of 50–150 MB — allow a few minutes for rendering and compression.
  • Fonts: pdf.js handles embedded fonts reliably. PDFs that subset or obfuscate fonts (common in some design tools) render correctly because pdf.js uses the embedded font data directly.
  • Transparency: JPEG does not support transparency. Any transparent areas in the PDF (common in logos and watermarks) are composited onto a white background, matching the default white page colour.
  • Password-protected PDFs: files that require a password to view their content cannot be rendered — unlock them in your PDF reader first.
  • Very large PDFs: rendering is CPU-bound. A 200-page document at Best quality may take 30–60 seconds on a mid-range laptop. The browser tab remains responsive; a progress counter shows each page as it completes.
  • Browser support: requires Canvas API and WebAssembly. Works in Chrome 90+, Firefox 90+, Safari 15+, Edge 90+.

Privacy: what happens to your PDF

Your file never leaves your device. pdf.js loads the PDF bytes into browser memory using the File API, renders each page to an off-screen canvas, and exports the resulting JPEG — all without a network request.

This distinction matters for PDFs that contain sensitive content: medical scans, legal documents, financial records, ID cards. With server-based converters you are uploading the file and trusting a third party's infrastructure. With keptlocal there is nothing to trust because the file stays local from upload to download.

Competitors including ILovePDF, Smallpdf, and Adobe Acrobat online all upload your file to process it. Their privacy pages commit to file deletion within a set window, but you cannot verify that. On keptlocal, the verification is immediate: open the Network tab and watch zero bytes leave your machine.

Frequently asked questions

Are my files uploaded to a server?
No. Everything runs in your browser using pdf.js and the Canvas API. Your PDF bytes never leave your device — verify this in DevTools → Network while converting.
What quality settings should I choose?
Standard (1.5×) suits screen display and email attachments. High (2×) is good for presentations and web use. Best (3×) produces print-ready images around 216 DPI — use it when the output needs to be zoomed in or printed.
Can I convert just one page instead of the whole PDF?
Use our Split PDF tool to extract the page you want first, then run it through PDF to JPG. This keeps the tool focused and the download simple.
How large will the output files be?
A typical A4 page at Standard quality produces a JPG of roughly 200–500 KB. At Best quality expect 800 KB–2 MB per page, depending on content density.
Will text in the PDF stay sharp?
Yes. pdf.js renders text using the embedded font data at the scale you choose, so text is as sharp as the chosen resolution allows. Higher quality settings produce crisper text at smaller display sizes.
Does this work on password-protected PDFs?
Only PDFs that can be opened without a password. If the PDF requires a password to view its contents, the conversion will fail — unlock it in your PDF reader first.