← Back

PDF to Image

Export each PDF page as a PNG image

Select PDF file

About PDF to Image

Use this when you need some pages of a PDF as pictures: to drop into a slide deck, to send in a chat that cannot preview PDFs, or to use as raw material. It renders every page to PNG with PDF.js, shows thumbnails, lets you tick the pages you want, and then downloads single pages or a ZIP. PNG is the only output format and the resolution is fixed; there are no quality or format options.

Steps

  1. Click "Click to upload a PDF" and pick a file. While it works you will see "Rendering pages…" and the upload box is disabled.
  2. When rendering finishes a thumbnail grid appears under the heading "N pages total, M selected", with everything selected by default. Click an image or its checkbox to toggle it, or use Select all / Deselect all.
  3. Press the "Page N" button on a thumbnail to download just that page, or "Download selected pages as ZIP" to get all selected pages in one archive.

What the images look like

The render scale is fixed at 2. A PDF page at scale 1 is 72 points per inch, so this is roughly 144 dpi. For a typical A4 page (595 by 842 pt) each image comes out around 1190 by 1684 pixels. That reads comfortably on screen, but it is on the low side for high-quality printing or for zooming into small text, and it cannot be raised. Files are named name-pageN.png and the archive name-pages.zip. Page numbers are not zero-padded, so when sorted by name, page 10 comes before page 2.

Supported input and known limits

  • Every page is rendered up front, right after upload, and held in memory as PNG data. With many pages or large page sizes (drawings, posters) this uses a lot of memory and takes a while, and phones are especially prone to stalling. For big files, cut out the pages you need first with the PDF Split tool.
  • Password-protected PDFs cannot be opened. The message is "Failed to parse the PDF. Please make sure the file isn't corrupted or encrypted", and there is no field for entering a password.
  • A corrupted file or a non-PDF triggers that same message.
  • Output quality depends on PDF.js handling the file's fonts and graphics; unusual fonts or very complex vector art may look slightly different from your usual viewer.
  • Choosing a new file discards the current result. Building a ZIP of many pages also takes a moment, and the button shows no progress while it does.

Why did it take so long after I uploaded?

Because every page has to be rendered before anything is shown; nothing is rendered on demand. More pages and bigger pages mean a longer wait.

Can I get JPG, or a sharper image?

No. Only PNG is produced, and the scale is fixed at 2.

It says it failed to parse my PDF

Check that the file opens in another viewer. If it has an open password, remove the protection first and upload it again.

How do I get just one page?

Press the "Page N" button on its thumbnail; no ZIP is involved. For several pages use the ZIP download, which triggers a single download so the browser does not mistake it for a burst of downloads.

Is my file uploaded?

No. The code makes no upload requests; rendering and zipping happen in your browser. The PDF.js worker script and JSZip are served with the site itself rather than from a third-party server.