A lightweight Chrome Extension (Manifest V3) that lets you download all images from a Pinterest board with one click.
The extension detects when you’re viewing a board, fetches the board’s pins via Pinterest’s internal APIs, and downloads the highest-resolution image available for each pin—skipping videos and unsupported formats.
- 📥 One-click board download
- 🖼️ Downloads largest available image variant
- 🏷️ Smart filenames from pin descriptions / alt text
- ⏸️ Cancelable downloads
- 📊 Live progress tracking in popup
- 🧠 Graceful handling if popup is closed mid-download
- 🧩 Built with Manifest V3 service worker
.
├── background.js # Service worker: handles Pinterest API + downloads
├── popup.html # Extension popup UI
├── popup.js # Popup logic + UI state
├── manifest.json # Chrome extension manifest (MV3)
├── icons/ # Extension icons
- Appears when clicking the extension icon
- Validates that the active tab is a Pinterest board (not a pin)
- Displays progress, completion, cancellation, or errors
-
Listens for popup messages:
START_BOARD_DOWNLOADCANCEL_BOARD_DOWNLOADPOPUP_READY
-
Fetches:
- Board ID using
BoardResource/get - Pins using
BoardFeedResource/get
- Board ID using
-
Selects the largest JPEG/PNG image per pin
-
Downloads images sequentially with randomized delays
Popup → Background
→ Fetch board ID
→ Fetch pins
→ Download images
→ Send progress updates
Downloaded images are named using:
- Pin
description(preferred) - Pin
auto_alt_text(fallback) pin-{id}if no usable text exists
The filename is:
- Hashtags removed
- Illegal filesystem characters stripped
- Trimmed to 250 characters
Images are saved under:
Downloads/
└── pinterest-downloader/
├── image-name.jpg
- 🎥 Video pins
- ❌ Non-JPG / PNG formats
- 🔒 Boards that Pinterest blocks from your session
-
Clone this repo:
git clone https://github.com/yourusername/pinterest-board-downloader.git
-
Open Chrome and go to:
chrome://extensions -
Enable Developer mode
-
Click Load unpacked
-
Select the project folder
- Requires being logged into Pinterest
- Uses Pinterest’s internal APIs (may break if endpoints change)
- Designed for personal use
- Includes random delays to reduce request bursts
| Permission | Reason |
|---|---|
tabs |
Read current tab URL |
downloads |
Save images to disk |
https://www.pinterest.com/* |
Fetch board & pin data |
GNU GENERAL PUBLIC LICENSE Use responsibly. Respect Pinterest’s Terms of Service and content ownership.