PDF to Image Converter
Convert each PDF page to high-quality image, supports PNG/JPEG format
Drag and drop a PDF file here, or click to select
Supports .pdf format files
What is PDF to Image Converter?
PDF to Image Converter transforms each page of a PDF document into separate image files. This tool runs entirely in your browser using PDF.js library to parse PDFs, render each page to Canvas, and export as PNG or JPEG format. You can adjust resolution scale (1x/2x/3x), select specific pages to convert, and download individually or as a ZIP package. All processing is done locally—no files are uploaded to any server, protecting your privacy. PDF to Image helps when pages need to become PNG or JPG files for presentations, previews, OCR workflows, support tickets, thumbnails, or web content. Resolution, page range, transparency, color mode, and small-text readability matter. Exporting to images does not automatically preserve searchable text, form fields, links, layers, or document structure, so for archiving or further editing it is worth checking whether images are truly the right target format.
How to Use
How to use
- Drag or click to upload a PDF file
- Select output format (PNG or JPEG)
- Choose resolution scale (standard/HD/ultra HD)
- Select pages to convert (all or custom)
- Click "Start Conversion" to render the selected pages
- Download images individually or as ZIP
Output Quality
- Increase resolution for small text, diagrams, or print use; higher resolution also increases processing time and file size.
- Check page range and rotation before downloading, especially for scanned PDFs.
Use Cases
Technical Principle
PDF (ISO 32000-1, originally Adobe 1993, derived from PostScript) is a page-description language, not a raster format. A PDF page records drawing operations — 'fill this path', 'render this text with that font', 'embed this JPEG' — alongside a content stream of operators like 'm' (moveto), 'l' (lineto), 'Tj' (show text). The PDF grammar also references resources: fonts, images, color spaces (DeviceRGB, DeviceCMYK, ICCBased), and shading patterns. Rasterizing a PDF means interpreting these operators in order, maintaining the graphics state (CTM = current transformation matrix, current color, current font), and painting onto a bitmap at the chosen resolution. This page uses Mozilla's PDF.js (Mozilla Foundation, MPL-2.0, the de-facto in-browser PDF engine since 2011). PDF.js parses the cross-reference table and trailer, walks the object tree, decodes the content stream into operators, resolves all resources, and emits draw calls that target an HTMLCanvasElement. The output is then encoded as PNG (lossless) or JPEG (lossy) via canvas.toBlob(). The viewport scale maps PDF user units to pixels. PDF user units are 1/72 inch by default (1 pt = 1/72 in), so 1x viewport (the screen default in PDF.js) gives 72 DPI, not 96 DPI — the 96 DPI 'screen' reference is the Windows / CSS reference pixel, not the PDF coordinate system. Scale 1x = 72 DPI, scale 2x = 144 DPI, scale 3x = 216 DPI. This tool offers 1x / 2x / 3x; for higher print-grade DPI, use a desktop tool like ImageMagick or pdftoppm. Choosing the right scale depends on use case: web preview at 1x, HD displays at 2x, detail or print proofs at 3x. Rendering quality depends on what is in the PDF. Pure vector content (text, paths, fills) re-rasterizes crisply at any DPI. Embedded fonts are extracted and used as font subsets (Type 1, TrueType, CFF, OpenType via OpenType-SFNT in PDF 1.6+) — if a font is missing or its subset is incomplete, the page falls back to a system font and glyphs may render as 'tofu' boxes (☐). A scanned PDF embeds a single bitmap per page (usually JPEG or JBIG2); no DPI bump will sharpen it because the source is already raster, so up-scaling just interpolates. The right tool for those is OCR (Tesseract, AWS Textract) on the bitmap, not higher-resolution rasterization. JPEG quality knob: 0.92 is nearly indistinguishable from lossless at normal viewing distance, 0.85 is the common 'good for web' default with 4-6× smaller files than 0.92, 0.75 is acceptable for thumbnails, 0.50 starts to show 8×8 DCT block artifacts around text. PNG keeps edges sharp but is ~3-5× larger than JPEG at the same perceived quality for photo content. For text-heavy PDFs, PNG is the right call; for photos, JPEG at 0.85-0.92.
- PDF is ISO 32000-1 (Adobe 1993, derived from PostScript): a page-description language with operators like 'm' (moveto), 'l' (lineto), 'Tj' (show text), and resources (fonts, images, color spaces). It is not a raster format.
- PDF.js (Mozilla, MPL-2.0) is the de-facto in-browser PDF engine since 2011: it parses the xref table, walks the object tree, decodes the content stream, resolves resources, and emits Canvas draw calls.
- PDF user units: 1/72 inch by default (1 pt = 1/72 in), so viewport scale 1x = 72 DPI, 2x = 144 DPI, 3x = 216 DPI. The 96 DPI number is the Windows / CSS pixel, not a PDF concept. This tool exposes 1x / 2x / 3x; higher print-grade DPI requires a desktop tool.
- Choose scale by use case: web preview at 1x (72 DPI), HD displays at 2x (144 DPI), detail or print proofs at 3x (216 DPI). 8.5×11 in US Letter at 216 DPI is 1836×2376 px; A4 (210×297 mm) is about 1786×2526 px.
- Vector content re-rasterizes crisply at any DPI; text + paths use embedded font subsets (Type 1, TrueType, CFF, OpenType). Missing glyphs fall back to system fonts and render as tofu (☐).
- Scanned PDFs embed a bitmap (JPEG or JBIG2) per page: no DPI bump sharpens them. Use OCR (Tesseract, AWS Textract) on the raster, not higher-resolution rasterization.
- JPEG quality: 0.92 nearly lossless, 0.85 'good for web' (recommended), 0.75 thumbnails, 0.50 starts to show 8×8 DCT block artifacts. PNG keeps text edges sharp but is 3-5× larger for photo content.
- PDF.js renders the PDF content stream onto an HTMLCanvasElement on the browser's main thread, then canvas.toBlob() encodes the result as PNG or JPEG.
Examples
Single-Page PDF to PNG
report.pdf (1 page) -> report-page-1.png
Resolution 2x, file ~800 KB, ideal for embedding in PPT or WordMulti-Page PDF to JPG
book.pdf (50 pages) -> book-page-001.jpg ... book-page-050.jpg
Quality 85%, packaged as a single ZIP, total ~12 MBExtracting Specific Contract Pages
contract.pdf (20 pages) -> export only pages 7, 8, 15 (signature, pricing, breach clauses)
Input: 7,8,15 suited for sending to the relevant party without leaking other infoFAQ
Is the PDF uploaded?
No. Rendering uses PDF.js in your browser - the PDF is parsed and rasterised locally. File bytes never leave your device.
What output formats are produced?
PNG (lossless, best for line art and text-heavy pages) or JPEG (smaller file size, best for photographic pages). Each PDF page becomes one image file.
What resolution does it render at?
This tool offers three scales: 1x (about 72 DPI, suitable for screen preview), 2x (about 144 DPI, suitable for HD displays), and 3x (about 216 DPI, suitable for printing or detailed inspection). For higher resolutions, use a desktop tool like ImageMagick or pdftoppm.
Are encrypted PDFs supported?
Password-protected PDFs are not supported by this tool — encrypted files will fail to parse. Please remove the password in Acrobat or another tool before using this converter. PDFs with permissions-only restrictions (printing/copying disabled) can usually be rendered for view. DRM-protected PDFs (Adobe DRM) cannot.
Why does the rendered image look slightly different from the PDF in Acrobat?
PDF.js is a separate renderer from Adobe's. Most pages match exactly, but subtle differences can appear in font hinting, gradient edges, and CMYK→RGB color conversion. For pixel-exact output that matches Acrobat, use Acrobat's own export-to-image feature.
Can I export only specific pages?
Most builds let you choose a page range (e.g. 1-5, 7, 10) before rendering. For a single page, just specify that page number. Useful when you only need a cover or a specific figure from a long document.
What's the page-count limit?
Browser memory. Rendering 100+ pages at 3x scale uses a lot of RAM; mobile browsers may crash. For long documents, render in batches or use a desktop tool like ImageMagick or pdftoppm.