How to convert pdf presentation slides into a vertical image strip
- Step 1Export your deck to PDF — In PowerPoint use File → Export → PDF; in Keynote use File → Export To → PDF; in Google Slides use File → Download → PDF Document. One slide per page is what you want.
- Step 2
- Step 3Drop the deck PDF in — The page (slide) count is read locally first. On free, a deck over 50 slides or over 2 MB is blocked before rendering — large image-heavy decks often exceed 2 MB, so check the size first.
- Step 4Let every slide render — Rendering starts automatically — there's no Process button. Each slide rasterises at the fixed 1.5x scale; you cannot choose a width or DPI here. A 30-slide deck takes noticeably longer than a 5-slide one.
- Step 5Download the combined strip — The result is a single PNG saved as
<deck-name>-page-1.png, containing all slides stacked. The-page-1suffix is just the naming pattern — it's the whole deck. - Step 6Place it in your article or portfolio — Insert the PNG where you'd put any image. For a long deck, wrap it in a fixed-height scroll container so it doesn't dominate the page — or see the LinkedIn slide-strip guide for sharing patterns.
Slide-strip behaviour vs. common expectations
What presenters usually ask for, mapped against what the tool actually does. None of these are configurable in the strip tool.
| Want | In this tool? | How to get it |
|---|---|---|
| One image per slide (carousel) | No — one combined strip | Use PDF to JPG or PDF to PNG for one image per slide. |
| JPEG for smaller file size | No — PNG only | Per-slide JPEGs come from PDF to JPG. |
| Set a 1200px LinkedIn width | No width control | Width = widest slide at 1.5x. Resize the downloaded PNG to 1200px in an editor. |
| White gap between slides | No gap option | Slides stack flush. Add spacing per-slide after exporting individual images. |
| Only the first few slides | No — all slides | Trim with Extract Pages first, then strip. |
| Speaker-notes pages excluded | No filtering | Export the deck without notes pages from your slide app before converting. |
Typical deck sizes at the fixed 1.5x scale
Approximate strip dimensions for common slide aspect ratios. Per-page render size is the slide's PDF point size multiplied by 1.5.
| Slide ratio | PDF page (pt) | Per-slide render (px) | 10-slide strip (px) |
|---|---|---|---|
| 16:9 widescreen | 960 x 540 | 1440 x 810 | 1440 x 8100 |
| 4:3 standard | 720 x 540 | 1080 x 810 | 1080 x 8100 |
| A4 landscape | 842 x 595 | 1263 x 893 | 1263 x 8930 |
Cookbook
Real presentation workflows. Dimensions assume the tool's fixed 1.5x render scale and PNG-only, all-slides output.
A 12-slide 16:9 deck as one scroll image
PowerPoint's default widescreen slide is 13.333 x 7.5 inches, which exports to roughly 960 x 540 pt. At 1.5x each slide is 1440 x 810 px; twelve of them stack into a tall strip.
Input: pitch.pdf (12 slides, 16:9)
Per slide: 960 x 540 pt -> 1440 x 810 px
Strip: width = 1440 px
height = 810 * 12 = 9720 px
Output: pitch-page-1.png (single PNG)Strip just the highlight slides
For a teaser, you may want only the title, the key chart, and the closing slide. The strip always includes every page, so extract the slides you want first.
Step 1 Extract Pages: 1, 7, 12 -> teaser.pdf Step 2 PDF to Image Strip: teaser.pdf Result teaser-page-1.png (3 slides stacked) Trim tool: /pdf-tools/pdf-extract-pages
Carousel instead of one strip
LinkedIn and Instagram carousels need one image per slide. The strip is the wrong shape — switch to a per-page exporter.
Want: slide-1.jpg ... slide-12.jpg (carousel) Use: PDF to JPG -> /pdf-tools/pdf-to-jpg It downloads one image per slide in sequence.
Mixed-ratio deck (cover 16:9, body 4:3)
If a deck mixes ratios, the strip width is the widest slide and narrower slides sit left-aligned within it — no slide is stretched.
deck.pdf: slide 1: 1440 x 810 (16:9 cover) slides 2-6: 1080 x 810 (4:3) Strip width = 1440 px (the cover) Strip height = 810 * 6 = 4860 px 4:3 slides drawn at x=0, native width 1080 px
Big deck blocked on free
A 60-slide deck dropped on the free tier is rejected on slide count before any rendering.
Input: allhands.pdf (60 slides)
Free limit: 50 pages
Result: "This PDF has 60 pages. Free handles up to
50 pages. Pro unlocks larger PDFs."
Fix: split into <=50-slide parts, or upgrade.Edge cases and what actually happens
Deck over 50 slides on the free tier
Blocked (free limit)Slide (page) count is read locally first. Over 50 on free triggers "This PDF has N pages. Free handles up to 50 pages. Pro unlocks larger PDFs." Pro allows 500, Pro+Media 2,000, Developer 10,000. For a long deck on free, Split by Range into chunks first.
Image-heavy deck over 2 MB on free
Blocked (size limit)Decks full of photos and screenshots commonly exceed 2 MB. On free that blocks with "<name> is X MB. Free handles files up to 2 MB per job." Compress the deck PDF with Lossy PDF Compress before stripping, or upgrade for the larger size limits.
You wanted per-slide carousel images
Not supportedThe strip is one combined PNG, not a set of slide images. For a LinkedIn or Instagram carousel use PDF to JPG or PDF to PNG, which export one image per slide.
Speaker-notes pages included
By designThe strip renders every page in the PDF. If you exported with notes pages, those become part of the strip. Re-export from your slide app with notes turned off (slides-only layout) before converting.
Slide width fixed, can't hit a target size
Not supportedThere's no width or DPI control — width is the widest slide at 1.5x. To hit a specific pixel width (e.g. 1200px for a LinkedIn article), resize the downloaded PNG in an image editor.
Very long deck exceeds the canvas height limit
Browser limitStrip height is the sum of slide heights. A long deck can exceed the browser's maximum canvas dimension, in which case toBlob returns null and the tool reports "Failed to create image strip." Split by Range into shorter sections and strip each one.
Slide transitions / animations
ExpectedPDF export flattens animations and builds into static slides, so the strip shows each slide's final state only. This is a property of exporting slides to PDF, not of the strip tool. If you need build steps, export each build as its own slide before converting.
Password-protected deck PDF
May fail to renderSlide counting tolerates encryption, but pdfjs rendering can fail on a protected file. Remove protection first with PDF Unlock (owner password required), then strip the unlocked copy.
Frequently asked questions
Will the slide aspect ratio be preserved?
Yes. Each slide is rendered at its native aspect ratio before being stacked, so 16:9 stays 16:9 and 4:3 stays 4:3. In a mixed-ratio deck the strip width is the widest slide and narrower slides sit left-aligned within that width — nothing is stretched.
Can I get one image per slide for a carousel?
Not from this tool — it produces a single combined strip. For one image per slide use PDF to JPG (smaller, good for social carousels) or PDF to PNG (lossless). Both export a separate image per slide.
What width should I use for a LinkedIn article?
The tool doesn't offer a width setting — width is fixed to the widest slide at 1.5x scale. To match LinkedIn's preferred ~1200px article width, resize the downloaded PNG in an image editor. The strip itself is a single image, so resizing is one step.
Can I add a gap between slides?
No. Slides are stacked flush with no spacing, and there is no gap control. If you want visible separation, export per-slide images with PDF to PNG and arrange them with spacing in a layout tool, or add gaps to the strip in an image editor.
Does it output JPEG?
No — PNG only. The strip is always written as image/png. PNG keeps slide text and charts crisp; the cost is a larger file for a long deck. If you need JPEG, use the per-slide PDF to JPG tool.
How many slides can I convert at once?
The shared PDF page limit applies: 50 on free, 500 on Pro, 2,000 on Pro+Media, 10,000 on Developer. The count is checked before rendering, so an over-limit deck is blocked immediately with an upgrade prompt.
Will my unreleased deck be uploaded anywhere?
No. Rendering and stacking happen entirely in your browser via pdfjs — the deck is never sent to a server, and the result panel shows 0 bytes uploaded. Only an anonymous run counter is recorded for signed-in users.
Can I exclude speaker-notes pages?
Not in the strip tool — it renders every page in the PDF. Export the deck without notes (slides-only) from PowerPoint, Keynote, or Google Slides before converting, so the PDF contains only the slides you want.
Why does the file say page-1 if it has all my slides?
-page-1 is the image-download naming pattern. The single PNG contains every slide stacked vertically — the suffix doesn't mean only slide one was captured.
Do animations and slide builds show up?
No. Exporting slides to PDF flattens animations to each slide's final state, so the strip shows static slides. That's a property of the PDF export step. To preserve build steps, export each build as a separate slide before making the strip.
My big deck failed with a strip error — what now?
A long deck produces a very tall strip that can exceed the browser's maximum image height; when it does, the tool reports "Failed to create image strip." Use Split by Range to break the deck into shorter sections and strip each one separately.
Do I have to configure anything before it runs?
No. This tool has no options and runs automatically on drop. Once the deck is read and passes the tier limits, the strip is generated and ready to download — there's no Process button or settings panel.
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.