PDF to Images (PNG / JPG)
Convert each page of a PDF to PNG or JPG images, entirely in your browser.
Loading PDF to Images (PNG / JPG)… If nothing happens, please enable JavaScript.
Frequently asked questions
Are my files uploaded to a server?
What is the maximum file size or page count this tool supports?
Does this work with password-protected PDFs?
What resolution should I choose for best quality?
How does this compare with using Adobe Acrobat to export images?
When should I use PNG versus JPEG output?
What PDF formats and versions are supported as input?
Can I convert only specific pages rather than the whole document?
Can I automate PDF-to-image conversion for many files?
Are there any PDF features that may not render correctly?
About PDF to Images (PNG / JPG)
Converting a PDF to images is called rasterization — the process of rendering the vector instructions, embedded fonts, and bitmap graphics of a PDF page into a grid of pixels at a specific resolution. Each page of the PDF is drawn onto an HTML5 canvas at the requested DPI (dots per inch) scale, and the canvas is then exported as a PNG or JPEG file. Unlike a pure vector PDF, a rasterized image can be opened in any image editor, embedded directly in a presentation slide, posted to a website, or shared on social media without any PDF viewer required. This tool uses PDF.js, Mozilla's open-source PDF rendering engine, to handle the rasterization entirely inside your browser.
The most common use cases for PDF-to-image conversion include extracting specific diagrams or charts from a report to use in a presentation, converting scanned documents into a format accepted by image-upload portals, producing thumbnails for document management systems, archiving pages of a signed contract as tamper-evident images, and preparing content for social media posts where a PDF is not supported. Developers also use PDF-to-image conversion for generating preview thumbnails in document management applications and for running OCR (optical character recognition) pipelines that accept image input rather than PDF.
Because PDF.js is a complete PDF renderer running entirely in your browser, your document never leaves your device. There is no server upload, no API call, and no third-party processing. This is particularly important for PDFs containing personally identifiable information, legal documents under NDA, or financial statements — all of which carry confidentiality obligations that cloud-based conversion services cannot reliably satisfy.
Choosing the right output settings matters for quality and file size. At 1x scale (roughly 96 DPI), images are suitable for on-screen viewing but will appear soft when printed. At 2x (192 DPI) the output looks sharp on high-density screens and is acceptable for low-volume printing. At 3x (288 DPI) and above, images are suitable for print reproduction. PNG is lossless and produces larger files but is ideal for documents with sharp text, line art, and solid-colour graphics. JPEG is lossy but produces much smaller files and is best for photographic or heavily illustrated pages where the compression artefacts are not noticeable. If in doubt, use PNG for text-heavy documents and JPEG for image-heavy ones.
From PostScript to Pixels: How PDF.js Brought PDF Rendering to the Browser
For most of PDF's history, viewing a PDF required a dedicated native application — first Adobe Reader, then rivals like Foxit and Sumatra. Browsers either launched an external plugin or an embedded ActiveX control, both notorious for security vulnerabilities and crashes. Mozilla changed this in 2011 by launching PDF.js, an open-source project that implemented a full PDF renderer in pure JavaScript and HTML5 Canvas, with no native code and no plugins required. It shipped in Firefox 19 (2013) as the default PDF viewer, marking the first time a major browser could display PDFs without any third-party software.
The technical challenge PDF.js solved is significant. PDF pages are described in a subset of PostScript — a stack-based programming language where commands like 'moveto', 'lineto', 'setfont', and 'showstring' are interpreted to build up the visual appearance of a page. PDF.js had to implement an interpreter for this language, a font rendering engine capable of handling TrueType, Type 1, CFF, and OpenType fonts, an image decoder for JPEG, JBIG2, CCITT Fax, and other compression schemes, and a compositing engine for PDF's complex transparency model — all in JavaScript, running at interactive speeds in a browser tab.
Rasterization at high DPI reveals an interesting property of PDF: it is truly resolution-independent for vector content. A PDF page described entirely in vector instructions can be rendered at 72 DPI for a screen thumbnail or at 4800 DPI for a typesetting imagesetter, producing output appropriate for each medium from exactly the same source file. This is why PDF is preferred over raster formats like TIFF for archival purposes — the document's fidelity is not constrained by the resolution at which it was originally created, only by the precision of the floating-point arithmetic used to interpret its drawing instructions.