Convert PDF pages to PNG — no upload, pixel-clean output

When a PDF page has to become an image and the details matter — a diagram going into documentation, a form pasted into a wiki, a chart headed for a design tool — PNG is the format to reach for, because it is lossless: no compression artifacts around text edges, ever. This tool renders each page of a PDF to a PNG using pdf.js, the renderer Mozilla develops for Firefox, at 2x scale so type stays crisp on retina screens and in print. Everything runs in your browser: the document is opened, drawn to a canvas, and exported locally, with nothing transmitted to any server. That makes it a safe way to image pages from files you would not paste into a random website — financial statements, patient paperwork, unreleased plans. One PNG per page; more than three pages adds a ZIP download.

How it works

  1. Drop your PDF below or click to select it.
  2. Every page renders to a lossless PNG at 2x scale.
  3. Download each PNG, or the whole set as a ZIP when there are more than three.

Frequently asked questions

Why choose PNG over JPG for PDF pages?

PNG is lossless, so sharp edges — text, table rules, line diagrams — come out perfectly clean with no compression halo. The trade-off is file size: a text page as PNG is usually fine, but photo-heavy pages produce large files where JPG would serve better.

What resolution do the PNGs come out at?

Each page renders at 2x its nominal PDF dimensions — roughly 1224×1584 pixels for a Letter page, more for larger pages. That is crisp for screens, documents, and standard printing.

Does the document stay on my machine?

Yes, entirely. Rendering is done by pdf.js — Mozilla’s PDF engine, running as JavaScript in this page — and the PNGs are written straight out of browser memory. There is no upload step, no server-side rendering, and no copy of your document anywhere but your own device.

Will the PNGs have transparent backgrounds?

No — pages render with a white background, the same as they display in a PDF viewer, since PDF pages themselves are opaque. If you need transparency, remove the background in an image editor afterwards.