Save any public Instagram carousel as a PDF. In the browser. No server. No Python. No nonsense.
You open an Instagram carousel post. You click the extension. You get a PDF.
That's it.
Insta2PDF rewinds the carousel to slide 1 automatically — so deep-linked URLs like ?img_index=16 never give you a partial export — steps through every slide, pulls the full-resolution images, and hands you a PDF through the browser's Save As dialog. The whole thing takes a few seconds and leaves nothing running in the background.
Doesn't work on: video reels, Stories, or private accounts. Publicly visible image carousels only.
The GIF above shows the full flow — open a carousel, click Convert, get a PDF.
No build step. No Node. No Python. Just load it.
-
Clone or download this repo so the
extensionfolder is on your disk. -
Open your browser's extensions page:
chrome://extensions/edge://extensions/ -
Enable Developer mode (top-right toggle).
-
Click Load unpacked → select the
extensionfolder. -
Pin it to your toolbar so it's always one click away.
If you have an older version installed, remove it first — two versions loaded at the same time will conflict.
- Open any public Instagram carousel post (multiple images).
- Click the Insta2PDF icon in your toolbar.
- Hit Convert current post to PDF.
You'll see the status update as it works:
Found 8 slide(s). Creating PDF…
Done — 8 slides saved.
The file saves as the post's shortcode (e.g. C1aBcDeFgHi.pdf).
| Browser | Chrome or Edge (any current release) |
| Developer Mode | Must be enabled in the extensions page |
| Symptom | Likely cause | Fix |
|---|---|---|
| "Open the Instagram carousel first." | Active tab isn't on instagram.com | Navigate to the post, then click the extension |
| "No slides found." | Page not fully loaded or layout changed | Scroll the post into view, wait, then retry |
| "Could not download slide N (403)." | CDN URL expired between collection and download | Click Convert again immediately after opening the post |
| PDF starts mid-carousel | Deep link + rewind didn't complete in time | Reload the page and retry |
All contributions are welcome — bug fixes, new features, better docs, or just ideas. If you spot something broken or have something to add, open an issue or send a PR. No gatekeeping here.
# Fork → branch → change → push → PR
git checkout -b feature/your-idea
git commit -m "Add your idea"
git push origin feature/your-idea
Only ask: keep it working in Manifest V3, test in Chrome or Edge before submitting.
MIT — see LICENSE.
Built by Jeel Nandha
