Skip to content

PDF to Images Converter

Select a PDF or click to browse

Runs in your browser — nothing is uploaded.

Estimates for educational purposes — not financial, medical, or legal advice. See terms.

Render every page of a PDF as a PNG or JPEG image at a chosen resolution, bundled into a downloadable zip. Runs entirely in your browser using pdf.js and JSZip. Your PDF never leaves your device.

How it works

  1. Select a PDF.
  2. Pick output format (PNG or JPG) and resolution (36 – 600 DPI).
  3. Click Convert.
  4. Download the zip.

pdf.js renders each page to a canvas at your chosen DPI, then the tool reads the canvas bytes as PNG or JPEG and writes them to an in-memory zip file. Page files are named page-01.png (with zero-padding so alphabetical sort matches page order) so the zip expands cleanly in any order-preserving viewer.

Format choice

PNG — lossless, larger file sizes. Use when image fidelity matters (documents with fine text, diagrams, line art, colour-critical content).

JPG — lossy, smaller file sizes. Use for photo-heavy content or when file size matters more than perfect fidelity. Quality is fixed at 92% — visually indistinguishable from lossless for almost any realistic content.

Resolution guide

DPIUse caseFile size
72Quick preview, matches PDF native sizesmallest
100Web screenshot, slide deck imagesmall
150Sharp screen display, retina viewingmoderate
300Print-readylarge
600Ultra-high-quality printvery large

A 20-page A4 PDF at 150 DPI produces roughly 50 MB of PNG or 5 MB of JPG. At 300 DPI, roughly 200 MB PNG / 15 MB JPG. Sizes here use decimal MB (1 MB = 1,000,000 bytes), the same convention macOS and storage labels use; Windows shows the same files ~5% smaller because it uses binary “MB” (really MiB).

Example: extracting slides as images

You have a 40-slide PDF presentation but need to embed individual slides into a report. Select the PDF, pick PNG, 150 DPI, Convert. Unzip. 40 PNG files numbered page-01.png through page-40.png. Drag into your report.

Example: turning a scan into reference images

Scanned handwritten notes or whiteboard photos in a PDF. Pick JPG at 150 DPI, Convert. You get compressed images suitable for image search, sharing, or piping into an OCR service.

Example: creating thumbnails

A long PDF where you want thumbnail previews. Pick PNG at 72 DPI. Get small, fast-to-load images — perfect for a thumbnail grid in a document management system.

Why this is browser-only

PDFs often contain sensitive content. Sending them to a random online converter is unsafe. This tool uses pdf.js (Mozilla’s PDF renderer — the same library that renders PDFs in Firefox) running entirely in your browser. Combined with JSZip for packaging and no server component at all, the tool is compatible with air-gapped environments and strict egress controls.

pdf.js is lazily loaded on the first Convert click — about 1 MB of JS, cached thereafter. JSZip adds roughly 30 KB. Neither is in the initial page bundle, so the explainer page itself loads fast for casual readers.

What this tool does not do

It doesn’t extract selectable text. The output is images; the text layer is discarded. For text, use a text extractor.

It doesn’t OCR the output images. If your source PDF is a scan with no text layer, the output images will also have no text layer. For OCR, pipe the extracted images through the image OCR tool.

It doesn’t render encrypted PDFs. Decrypt first.

It doesn’t handle vector output formats (SVG, EPS). Only raster (PNG, JPG). Vector rendering from PDFs is a different and much more complex problem.

It doesn’t stream pages for very large PDFs. All pages render to memory before zipping. For 500+ page documents at high DPI you may hit browser memory limits. Process in batches or use a server-side tool.

It doesn’t let you select specific pages to render. Every page is rendered. For partial rendering, use the PDF splitter to extract the pages you want first, then run this tool on the smaller PDF. For the reverse direction (images → PDF), the image to PDF converter bundles them into a multi-page document.

Frequently asked questions

What resolution should I pick?

72 DPI matches PDF's native coordinate system — small files, readable on screen at 100% zoom. 150 DPI is a good screen default — crisp on retina displays, still reasonable file size. 300 DPI is print quality — use this if you're going to print the images. Anything over 300 is usually overkill; over 600 the tool caps because memory usage becomes impractical. For most 'I want to paste this page into a slide deck' workflows, 150 is right.

Why a zip file instead of individual downloads?

Triggering N downloads in a row is awkward — browsers often block bulk downloads or require you to confirm each. A single zip is one click, and every OS knows how to extract zips. The zip is built in memory via JSZip (about 30 KB, loaded lazily on first convert) and offered as a direct download. Nothing leaves your device.

Why can't I get the original text, just images?

Because rasterising is destructive — text on a PDF page is turned into a grid of pixels in the output image. The original text layer is gone. If you need the text, extract it from the PDF directly (many PDF readers let you copy text, or dedicated text-extraction tools exist). The image converter is for use cases where you specifically want the visual rendering — slides, presentations, OCR pipelines, archival images.

What if my PDF is encrypted?

pdf.js refuses to render encrypted PDFs without the password — you'll get a parse error. Decrypt the PDF first with a dedicated tool (qpdf, pdftk, or a PDF reader that lets you save a decrypted copy), then run the images tool on the plain version. There's no password prompt in this tool because password handling would add complexity and UI without benefit — most users don't deal with encrypted PDFs.

Is pdf.js slow for big PDFs?

Slow-ish. pdf.js is a JavaScript PDF renderer, which is inherently slower than a native library like Poppler or Ghostscript. A 20-page PDF at 150 DPI takes ~5-10 seconds on a typical laptop; 100+ pages or high DPI can take much longer and use significant memory. If you have to do this repeatedly or at scale, a server-side tool (ImageMagick, Poppler's pdftoppm) will be much faster. For one-off use, browser-side is the right trade-off: no upload, no server, no privacy risk.