Extract PDF Pages as PNG or JPG Images
This free PDF to image converter lets you pull out any page from a PDF as a high-quality PNG or JPG. Pick your resolution — up to 300 DPI — choose a page range, and download images one by one or as a ZIP archive. Everything runs in your browser using PDF.js; your file is never uploaded anywhere. If you need to trim the PDF into sections before extracting pages, use the PDF splitter first, then convert only the pages you need.
Click or drag a PDF here
PDF files only — processed entirely in your browserHow to Convert PDF Pages to Images
- Click the upload area or drag and drop your PDF file onto the page.
- Browse the thumbnail gallery that appears to review all pages in the document.
- Enter a page range (e.g., "1-3, 5, 7") or leave the field blank to extract all pages.
- Choose an output format — PNG for lossless quality or JPG for smaller files.
- Select a resolution: Screen (72 dpi), Print (150 dpi), or High (300 dpi).
- Click Extract Pages, then download images individually or grab them all as a ZIP.
Key Features
- Three resolution options: 72 dpi (web), 150 dpi (print), 300 dpi (professional).
- PNG output for lossless text and diagram rendering.
- JPG output at 92% quality for photo-heavy PDFs with smaller file sizes.
- Flexible page range input — mix individual pages and ranges (e.g., "2, 4-7, 10").
- Thumbnail gallery for a quick overview of all pages before extraction.
- Single-file download or bulk ZIP archive download via fflate — all in-browser.
- Powered by PDF.js — no server upload, no plugins required.
- Works on Windows, Mac, Linux, iOS, and Android browsers.
Use Cases
Extract a Chart or Diagram from a Report
When you only need one or two pages from a lengthy PDF report, type those page numbers in the range field and extract them as high-resolution PNGs. The image will be sharp enough for presentations or web use at 150 dpi or higher.
Digitise Scanned Documents for Editing
If you have a scanned PDF that you want to run through an OCR tool or image editor, extract each page as a 300 dpi PNG. This gives you a clean, high-resolution raster image that preserves every detail of the original scan.
Create Social Media Content from a PDF Slide Deck
Convert presentation slides to JPG images and post them directly to LinkedIn, Instagram, or Twitter. Use the 150 dpi setting for a good balance of quality and file size, then resize the extracted images to each platform's recommended dimensions. For very large output files, compress the images before uploading to keep load times fast.
Archive PDF Pages as Images
Some workflows require storing page images rather than PDFs — for example, content management systems that accept JPG uploads. Extract all pages at once and download them as a ZIP to import into your system.
FAQ's
No. PDF.js renders your PDF entirely inside your browser. The file bytes never leave your computer — no server, no cloud storage, no privacy risk.
Type comma-separated values and use hyphens for ranges. For example, "1-3, 5, 7" extracts pages 1, 2, 3, 5, and 7. Leave the field empty to extract all pages.
Use Screen (72 dpi) for quick web previews, Print (150 dpi) for standard printing and general use, and High (300 dpi) for professional-quality output. Higher resolution means larger files and longer processing time.
Use PNG for PDFs containing text, diagrams, or line art — the lossless format preserves sharp edges. Use JPG for photograph-heavy PDFs when file size matters; the tool encodes at 92% quality, which is visually indistinguishable from the original for photos.
PDF.js can open PDFs encrypted with a user password if you supply the password when prompted. PDFs with full owner restrictions that prohibit content extraction cannot be rendered.
After extraction, the "Download All as ZIP" button uses the fflate library to bundle every extracted image into a single ZIP archive — entirely in-browser without any server involvement.
There is no server-imposed limit, but very large PDFs (100+ pages at 300 dpi) will use significant browser memory. For documents over 50 pages, consider extracting a subset of pages using the range field.