Chrome Web Store Chrome Web Store Rating Mozilla Add-on Mozilla Add-on Rating License

PicPicker - Universal Image Extractor

A powerful browser extension that extracts all images from any webpage with one click. Works universally on any website - no domain restrictions. Extract images from img tags, CSS backgrounds, SVG elements, video posters, and even lazy-loaded content.

✨ Key Features

🌐 Universal - Works on ANY website (Pinterest, Instagram, news sites, etc.)
🔍 Comprehensive - Extracts from img tags, backgrounds, SVG, video posters, srcset, data-* attributes
👁️ Viewport Detection - Shows which images were visible when extracted
🎯 Advanced Selection - Shift+Click ranges, Ctrl+Click toggle, select all/none
Burst Downloads - Download multiple selected images simultaneously
🔍 Text Search - Search alt text when enabled
⚙️ Customizable - Filter by size, format, source type, visibility
🎨 Modern UI - Responsive grid, lightbox preview, hover tooltips

🔒 Privacy-First Design

🛡️ "On Click" Permissions - Only runs when you explicitly activate it
🚫 No Background Monitoring - Cannot read websites unless you click the extension
📱 Local Processing - All image data stays in your browser
🔐 No Data Collection - No analytics, tracking, or external servers
Instant Access - No account required, works offline

📸 Screenshots

Popup Settings

PicPicker Popup Settings

Clean popup interface with extraction settings - minimum size, backgrounds, SVG, alt text options

Image Grid Results

PicPicker Results Grid

Responsive image grid with filtering, sorting, and bulk selection features

Lightbox Preview

PicPicker Lightbox

Full-size image preview with metadata, download, and copy URL options

🚀 Quick Start

Installation

  1. Download from Chrome Web Store (coming soon)
  2. Or build from source (see Development section)

Usage

  1. Visit any website with images (works everywhere!)
  2. Click the extension icon or use Ctrl+Shift+I
  3. Choose extraction settings - size filters, backgrounds, alt text
  4. Click "Extract Images" - opens new tab with all found images
  5. Filter, select, and download - use the powerful grid interface

Image Sources Supported

🛠️ Development

Build from Source

# Clone and install dependencies
  git clone https://github.com/flesler/picpicker
  cd picpicker
  npm install
  
  # Run full test suite and build
  npm run prepack

Load in Chrome

  1. Open chrome://extensions/
  2. Enable "Developer mode"
  3. Click "Load unpacked"
  4. Select the dist/ folder (NOT project root)

📁 Project Structure

src/
  ├── background.ts # Service worker - tab management, session storage
  ├── content.ts # DOM scanner - extracts images from any webpage
  ├── popup.ts # Settings interface - filters, extraction options
  ├── results.ts # Results page - grid display, filtering, downloads
  ├── types.ts # TypeScript interfaces for images and settings
  ├── utils.ts # Shared utilities - logging, storage, helpers
  └── public/
  ├── manifest.json # Extension manifest (universal domain support)
  ├── popup.html # Settings popup UI
  ├── results.html # Image grid results page
  └── icons/ # Extension icons (16px, 48px, 128px)
  

🛠️ Available Scripts

Command Description
npm run build Build optimized extension for Chrome
npm run build:firefox Build for Firefox (FIREFOX=1 npm run build)
npm run prepack Complete validation - lint + type check + build + zip
npm run lint:full TypeScript check + ESLint validation
npm run lint:fix Auto-fix linting issues

🏗️ Technical Architecture

Privacy-First Permission Model

Universal Domain Support

Image Extraction Engine

Data Flow Architecture

Content Script → Background → Results Tab
      ↓ ↓ ↓
      DOM Scanning → Session Storage → Grid Display
      

⚙️ Settings & Features

Extraction Settings

Results Features

Keyboard Shortcuts

🔧 Development Features

Modern TypeScript

Build System

Code Quality

Testing & Validation

📄 License

MIT License - Feel free to fork and modify for your image extraction needs!