Turn any PNG image into a PDF in seconds
Drop your PNG file above and get a clean, print-ready PDF back instantly — no signup, no watermark, and nothing ever leaves your browser. Whether you have a single screenshot or a stack of images to combine into one document, this tool handles it all in one step.
How to convert PNG to PDF
- Add your PNG files — click the upload area or drag and drop one or more
.pngimages onto it. - Reorder if needed — drag the thumbnails into the order you want them to appear in the PDF.
- Click "Convert to PDF" — the PDF is built right in your browser.
- Download your PDF — hit the download button and save the file to your device.
That's it. No account needed, no file size tricks, no ads blocking your download button.
Worked example
Say you have three PNG screenshots of a report — page1.png, page2.png, and page3.png — and you need to email them as one document.
- Input: three separate PNG files, each around 1920 × 1080 px
- What the tool does: places each image on its own PDF page, sized to fit the image dimensions
- Output:
converted.pdf— a 3-page PDF, each page showing one screenshot, ready to share or print
The image quality stays the same. PNGs are lossless, so nothing is compressed or degraded during conversion.
How to do this in Python and JavaScript
If you need to automate PNG-to-PDF conversion in code, here are the two most common approaches.
Python (using Pillow)
# pip install Pillow
from PIL import Image
images = [
Image.open('page1.png').convert('RGB'),
Image.open('page2.png').convert('RGB'),
Image.open('page3.png').convert('RGB'),
]
images[0].save(
'output.pdf',
save_all=True,
append_images=images[1:]
)
print('Saved output.pdf')
The .convert('RGB') call is required because PDF does not support the RGBA colour space that many PNGs use (the alpha / transparency channel).
JavaScript (Node.js, using pdf-lib)
// npm install pdf-lib
const { PDFDocument } = require('pdf-lib');
const fs = require('fs');
async function pngsToPdf(pngPaths, outPath) {
const pdfDoc = await PDFDocument.create();
for (const filePath of pngPaths) {
const pngBytes = fs.readFileSync(filePath);
const pngImage = await pdfDoc.embedPng(pngBytes);
const page = pdfDoc.addPage([pngImage.width, pngImage.height]);
page.drawImage(pngImage, { x: 0, y: 0, width: pngImage.width, height: pngImage.height });
}
fs.writeFileSync(outPath, await pdfDoc.save());
console.log('Saved', outPath);
}
pngsToPdf(['page1.png', 'page2.png', 'page3.png'], 'output.pdf');
pdf-lib is a pure JavaScript library with no native dependencies — it works in both Node.js and the browser. The pdf-lib documentation covers all embedding and page options in detail.
How it works
When you add your PNG files, the tool reads them directly in your browser using the File API — they are never uploaded to a server. A JavaScript PDF library then embeds each image as a page in a new PDF document, matching the page size to the image dimensions. The finished PDF is written to memory and handed to you as a download.
The PDF specification (ISO 32000) supports PNG-compressed image streams natively, so the image data is stored efficiently inside the PDF with no quality loss.
Your files stay 100% private. Because everything runs locally in your browser with JavaScript, no image or PDF is ever sent to our servers or any third party.
When to use PNG-to-PDF conversion — and when not to
| Situation | Best choice |
|---|---|
| Sharing screenshots as a single document | ✅ PNG to PDF — perfect fit |
| Archiving photos with full colour detail | ✅ PNG to PDF works well |
| Scanned documents with real text | ⚠️ Consider OCR first so the text stays selectable |
| Photos where small file size matters more than transparency | ⚠️ Convert PNG to JPEG first, then to PDF, to cut size |
| Charts or diagrams with sharp lines and transparency | ✅ PNG is the right source format — keep it |
| Documents originally created in Word or Google Docs | ❌ Export to PDF directly from the source app instead |
PNG is a lossless raster format (meaning every pixel is stored exactly), so it's ideal when image sharpness matters. If you're working with photos where you'd prefer a smaller PDF, consider converting the source images to JPEG before combining them.
Quick tip: combine multiple PNGs into one PDF
This converter doubles as a PNG merger — just upload several files and they all land in one PDF, one page per image. Drag the thumbnails to set the order before you convert.
Ready to convert? Add your PNG files to the tool above and download your PDF in seconds.