You need the pages of a PDF as images — to drop into a slide, post a preview, or run through something that only takes pictures. The convert-online route means uploading the whole document, which is a poor idea for anything you’d rather keep to yourself.
WSL turns PDF pages into JPG or PNG locally, for free, at whatever resolution you want. The tool is pdftoppm from the Poppler project: fast, reliable, and it never uploads a thing.
No WSL yet? See the WSL install guide.
Install the tool
pdftoppm ships in poppler-utils:
sudo apt update && sudo apt install -y poppler-utils
Confirm it:
pdftoppm -v
Convert every page to PNG
Give it the PDF, an output prefix, and the format. This renders each page to a numbered PNG:
pdftoppm -png input.pdf page
You get page-1.png, page-2.png, and so on. For JPG instead:
pdftoppm -jpeg input.pdf page
PNG is the safer default for documents because it stays sharp on text and line art. Use JPG when the pages are mostly photos and you want smaller files.
Set the resolution
Image sharpness is controlled by DPI with -r. The default is fairly low, so set it explicitly:
pdftoppm -png -r 300 input.pdf page
Choosing DPI with -r
| -r 96 | Small previews, thumbnails |
|---|---|
| -r 150 | On-screen viewing, good balance |
| -r 300 | Print quality, crisp text |
| -r 600 | Very high detail, large files |
If the images look soft, raise the DPI. If they’re enormous, lower it. For most uses, 150–300 covers it.
Convert only specific pages
Rendering a 200-page PDF when you need one page is wasteful. Use -f (first) and -l (last) to limit the range:
pdftoppm -png -r 300 -f 3 -l 3 input.pdf page
Setting both to 3 exports only page 3. A span works too — -f 5 -l 10 gives pages 5 through 10.
Batch several PDFs
To convert every PDF in a folder, each into its own image set:
for f in *.pdf; do
name="${f%.pdf}"
mkdir -p "$name"
pdftoppm -png -r 200 "$f" "$name/page"
done
Each PDF gets a folder named after it, holding its page images. Originals are untouched.
Wrapping up
Converting a PDF to images on Windows is one command: pdftoppm -png -r 300 input.pdf page for crisp PNGs, -jpeg for smaller photo pages, and -f/-l to grab just the pages you want. The -r value controls sharpness versus file size.
It’s free, it batches, and it runs in WSL — so your documents never get uploaded. To go the other way and build a PDF from images, see convert images to PDF. If you only need the words, not pictures, see extract text from a PDF.