Extractor · No upload

Save scanned PDF pages as JPG

Drop a scanned PDF to get each page as a JPG image. A page that is one scanned image comes out as the JPEG the file stores, and every other page is listed with the reason it was skipped.

Status idle Pages — Saved — Skipped — Rights notice — Output JPG Network since file read —

Refused by name: protected files (this page does not open protected files), and JBIG2, CCITT fax and JPEG 2000 images. Only a page that is one full-page image is saved: a stored JPEG is copied out as stored, others are re-encoded at quality 0.92, and the row says which. A page with text, drawings or annotations is named on its row and is not rendered. A rights notice in the file goes into each image. Takes .pdf.

How this converter works

Your browser reads the PDF with its File API, and the same first-party reader the PDF merger on this site uses walks it in memory and checks every object for an encryption dictionary before a page is read. Each page's drawing instructions are then read without being drawn. A page qualifies when the only thing it shows is one image covering the page to within half a percent: an invisible text layer from a scanner's text recognition paints nothing and is left out, and anything drawn under an opaque image is hidden by it. An image the page shows stretched is saved at its own proportions, and the row says by how much. A JPEG stored in the page is copied out byte for byte up to its end marker, and only header segments change. The orientation the page shows is set in the JPEG's own EXIF block, every other tag kept, or written in a new one when the page turns or mirrors the image, and the row says when an orientation tag the JPEG carried is changed. The colour profile the PDF declares replaces any the JPEG carries, and when the PDF declares none, the JPEG's own is left out; the row says when its own profile is left out or a different one takes its place. The file's rights notice (its dc:rights, xmpRights:UsageTerms and xmpRights:WebStatement fields) is added to the JPEG's own XMP packet, or goes in a packet of its own when the JPEG has none or holds a different notice. Any other segment the stored JPEG carries, camera metadata included, comes out as the PDF stores it. The one exception is an EXIF block this page cannot rewrite to show the page's way up, such as one browsers ignore on a turned page: an orientation tag replaces it, and the row says so. An image stored any other way is decoded from its own samples and re-encoded as JPG at quality 0.92.

To watch the network yourself, open the Network panel in a desktop browser's developer tools and convert a file. On a first visit, you may see the site's pages and code being cached for offline use; those requests do not carry your PDF. The conversion itself runs in this tab and needs no extra library. This route is first-party throughout and works offline from the first page load. Other ways to check, and what each one covers, are on the methodology page.

A page with anything visible besides its one image is skipped with the reason on its row: text, drawings, annotations, a second image, an image clipped, cropped, drawn at an angle or covering part of the page, an image on a layer a viewer can hide, or transparency. Images in CMYK, Lab or spot colours, images with a transparency mask (PDF to PNG keeps those) and 12-bit JPEGs are skipped the same way, and an image stored another way is re-encoded only up to 40 megapixels and 128 MB uncompressed. Files over 128 MB or 20,000 pages are refused, as is a file whose XMP metadata cannot be read (it may hold a rights notice), and attachments inside the PDF are not opened.

Frequently asked questions

How do I convert a scanned PDF to JPG?
Drop one PDF on the page, or click the drop area and choose it. Each page that is a single scanned image gets a row with its size and a Download link, and Download all saves them one after another. Every other page gets a row that says why it was skipped.
Why was a page skipped?
Its row says why. This page does not draw pages, so it saves only a page that is nothing but one picture and names anything else it finds there, such as a caption, a stamp or a form field. A searchable scan still qualifies: its invisible text layer is left out of the image. Black-and-white scans are often compressed as CCITT fax or JBIG2, and those pages are named on their rows too.
Is the JPG the same image that is in the PDF?
Yes, when the page stores a JPEG. Its image data is copied out byte for byte, so there is no second round of JPEG compression, and only its header segments are added or replaced: an orientation tag, the colour profile the PDF declares and the file's rights notice, where they apply. The row says when the JPEG's own orientation tag or colour profile was changed or left out. If the page stores its image another way, the JPG is a new encoding of that image, and its row says so.
Why was my protected file refused?
Because it carries an encryption dictionary, and any PDF that does is refused by name as soon as you add it, even one a viewer opens without asking you anything. A file whose compressed object streams cannot be read is refused the same way, because damage and encryption look alike from here. The PDF merger refuses the same files. Your file is left as it was.
Which way up will the JPG be?
The way the page shows it. When the page turns or mirrors a stored JPEG, the JPG keeps the stored pixels and carries an orientation tag, which browsers and photo viewers follow. A program that ignores the tag shows the image as the PDF stores it. Other images are turned in their pixels before they are encoded as JPG. The row says which was done.

Related tools