PNG to PDF Converter – Free, Fast & Private

Convert PNG images to PDF instantly in your browser. No uploads, no watermarks, no signup. Combine multiple PNGs into one PDF file — free and private.

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

  1. Add your PNG files — click the upload area or drag and drop one or more .png images onto it.
  2. Reorder if needed — drag the thumbnails into the order you want them to appear in the PDF.
  3. Click "Convert to PDF" — the PDF is built right in your browser.
  4. 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

SituationBest 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.

Frequently asked questions

Is my PNG file uploaded to a server?+
No — conversion happens entirely in your browser using JavaScript. Your PNG images are never sent to any server, so your files stay completely private.
Is this tool free? Do I need to create an account?+
Completely free, and no account or signup is required. Just add your files and download the PDF.
Can I convert multiple PNGs into a single PDF?+
Yes. Upload as many PNG files as you need and they are combined into one PDF document, one image per page. Drag the thumbnails to set the page order before converting.
Will the image quality change during conversion?+
No. PNG is a lossless format, and the tool embeds your images directly into the PDF without re-compressing them, so there is no quality loss.
What if my PNG has a transparent background?+
The PDF format does not support full transparency in the same way PNG does. Transparent areas are typically rendered as white in the output PDF. If your design depends on transparency, flatten the background to the colour you want before converting.
How do I convert PNG to PDF in Python?+
Use the Pillow library: open each PNG with Image.open(), call .convert('RGB') to drop the alpha channel, then save with save_all=True and append_images set to the remaining pages. The full snippet is in the 'How to do this in Python' section above.
How do I convert PNG to PDF in JavaScript?+
The pdf-lib package (available on npm) makes this straightforward. Use PDFDocument.create(), embedPng() for each file, add a page, and call drawImage(). The full Node.js example is shown in the code section above.
What is the difference between PNG and PDF?+
A PNG is a single image file — one picture stored as pixels. A PDF is a document format that can hold multiple pages, text, and embedded images. Converting PNG to PDF is useful when you need to share or print images in a standard document format that any device can open.