What Vellum PDF does
Four conversions that people need every week, done in one page, with nothing to install and nothing to upload.
Convert PDF pages to images
Each page of a PDF is rendered to its own image file at the resolution you choose. A 150 DPI setting is the sweet spot for screen reading, slide decks and quick sharing; 300 DPI is what you want before sending a page to a printer. PNG keeps every pixel and is the right choice for diagrams and screenshots. JPG is dramatically smaller and is the better choice for scanned pages and photographs.
Build a PDF from images
Point it at a folder of JPGs, PNGs, WebPs or GIFs and it writes a single PDF in the order the files are listed. Pages can match the image exactly, or be laid out on A4 or US Letter with a margin. Images are centred and scaled to fit without distortion, so nothing gets stretched or cropped.
Merge PDFs
Select several PDFs and they are joined end to end, in the order shown in the list. Page sizes, rotations and bookmarks from the source documents are preserved. This is the routine version of the job: contracts followed by an appendix, a report and its scanned receipts, a set of invoices that should have been one file from the start.
Compress PDFs
Compression happens in one of two ways. Structure only rewrites the document container without touching a single image, which removes duplicated data and usually trims a few percent with zero visible change. The other presets re-render every page as a JPEG at a chosen resolution and quality, which is where the large savings come from on scanned or image-heavy files. The trade-off is explicit: re-encoding flattens text into pixels, so the text is no longer selectable or searchable in the compressed copy.
Both passes always run, and the smaller result is what you get. If re-encoding does not save meaningful space — which is usually the case for a text-only PDF — the lossless copy is kept, because a file that is 3% smaller but no longer searchable is a bad trade. The result line tells you which one you received.
How it works
Everything runs locally in your browser. When you open a file, it is read with the browser's own file APIs and handed to pdf-lib for structural work and PDF.js for rendering pages to pixels. Both libraries run as JavaScript on your own machine.
That has three consequences worth knowing about. There is no upload queue, so a 200 MB PDF moves exactly as fast as your computer can read it. There is no server holding your document, so nobody else can look at it. And because the work is local, there is no account to create and no free-tier quota to run out of.
The trade-off is honest: page rendering is the slowest part, and it needs memory proportional to the page size at the resolution you pick. If a page is enormous and you are on a phone, drop to 96 DPI.
Your files never leave your device
This is the part that matters if the document is a contract, a payslip, a medical record or anything else you would rather not hand to a stranger's server. The converter reads your file, does the work in JavaScript on your machine, and hands the result back to you as a download. Nothing is transmitted. Clearing the tab is enough to be certain the copy is gone, because there was never a server-side copy to begin with.
The tool itself does not use cookies. Any cookies used by the site for measurement are a separate matter, and are covered in the privacy policy.
Limitations worth knowing
- Password protected PDFs cannot be opened. The browser-side libraries will not ask for a password, so unlock the file first and re-add it.
- Compressing with image re-encoding is lossy. Text becomes pixels and is no longer selectable. Use Structure only when you need the text to stay live.
- Very large scanned documents take time. A 200 page scan at 300 DPI is a lot of pixels; 96 DPI is a reasonable compromise for proofing.
- Fonts and CMYK colour are rendered by PDF.js. Documents with unusual colour profiles may shift very slightly compared to a dedicated desktop application.
- Merging does not resolve conflicts. If two files have conflicting bookmarks or form fields, the first document's structure wins.
Frequently asked questions
Are my files uploaded to a server?
No. The conversion is performed entirely by JavaScript running in your browser. The file is read from your disk, processed in memory, and given back to you as a download. No copy is transmitted or stored anywhere.
Is there a file size limit?
There is no server-imposed limit because there is no server involved. The practical limit is how much memory your browser has available while rendering. Very large documents at high resolution will be slow on a phone and comfortable on a laptop.
Does it work offline?
The first visit downloads the two libraries from a public CDN, and they are cached by your browser. After that, the tools keep working without a connection.
Which browsers are supported?
Current versions of Chrome, Edge, Firefox and Safari on desktop, and Safari and Chrome on iOS and Android. The converter relies on modern file and canvas APIs.
Will the PDF I get look exactly like the original?
Merging and structure-only compression preserve the original page content exactly. Image re-encoding during compression is lossy by definition, and rendering to images is a rasterisation, so very small typographic detail can soften at low resolutions. Raise the resolution if that matters.
Can I convert a password protected PDF?
No. Remove the password with a desktop tool or your PDF reader's own permissions screen, then add the unlocked file here.
Why does compressing a text PDF barely change the size?
Text PDFs are already compact, so there is little duplicated data to strip. The presets that re-encode images help when a document is mostly scans or photographs. Structure-only compression is the safe choice when you need the file to stay lossless.
How is this site funded?
The tools are free to use. There is no account, no paid tier and no advertising in the working area. The about page explains how the project is run.
Reporting a problem
If a file fails to convert, or a result is not what you expected, tell us what you did and what happened. The contact page has the address. Bug reports are the fastest thing to get fixed, because they point straight at the code.