How to convert a long-form pdf to a single tall scroll image
- Step 1Check the page count first — Height grows with every page. For long documents, estimate: page height at 1.5x times page count. If that's likely to exceed ~32,000 px, plan to split the PDF into sections.
- Step 2Open the strip tool and drop the PDF — Go to PDF to Image Strip. On free, anything over 50 pages or 2 MB is blocked before rendering — long-form documents routinely exceed both, so consider upgrading or splitting.
- Step 3Let it render every page — Rendering starts automatically at the fixed 1.5x scale. A long document takes longer because each page is rasterised in turn; there's no DPI or width choice to speed this up.
- Step 4Handle the height limit if it fails — If you get "Failed to create image strip," the combined height exceeded the browser's image ceiling. Use Split by Range to break the document into sections and strip each separately.
- Step 5Download the scroll image(s) — Each strip downloads as
<name>-page-1.png. For a split document you'll have one PNG per section. - Step 6Embed in a scroll container — Place the tall PNG inside a fixed-height, overflow-scroll container, or stack multiple section strips, so the page stays manageable while the document scrolls inside it.
How tall the scroll image gets
Strip height is page height at 1.5x times the page count. Browsers cap a single image dimension (commonly ~32,767 px in some engines); past that, the render fails and you must split.
| Pages (A4) | Per-page height (px) | Strip height (px) | Within typical ~32k limit? |
|---|---|---|---|
| 10 | 1263 | 12,630 | Yes |
| 20 | 1263 | 25,260 | Yes |
| 26 | 1263 | 32,838 | Borderline — may fail |
| 40 | 1263 | 50,520 | No — split required |
Long-form options and where they live
Long-document needs the strip tool doesn't cover, and the right tool for each. None are configurable inside the strip tool.
| Need | In the strip tool? | Solution |
|---|---|---|
| Split a huge doc to avoid the height cap | No | Split by Range, then strip each part. |
| Narrower image for readable text | No width control | Resize the PNG, or render per page with PDF to PNG. |
| Higher resolution for sharp text | Fixed 1.5x | Start from a higher-DPI source; per-page PDF to PNG for control. |
| JPEG to reduce file size | No (PNG only) | Convert the PNG to JPEG after download, or use PDF to JPG. |
| Only a chapter / section | No (all pages) | Extract Pages first. |
Cookbook
Long-document workflows that respect the browser's image-height ceiling. Heights assume A4 pages at the fixed 1.5x scale.
18-page whitepaper as one scroll image
Eighteen A4 pages at 1.5x stack to about 22,734 px tall — comfortably under the typical browser image limit, so it strips in one pass.
Input: whitepaper.pdf (18 pages, A4) Per page: 893 x 1263 px (1.5x) Strip: 893 x 22734 px (single PNG) Output: whitepaper-page-1.png
Split-and-strip a 40-page annual report
Forty A4 pages would be ~50,520 px tall — over the browser ceiling, so a single strip fails. Split into two 20-page halves and strip each.
Step 1 Split by Range: 1-20, 21-40 -> part1.pdf, part2.pdf Step 2 Strip part1.pdf -> part1-page-1.png (~25k px) Step 3 Strip part2.pdf -> part2-page-1.png (~25k px) Step 4 Stack both in a scroll container Split tool: /pdf-tools/pdf-split-range
One section only
If you just want the executive summary as a scroll image, extract those pages first — the strip always processes every page it's given.
Step 1 Extract Pages: 2-6 -> summary.pdf Step 2 Strip summary.pdf -> summary-page-1.png Trim tool: /pdf-tools/pdf-extract-pages
Embed in a fixed-height scroll container
Rather than letting a tall PNG dominate the page, put it in a scrollable box so the document scrolls within the layout.
<div style="height:600px;overflow-y:auto">
<img src="/report-page-1.png" width="893"
loading="lazy" alt="Annual report" />
</div>Long report blocked on free before rendering
A 70-page report on free is rejected on page count immediately — and even on a paid tier it would hit the height cap, so splitting is the real answer.
Input: report.pdf (70 pages)
Free limit: 50 pages -> blocked
Even on Pro: ~88k px tall -> single strip fails
Fix: Split by Range into <=25-page sections,
strip each, stack in a scroll container.Edge cases and what actually happens
Combined height exceeds the browser image limit
Browser limitStrip height is page height at 1.5x times the page count. Browsers cap a single image/canvas dimension (commonly around 32,767 px in some engines). Past that, canvas.toBlob returns null and the tool reports "Failed to create image strip." Split the document with Split by Range and strip each section.
Long document over 50 pages on free
Blocked (free limit)Long-form PDFs routinely exceed 50 pages, which is blocked on free before rendering: "This PDF has N pages. Free handles up to 50 pages." Pro allows 500, Pro+Media 2,000, Developer 10,000 — but the browser height cap still applies, so you'll often split regardless of tier.
Report over 2 MB on free
Blocked (size limit)Image-rich reports easily pass 2 MB, blocking on free with "<name> is X MB. Free handles files up to 2 MB per job." Compress with Lossy PDF Compress first, or upgrade for the larger size ceilings.
You wanted a narrower image for readability
Not supportedThere's no width control — width is the widest page at 1.5x. For a narrower, more readable column, resize the downloaded PNG in an editor, or render pages individually with PDF to PNG and lay them out in your own narrow container.
Body text looks soft at the fixed scale
ExpectedRendering is fixed at 1.5x (~108 DPI). Dense academic body text can look soft when the image is scaled. There's no DPI box here; for sharper output, start from a higher-resolution source PDF or use per-page PDF to PNG where you control each page's scale.
Long render takes a while
ExpectedEach page is rasterised in turn, so a long document takes noticeably longer than a short one — and it all runs on your device. Leave the tab focused while it works; there's no progress-per-page indicator beyond the overall busy state.
PDF page sizes vary across the document
SupportedMixed page sizes are fine: the strip width is the widest page and narrower pages are left-aligned at their native width. Reports with a fold-out chart page will widen the whole strip to that page's width.
Confidential report — is it uploaded?
By design (local)No. The document is rendered and stitched entirely in your browser; nothing is sent to a server and the result panel shows 0 bytes uploaded. Only an anonymous run counter is recorded for signed-in users — no content.
Encrypted report won't render
May fail to renderPage counting tolerates encryption, but pdfjs rendering can fail on a protected PDF. Remove the password with PDF Unlock (owner password needed), then strip the unlocked copy.
Frequently asked questions
What is the maximum image height supported?
It's bounded by the browser, not the tool. Browsers cap a single image/canvas dimension — commonly around 32,767 px in some engines. If the stacked height exceeds that, canvas.toBlob returns null and the tool reports "Failed to create image strip." Split long documents into sections with Split by Range and strip each, then stack them in a CSS scroll container.
Will text be legible in the scroll image?
At a readable display width, body text rendered at the fixed 1.5x scale (~108 DPI) is legible for most reports. There's no DPI setting to increase, contrary to what older descriptions implied. For sharper text, start from a higher-resolution source PDF, or render pages individually with PDF to PNG where you control each page's scale.
How tall will my document's strip be?
Multiply a page's rendered height (its PDF point height times 1.5) by the page count. An A4 page is ~1263 px tall at 1.5x, so a 20-page A4 document is about 25,260 px. Use that to predict whether you'll hit the browser's height cap and need to split.
Can I embed the scroll image in a newsletter?
Yes — it's a standard PNG, so it embeds like any image where the platform accepts tall images. For long documents, watch the email-client height limits and consider splitting into sections; upload each section image where the platform supports it.
Can I make the image narrower for easier reading?
Not in the tool — there's no width control. Resize the downloaded PNG to a narrower width in an image editor, or render pages individually with PDF to PNG and place them in your own narrow, readable column.
Does it output JPEG to keep the file smaller?
No — PNG only. A long scroll image as PNG can be large. Convert the downloaded PNG to JPEG after download, or export per-page JPEGs with PDF to JPG and assemble them in your layout if file size is the priority.
My long report failed with a strip error — why?
The combined height exceeded the browser's maximum image dimension, so the render couldn't produce a blob. Split the report into sections (e.g. 20-25 pages each) with Split by Range and strip each part; stack the resulting PNGs in a scroll container on the page.
How many pages can I include?
Tier limits cap the page count: 50 on free, 500 on Pro, 2,000 on Pro+Media, 10,000 on Developer. But the browser's image-height ceiling usually bites first for long documents, so plan to split regardless of tier.
Is my confidential report uploaded anywhere?
No. Rendering and stitching run entirely in your browser via pdfjs; nothing leaves your device and the result panel confirms 0 bytes uploaded. Only an anonymous run counter is stored for signed-in users.
Can I strip just one chapter?
Yes — extract those pages first with Extract Pages or Split by Range, then strip the smaller result. The strip itself always processes every page in the file it's given.
Why does the file say page-1 when it's the whole report?
-page-1 is the image-download naming pattern; the single PNG contains every page stacked. For a split document you'll get one such file per section, each named after its part.
Can I run long-form conversions through the local runner?
On paid tiers, yes. Pair the @jadapps/runner, then POST to 127.0.0.1:9789/v1/tools/pdf-to-image-strip/run (schema at GET /api/v1/tools/pdf-to-image-strip). It processes locally on your machine — but the browser-height ceiling still applies, so split very long documents first.
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.