PDF to JPG / PNG

Turn every page of a document into an image, at the resolution you choose.

Higher resolutions look sharper and take longer — 2× is right for most screens, 3× for printing.

Add a PDF to turn its pages into images

Written and maintained by the KitYards team About KitYards Last reviewed:

PDF to JPG / PNG renders each page of your document into a real image file. Pick JPG or PNG, choose a resolution from 72 to 216 dpi, and every page appears as a thumbnail you can download on its own or take all at once in a .zip. The rendering is done by pdf.js — the same engine Firefox uses to display PDFs — running inside your browser, so the document is never uploaded. Pages are drawn one at a time with a progress bar, which is what makes a forty-page render at high resolution possible without freezing the tab.

How to convert a PDF to images

  1. 1 Add the PDF you want to convert.
  2. 2 Choose JPG for photos and scans, or PNG when you need a transparent background and razor-sharp text.
  3. 3 Pick a resolution: 2× is right for screens, 3× for printing or cropping detail.
  4. 4 Press Convert, then download individual pages or all of them as a .zip.

How the rendering works

The file is read into memory and opened by pdf.js, which parses the document structure and hands each page back as something that can be drawn. pdf.js does the heavy parsing inside a Web Worker — a separate thread — which is why the interface stays usable while a large document is being read. The worker itself is bundled with the site and served from the same origin, so nothing is fetched from a third-party CDN.

For each page a viewport is computed at your chosen scale and the page is painted onto a canvas. The canvas is then encoded with the native HTMLCanvasElement.toBlob(), giving a real JPG or PNG file. For JPG the canvas is filled with white first, because JPEG has no transparency and an unpainted area would otherwise come out black.

One canvas is reused for the whole document and shrunk to nothing at the end. That detail matters more than it sounds: allocating a fresh canvas per page leaves the old bitmaps alive until the garbage collector gets to them, which on a long document at 3× is exactly how a tab runs out of memory. Each finished page is handed over as a compressed blob immediately, and the tool yields a frame before starting the next one so the progress bar genuinely moves.

What people convert

A page to paste into a slide or document

Design tools and word processors handle an image far more predictably than an embedded PDF. Rendering the page at 2× and dropping it in keeps the layout exactly as it was.

Sending a page through a chat app

Messaging apps display an image inline and bury a PDF behind a download. Converting the one page you actually want to show makes it visible in the conversation.

Upload forms that only accept images

Plenty of portals accept JPG and PNG but not PDF. Rendering each page gives you files they will take, without retyping anything.

Extracting a figure or a chart

Render at 3× and crop the diagram out of the page. It is faster than recreating the chart, and at that resolution the result is clean enough to print.

Why turn a PDF into images

An image goes where a PDF cannot. Slide decks, social posts, chat apps, image-only upload forms and print shops all want a JPG or a PNG, and a PDF page pasted into a document as a picture keeps its exact layout instead of reflowing. Rendering locally matters because the documents people convert — a signed page to attach to a message, an ID, a diagram from an internal report — are rarely ones you would knowingly upload to a free web service.

What it cannot do

Rendering in a browser has real boundaries:

  • Password-protected PDFs cannot be rendered. pdf.js needs to decrypt the content streams to draw them, and without the password it cannot. Remove the protection in your PDF reader first.
  • High resolutions on long documents will run out of memory. A 3× render of an A4 page is roughly 2500 × 3500 pixels; forty of those held in a tab is a lot. If it fails, drop to 2× or split the document first.
  • The text layer does not survive. The output is pixels — no selectable text, no links, no form fields, no OCR. This is the nature of rasterising, not a shortcoming of the implementation.
  • Very large page sizes are clamped. Browsers refuse to allocate a canvas past a hardware limit, so an A0 poster at 3× is rendered slightly smaller than requested rather than coming back blank.
  • Unusual or broken fonts may be substituted. pdf.js embeds a good fallback set, but a document that relies on a font it neither embeds nor names correctly will be drawn with a substitute.

Troubleshooting

The conversion stopped partway through
Almost always memory. Lower the resolution one step and try again — 2× instead of 3× cuts the pixels per page by more than half. For very long documents, split them first and convert each part.
The images look blurry
The resolution is too low for what you are doing with them. 1× is 72 dpi, which is fine for a thumbnail and soft for anything else. Use 2× for screens and 3× if the image will be printed or enlarged.
The pages have a black background
That would happen with a transparent page exported to JPG, which the tool prevents by painting white first. If you actually want transparency, choose PNG instead.

Frequently asked questions

Should I pick JPG or PNG?

JPG for anything photographic — scans, images, pages with a lot of colour — because it is far smaller. PNG for text, diagrams and line art, where it stays perfectly crisp, and for pages that need a transparent background rather than white.

What does the resolution setting actually mean?

A PDF point is 1/72 of an inch, so a scale of 1× is 72 dpi, 2× is 144 dpi and 3× is 216 dpi. 2× looks sharp on any screen; 3× is what you want if the image will be printed or cropped into.

Is my PDF uploaded?

No. pdf.js runs in your browser and its worker is served from this site, not a CDN. Open the Network tab of your developer tools while converting, or disconnect from the internet after the page loads — the conversion still completes.

Can I convert only certain pages?

This tool renders the whole document, but every page gets its own download button, so you can take just the ones you need. To work with a subset first, use Split PDF to extract the range and convert the result.

Will the text still be selectable in the image?

No, and that is inherent to the format. An image is pixels: the text layer, links and any form fields are gone. If you need selectable text, keep the PDF.

Other recommended tools