Polotno

File converter

PDF to PNG converter

Convert PDF to PNG in your browser at full resolution. No upload, no watermark, and you can edit the page before you export it.

Quick answer

Drop a PDF, get a full-resolution PNG. Edit the page in the live editor first if you want — the export renders what you see.

Formula: PDF → Polotno JSON (per page) → PNG (native resolution, browser-only)

Drop a PDF file here to convert it to PNG

or

Runs entirely in your browser. Your file never leaves your device.

Most PDF-to-PNG converters upload your file, queue it, watermark the output, or cap the resolution behind an account. This one runs in the browser tab you already have open, at the page's native size, and hands you an editor on the way out.

Full resolution, no account

The PNG comes out at the design's own pixel dimensions, read from the PDF page box. A press-ready A4 page at 300 DPI exports as a 2480 × 3508 image. Nothing is downsampled and nothing is stamped on it.

Fix the page before you export it

This is the part a plain converter can't do. As soon as the PDF parses, the design opens in the embedded Polotno editor with text still selectable and images still separate objects. Correct a typo, drop a logo, recolour the background, remove the pages you don't want — then export. The PNG is rendered from what you're looking at.

It also means transparency is under your control. Delete the white background rectangle most PDFs carry and the exported PNG has a genuine alpha channel.

Vector in, raster out

The parse step uses @polotno/pdf-import, built on Mozilla's pdf.js, so text arrives as text and shapes as paths rather than as one pre-flattened bitmap. The rasterisation to PNG happens last, at export time, from live vector data — which is why edges stay clean instead of picking up the softness of a re-encoded screenshot.

The same conversion in code

The SDK exposes the same primitives this page is built on:

pdf-to-png.ts
import { pdfToJson } from "@polotno/pdf-import";
import { createStore } from "polotno/model/store";

const buffer = await file.arrayBuffer();
const json = await pdfToJson({ pdf: buffer });

const store = createStore({ key: "YOUR_KEY" });
store.loadJSON(json);
await store.waitLoading();

// Trigger a browser download
await store.saveAsImage({ fileName: "page.png" });

// Or get the bytes as a data URL, one page at a time
const dataUrl = await store.toDataURL({
  pageId: store.pages[0].id,
  pixelRatio: 2,
});

Full API reference: PDF Import and the Import & Export overview.

Frequently asked questions

Q: How do I convert a PDF to PNG?

Drop your .pdf file on the converter above. The PDF is parsed in your browser and opens as an editable design. Click "Download PNG" to export the page as an image. Nothing is uploaded and there's no watermark.

Q: What resolution do I get?

The PNG is exported at the design's own pixel dimensions, taken from the PDF's page size. A PDF page authored at 300 DPI exports at 300 DPI. If you need a different size, change the canvas size in the editor before you export.

Q: Does PNG keep transparency?

PNG supports transparency, and any transparent region in the source is preserved. Most PDFs paint a solid white page background, so the export usually looks opaque. Delete or recolour the background element in the editor if you want a transparent PNG.

Q: PNG or JPG — which should I pick?

Use PNG for text, line art, logos, screenshots, and anything needing transparency: it's lossless, so edges stay sharp. Use JPG for photographs, where the file is far smaller and the compression artefacts are hard to see. Our PDF to JPG converter is the same tool with a different export.

Q: What about a multi-page PDF?

The export writes the page you're viewing. Use the page timeline in the editor to switch pages, then export each one you need. To get every page in a single download instead, the PDF to SVG converter returns a ZIP with one file per page.

Q: Is my file uploaded to a server?

No. Parsing and rendering both run in your browser, so the file never leaves your machine. Encrypted PDFs are unlocked locally — the password is never transmitted.

Want this in your app? Embed Polotno SDK.

TRUSTED BY

100,000+

CREATORS

300+

BUSINESSES

ExpediaUnbounceLovePopPostGridPredis.ai