How to convert a pdf to a single vertical image strip
- Step 1Open the PDF to Image Strip tool — Go to the PDF to Image Strip tool. It accepts a single PDF — it is not a batch tool, so add one document at a time.
- Step 2Drop the PDF onto the dropzone — Drag your PDF in or click to browse. The tool reads the page count locally first; on the free tier a PDF over 50 pages or over 2 MB is blocked with an upgrade prompt before any rendering happens.
- Step 3Let it render automatically — There is no Process button for this tool — it runs on drop. Every page is rendered to a canvas at a fixed 1.5x scale, so you cannot pick a width, DPI, or quality here. Larger or higher-page-count PDFs take longer because each page is rasterised in turn.
- Step 4Review the result panel — The panel shows input pages, output size, input size, and
Processing: Browser. The single combined image is ready to download — there is no in-page zoom or page-by-page preview. - Step 5Download the strip — Click Download. The file saves as
<your-filename>-page-1.png— a single PNG containing all pages stacked. The-page-1suffix is the tool's image-download naming pattern even though it is one combined strip, not per-page files. - Step 6Embed or share the PNG — Drop the PNG into a webpage, Notion page, or chat the way you would any image. For very tall strips, place it inside a scroll container so the page layout stays manageable — see the long-form scroll-image guide for the height limits browsers impose.
What this tool does — and what it does not
The pdf-to-image-strip implementation has no configurable options. This maps every capability people expect against what the code actually does.
| Capability | Supported here? | Reality / where to go instead |
|---|---|---|
| Output format | PNG only | The strip is always written as image/png. There is no JPEG toggle. For per-page JPEGs use PDF to JPG. |
| Choose output width / pixels | No | Width is fixed to the widest rendered page at 1.5x scale. Resize the downloaded PNG in any image editor afterward. |
| Render resolution / DPI | Fixed at 1.5x | Every page renders at scale 1.5 (~108 DPI). There is no DPI box. PDF to PNG renders per-page images you can scale separately. |
| Quality / compression slider | No | PNG is lossless; there is no quality control. To shrink a PDF before previewing, use Lossy PDF Compress. |
| Gap / spacing between pages | No | Pages are stacked flush, with no inter-page gap. Add spacing in an image editor after download if you need it. |
| Export individual page images | No | Output is one combined strip. For one image per page, use PDF to PNG or PDF to JPG. |
| Select which pages to include | No — all pages | Every page is included. Trim first with Extract Pages or Split by Range, then strip the result. |
Free vs paid limits for PDF tools
The strip tool inherits the shared PDF family limits. Page count and file size are both checked locally before rendering; exceeding either blocks the run with an upgrade prompt.
| Tier | Max pages | Max file size | Files per job |
|---|---|---|---|
| Free | 50 | 2 MB | 1 |
| Pro | 500 | 50 MB | 5 |
| Pro + Media | 2,000 | 500 MB | 50 |
| Developer | 10,000 | 2 GB | unlimited |
Cookbook
Concrete, accurate scenarios for turning a PDF into one vertical preview strip. Numbers reflect the fixed 1.5x render scale and PNG-only output.
A 4-page A4 PDF becomes one tall PNG
A4 at 72 DPI is 595 x 842 pt. At the tool's fixed 1.5x scale each page renders to 893 x 1263 px. The strip stacks all four, so width stays 893 px and height is 4 x 1263.
Input: report.pdf (4 pages, A4 portrait)
Render: each page at 1.5x -> 893 x 1263 px
Strip: width = 893 px (widest page)
height = 1263 * 4 = 5052 px
Output: report-page-1.png (single PNG, ~5052 px tall)Mixed page sizes keep their own proportions
If a PDF has a wide cover page and narrower body pages, the strip width is the widest page and narrower pages are left-aligned within it (no upscaling). Each page keeps its native aspect ratio.
Input: deck.pdf page 1: 1200 x 675 (16:9 cover) pages 2-5: 960 x 720 (4:3 body) Strip width = 1200 px (the cover) Strip height = 675 + 720*4 = 3555 px Body pages render at their own width, drawn at x=0
Trim to the pages you want first
The strip always includes every page. To preview only the cover and first body page, extract them first, then run the strip on the 2-page result.
Step 1 Extract Pages: pages 1,3 -> cover-intro.pdf Step 2 PDF to Image Strip: cover-intro.pdf Result cover-intro-page-1.png (2 pages stacked) Trim tool: /pdf-tools/pdf-extract-pages
Need per-page images, not one strip
If your downstream use is a folder of page images (e.g. a CMS gallery), the strip is the wrong tool — it produces one combined PNG. Use the per-page converters instead.
Want: page-1.png, page-2.png, page-3.png ...
Use: PDF to PNG -> /pdf-tools/pdf-to-png
PDF to JPG -> /pdf-tools/pdf-to-jpg
These export one image per page, downloaded in sequence.Free-tier block on a long PDF
A 120-page PDF dropped on the free tier never renders — the page count is read locally and the run is blocked before rasterising.
Input: handbook.pdf (120 pages) Free limit: 50 pages Result: blocked with message -> "This PDF has 120 pages. Free handles up to 50 pages. Pro unlocks larger PDFs." Fix: extract <=50 pages first, or upgrade.
Edge cases and what actually happens
PDF over 50 pages on the free tier
Blocked (free limit)The page count is loaded with pdf-lib before any rendering. On free, a PDF with more than 50 pages is blocked with "This PDF has N pages. Free handles up to 50 pages. Pro unlocks larger PDFs." Pro raises this to 500, Pro+Media to 2,000, Developer to 10,000. To preview a long document on free, extract a subset with Extract Pages first.
File larger than 2 MB on the free tier
Blocked (size limit)Size is checked on drop: "<name> is X MB. Free handles files up to 2 MB per job. Pro unlocks larger files." Image-heavy PDFs hit this quickly. Shrink the source with Lossy PDF Compress before stripping, or upgrade for the larger size ceilings.
You expected JPEG output
By designThis tool always writes PNG (image/png). There is no format toggle in the code. PNG is lossless and best for text-heavy previews, but the file can be large for many pages. For a smaller per-page JPEG, use PDF to JPG instead.
You wanted to set the output width
Not supportedThere is no width or pixel control. The strip width is fixed to the widest page rendered at 1.5x scale. If you need a specific pixel width, resize the downloaded PNG in an image editor afterward — resizing a strip is a one-step operation in any tool.
Very long document hits the browser image-height ceiling
Browser limitA strip's height is the sum of all page heights, so a long PDF can produce an extremely tall canvas. Browsers cap a single canvas/image dimension (commonly around 32,767 px in some engines), and canvas.toBlob can return null past that — the tool then throws "Failed to create image strip." Split the PDF into shorter ranges with Split by Range and strip each part.
Encrypted / password-protected PDF
May fail to renderPage counting tolerates encryption (it loads with ignoreEncryption), but pdfjs rendering can fail on a protected PDF, surfacing as a processing error. Remove the password first with PDF Unlock (you'll need the owner password), then run the strip on the unlocked copy.
Scanned PDF where pages are images
SupportedScanned/image-only pages render fine — they are drawn as bitmaps into the strip. The strip does not OCR or extract text; it captures the page exactly as it appears. If you also need selectable text, run PDF OCR on the source first (that produces a searchable PDF, not part of the image strip).
Output filename says page-1 but it's the whole document
ExpectedThe single combined strip downloads as <name>-page-1.png. The -page-1 suffix is the image-download naming convention; it does not mean only page 1 was captured. The PNG contains every page stacked vertically.
Corrupt or non-PDF file dropped
ErrorIf the file can't be parsed as a PDF, page counting silently skips and rendering throws a processing error. Repair the file with PDF Repair first, or re-export it from the source application, then try again.
Frequently asked questions
What format is the output image?
Always PNG. The tool writes the combined strip as image/png and there is no JPEG or format option in the code. PNG is lossless, which keeps text and lines crisp; the trade-off is a larger file for many pages. If you need JPEG, use the per-page PDF to JPG tool instead.
Can I choose the width of the strip?
No. The width is fixed to the widest page in the document, rendered at the tool's fixed 1.5x scale. There is no width or pixel input. If you need a particular width, resize the downloaded PNG in any image editor — it is a single image, so resizing is straightforward.
What resolution or DPI does it render at?
A fixed 1.5x render scale. Since a PDF's base is 72 DPI, that is roughly 108 DPI. There is no DPI setting. For sharper output you would render per-page with PDF to PNG and upscale individual pages, or start from a higher-resolution source PDF.
Is there a page limit?
Yes — it's the shared PDF tier limit, not a strip-specific one. Free handles up to 50 pages, Pro up to 500, Pro+Media up to 2,000, and Developer up to 10,000. The page count is checked locally before rendering, so an over-limit PDF is blocked immediately.
Can I add a gap between pages?
No. Pages are stacked flush against each other with no spacing, and there is no gap option in the tool. If you want visible separation, add it in an image editor after downloading, or generate per-page images with PDF to PNG and lay them out with spacing yourself.
Can I export each page as its own image instead of one strip?
Not from this tool — it always produces one combined PNG. For one image per page, use PDF to PNG (lossless) or PDF to JPG (smaller), both of which download a separate image for every page.
Does the strip include every page or can I pick some?
Every page is included; there is no page-selection control. To preview only certain pages, first trim the PDF with Extract Pages or Split by Range, then run the strip on the smaller result.
Will my document be uploaded to a server?
No. The PDF is loaded, rendered, and stitched entirely in your browser with pdfjs. Nothing is sent to a server — the result panel confirms 0 bytes uploaded. The only thing recorded for signed-in users is an anonymous run counter (no file content).
Why is the downloaded file named with -page-1?
That's the image-download naming convention for this tool. When a single image is produced it is saved as <your-filename>-page-1.png. It is one combined strip containing all pages — the suffix does not mean only the first page was captured.
Do I need to click a button to run it?
No. This tool runs automatically when you drop the file — it has no options panel and no Process button. Once the PDF is read (and passes the tier limits), the strip is generated and the result panel appears.
My document is huge and the result failed — why?
A strip's height is the sum of every page's height, so a long PDF can exceed the browser's maximum image/canvas dimension. When that happens toBlob returns null and the tool reports "Failed to create image strip." Split the PDF into shorter parts with Split by Range and strip each part separately.
Can I run this without the browser UI?
Paid tiers can route PDF jobs through the local @jadapps/runner. Once paired, POST to 127.0.0.1:9789/v1/tools/pdf-to-image-strip/run (schema at GET /api/v1/tools/pdf-to-image-strip). The file is processed locally on your machine, not on JAD's servers.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.