PDF and files

PDF to image

Turn PDF pages into images in this tab. File bytes stay here; pdf.js still loads from a file host.

A PNG of a page is a screenshot, not the PDF

You need page 3 in a slide. That job is pixels. Text stops being text. Vectors stop being vectors. This page asks pdf.js to render each page onto a canvas at scale 2.0 and export PNG. pdf.js and its worker load from cdnjs. pdf-lib is also pulled from jsDelivr because the page includes it. Your PDF bytes are read in this tab and never posted to Privy Tools. If those library hosts are blocked, nothing renders. That is a library download, not an upload of the deck. Watch the compute log.

Scale 2.0 is a compromise I picked so a laptop can finish a short file without allocating a poster-sized bitmap. It is not a DPI picker. Hairline rules and 7 pt footnotes will stair-step if you zoom the PNG. Password files usually fail until you unlock them elsewhere. CMYK print jobs get an RGB-ish preview because browsers live in RGB.

Worked example: page 1 into Notion

Pick the PDF, convert, download page-1.png. For a doc preview it looks fine. Zoom to 400% and the serifs fall apart. If you needed selectable text, you wanted the original file, or a screenshot from a desktop viewer at a higher zoom, not this export. I would rather you know that before you put the PNG in a print-ready layout.

Worked example: 80-page scanned board pack on a phone

Each page is a full canvas. Eighty of those will out-of-memory a mid-range phone. The tab dies. That is a memory ceiling, not a conspiracy. Split a page range with merge & split, then rasterize the slice. If you only needed exhibit C, do not render A through Z for sport.

Worked example: a financial table with tiny type

A 12-page model PDF with 8 pt numbers. Scale 2 looks acceptable on a 27-inch monitor and mushy when you pinch-zoom on a phone to read a cell. If the PNG is for Slack (“is this the right exhibit?”), ship it. If someone will print it as a handout, this pipeline is the wrong one. Convert that page at a desktop zoom, or keep the PDF.

What pdf.js will skip or lie about

Form fields that look filled in Acrobat and empty here. Some annotations. Optional content groups. Very large page boxes (A0 posters). Files that are HTML with a .pdf name. Encrypted files. Layers that print shops expect to stay separate: you get a flattened RGB picture.

Output is PNG in this UI, not JPG. If you needed JPG for a CMS that rejects PNG, run the PNG through the format converter. That is a second canvas pass. Do not confuse this tool with the compressor: one makes pictures of pages, the other re-saves a PDF.

Print shops that asked for “a JPEG of the artwork” usually wanted a flattened 300 dpi TIFF from InDesign, not a browser PNG of page 1. If the PDF is a stew of spot colors and bleeds, rasterizing here is a preview for Slack, not a plate. Likewise: a scanned PDF is already pictures. Rendering it to PNG duplicates the bitmap with pdf.js’s interpretation of compression artifacts. You rarely gain sharpness. You gain a file you can drop into a slide.

Questions

Does my PDF get uploaded?

No. File bytes stay in this tab. pdf.js and its worker load from cdnjs; pdf-lib from jsDelivr. Those hops are libraries, not your file.

Why is the text blurry?

You exported pixels at a fixed scale 2.0. There is no DPI control in this UI. Small type will stair-step if you zoom.

Do vectors stay vectors?

No. PNG out. If you need selectable text, keep the PDF.

Can I convert one page of a 200-page file?

This UI rasterizes every page it can load. Split the range first so the tab does not die.

Does this OCR the pages?

No. You get pictures. Searchable text is a different product.

Password-protected PDFs?

Usually fail until you unlock them in a tool you already trust, if that is lawful.

Related tools