BrowserTools
Advertisement
Home / PDF / PDF to Images (PNG / JPG)

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?
No. PDF.js — Mozilla's PDF rendering engine — runs entirely inside your browser. Your PDF is read from your local disk, rendered on an HTML5 canvas in memory, and the image files are downloaded directly to your device. Nothing is transmitted over the network.
What is the maximum file size or page count this tool supports?
There is no hard cap. Practical limits depend on your browser's memory. Very large PDFs (hundreds of pages at high resolution) may slow the browser; processing a few pages at a time using the page range feature is recommended for large documents.
Does this work with password-protected PDFs?
PDFs that require a password to open (user password) are not supported without first entering that password. Owner-password restrictions may still allow rendering depending on the permissions set. If you can open the PDF normally in your browser, conversion should work.
What resolution should I choose for best quality?
For screen viewing, 1.5x to 2x scale (approximately 144–192 DPI) is a good balance of quality and file size. For print use, choose 3x (288 DPI) or higher. Higher scale values produce sharper images but also much larger files and require more browser memory to generate.
How does this compare with using Adobe Acrobat to export images?
Acrobat's export can produce higher DPI outputs and offers more format options (TIFF, BMP). For the vast majority of use cases — presentations, web use, email — this browser tool produces identical-quality results at the resolutions it supports, with no installation or subscription, and with complete privacy.
When should I use PNG versus JPEG output?
Use PNG for documents containing mostly text, line art, diagrams, or solid colours — PNG is lossless and preserves sharp edges perfectly. Use JPEG for pages dominated by photographs or complex illustrations where the smaller file size matters more than perfect fidelity. JPEG introduces subtle compression artefacts that are most visible around text edges.
What PDF formats and versions are supported as input?
PDF.js supports PDF versions 1.0 through 2.0, including documents with cross-reference streams, object streams, and most encryption modes. PDFs created by any standard application — Acrobat, Word, LaTeX, Chrome, or scanners — are all compatible.
Can I convert only specific pages rather than the whole document?
Yes. Enter a page range such as '1-3,5,7' to convert only those pages. This is faster and uses less memory than converting a full document, and is especially useful when you only need a specific diagram or chart from a large report.
Can I automate PDF-to-image conversion for many files?
The browser tool processes files individually. For batch or automated conversion, PDF.js and other libraries such as pdf2pic, poppler (command-line), or Ghostscript can be used in server-side or scripted workflows. These tools use the same rasterization approach but run outside the browser.
Are there any PDF features that may not render correctly?
PDF.js renders the vast majority of PDFs correctly. Edge cases include certain Type 3 fonts, some advanced transparency effects, 3D annotations (PDF 1.6+), and documents using uncommon encryption modes. Interactive form fields and JavaScript actions are not executed during rasterization — the image shows only the static visual state of each page.

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.

Advertisement