Skip to content

amolbangare08/ScreenScott

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ScreenScott logo
ScreenScott

Premium full-page & multi-tab screenshot extension for Chrome
Capture entire pages, visible areas, or batch-export dozens of tabs into a ZIP β€” all locally, with zero data sent anywhere.

Install on Chrome MIT License Chrome 109+


πŸ“Œ Table of Contents


πŸ–Ό What is ScreenScott?

ScreenScott is a free, open-source Chrome browser extension that lets you capture high-quality screenshots of any web page β€” whether it's just the visible viewport, the entire scrollable page, or a batch of multiple tabs exported as a ZIP archive.

Unlike cloud-based screenshot tools, ScreenScott works 100% locally inside your browser. No account. No uploads. No third-party servers. Your captures stay on your machine.

It was built for:

  • Developers archiving UI states, bug reports, or design references
  • Designers capturing full-page mockups for review
  • Researchers saving full articles, documentation, or web evidence
  • Content creators batch-exporting tabs for mood boards or comparisons
  • Anyone who wants a fast, beautiful, privacy-first screenshot tool

✨ Features

Feature Description
Full-Page Capture Captures the entire scrollable page using Chrome DevTools Protocol β€” not just what's visible
Visible Area Capture One-click snapshot of exactly what's on screen right now
Multi-Tab Batch Export Select any number of open tabs and export all screenshots as a single .zip file
PNG & JPEG Choose lossless PNG (best for UI/text) or compressed JPEG (best for photos)
Smart Fallback If CDP capture fails, automatically falls back to a scroll-and-stitch engine
Zoom & Pan Viewer Built-in image viewer with smooth zoom (5%–800%), drag-to-pan, and keyboard shortcuts
One-Click Copy Copy any screenshot to clipboard as PNG instantly
No Cloud, No Tracking Fully local β€” no network requests, no analytics, no ads
Rate-Limit Safe Intelligent inter-tab and stitch delays prevent Chrome API quota errors
Notification Count Stripping Automatically removes (143) style unread counts from tab titles and filenames

🌐 Browser Support

Browser Support Notes
Google Chrome βœ… Fully supported Version 109+ required (Manifest V3)
Microsoft Edge βœ… Supported Based on Chromium β€” load unpacked works
Brave βœ… Supported Chromium-based β€” load unpacked works
Opera ⚠️ Partial Chromium-based but extension store not available; load unpacked
Firefox ❌ Not supported Manifest V3 differences; would need significant porting
Safari ❌ Not supported Safari uses its own extension format

Minimum Chrome version: 109 (required for Manifest V3 with module-type service workers)
Recommended: Chrome 116+ for best Offscreen API compatibility


πŸ“¦ Installation

Load as Unpacked Extension (Developer Mode)

  1. Download or clone this repository:

    git clone https://github.com/amolbangare08/ScreenScott.git
  2. Open Chrome and navigate to:

    chrome://extensions
    
  3. Enable Developer mode (toggle in the top-right corner).

  4. Click Load unpacked and select the ScreenScott/ folder (the one containing manifest.json).

  5. The ScreenScott icon appears in your toolbar. Pin it for one-click access.

Note: You'll need to click the reload button in chrome://extensions after pulling any updates.


πŸš€ How to Use

Single Tab β€” Full Page

  1. Navigate to any web page
  2. Click the ScreenScott toolbar icon
  3. Click Full Page β†’ a viewer tab opens with your screenshot
  4. Use Download (or press D) to save, or Copy (or press C) to copy to clipboard

Single Tab β€” Visible Area

  1. Click the ScreenScott toolbar icon
  2. Click Visible Area β€” captures only what's currently on screen

Multi-Tab Batch Export (ZIP)

  1. Click the ScreenScott toolbar icon
  2. Click Multiple Tabs β†’ the Batch Picker opens
  3. Select which tabs to capture (tabs in your current window are pre-selected)
  4. Choose Full Page or Visible Area mode
  5. Choose PNG or JPEG format
  6. Click Capture & Export ZIP
  7. Watch the real-time progress list β€” each tab is captured in order
  8. A .zip file is automatically saved to your Downloads folder when done

Viewer Controls

Action Keyboard Mouse
Zoom In + or = Ctrl + Scroll Up
Zoom Out - Ctrl + Scroll Down
Fit to Screen F Click Fit button
Actual Size (100%) 0 Click 1:1 button
Pan β€” Drag image
Download D Click Download
Copy to Clipboard C Click Copy

⌨ Keyboard Shortcuts

Shortcut Action
Alt + Shift + S Capture full page (active tab)
Alt + Shift + V Capture visible area (active tab)
1 (in popup) Quick-trigger Full Page
2 (in popup) Quick-trigger Visible Area
3 (in popup) Open Batch Picker

Shortcuts can be customized at chrome://extensions/shortcuts


πŸ”’ Permissions Explained

ScreenScott requests only the permissions it genuinely needs:

Permission Why it's needed
activeTab Access the currently focused tab for single captures
tabs List all open tabs in the Batch Picker and activate them for capture
debugger Attach Chrome DevTools Protocol to capture full-page screenshots
scripting Inject helpers to measure page dimensions and trigger lazy-load
storage Remember your format preference (PNG/JPEG) across sessions
downloads Save screenshots and ZIP archives to your Downloads folder
unlimitedStorage Store large captures temporarily without hitting the default 5 MB quota
<all_urls> Allow capture of any page you visit (no specific domains hardcoded)

πŸ›‘ Privacy & Security

  • Zero network requests β€” ScreenScott never sends any data outside your browser
  • No analytics or telemetry β€” no tracking of any kind
  • No third-party dependencies β€” the entire extension is vanilla JS with zero npm packages
  • Local processing only β€” captures are stored temporarily in chrome.storage.local and removed after 30 minutes
  • Open source β€” every line of code is auditable in this repository

πŸ“ Project Structure

ScreenScott/
β”œβ”€β”€ manifest.json                  # Extension manifest (MV3)
β”œβ”€β”€ assets/
β”‚   └── icons/                     # Extension icons (16, 32, 48, 128px)
└── src/
    β”œβ”€β”€ background/
    β”‚   β”œβ”€β”€ service-worker.js      # Message routing & capture orchestration
    β”‚   β”œβ”€β”€ capture.js             # CDP full-page & scroll-and-stitch engines
    β”‚   β”œβ”€β”€ batch.js               # Multi-tab batch capture orchestrator
    β”‚   β”œβ”€β”€ zip.js                 # In-memory ZIP builder (STORE method, no deps)
    β”‚   └── util.js                # Shared helpers (filename, sleep, etc.)
    β”œβ”€β”€ popup/
    β”‚   β”œβ”€β”€ popup.html             # Toolbar popup UI
    β”‚   β”œβ”€β”€ popup.js               # Popup controller
    β”‚   └── popup.css              # Popup styles
    β”œβ”€β”€ picker/
    β”‚   β”œβ”€β”€ picker.html            # Batch tab picker UI
    β”‚   β”œβ”€β”€ picker.js              # Picker controller with real-time progress
    β”‚   └── picker.css             # Picker styles
    └── viewer/
        β”œβ”€β”€ viewer.html            # Screenshot viewer tab UI
        β”œβ”€β”€ viewer.js              # Zoom, pan, copy, download logic
        └── viewer.css             # Viewer styles

🀝 Contributing

Contributions are welcome! Here's how to get started:

  1. Fork this repository
  2. Clone your fork: git clone https://github.com/your-username/ScreenScott.git
  3. Make your changes (load unpacked to test locally)
  4. Open a pull request with a clear description of what you changed and why

Please keep PRs focused β€” one feature or fix per PR. For larger changes, open an issue first to discuss the approach.


πŸ“„ License

ScreenScott is released under the MIT License. See LICENSE for full details.

You are free to use, modify, and distribute this software for any purpose, including commercial use, as long as the original copyright notice is retained.


Made with ❀️ by Amol Bangare

About

πŸ“Έ Free Chrome extension to capture full-page & visible-area screenshots with one click. Batch-export multiple tabs as a ZIP, view with built-in zoom/pan, copy to clipboard β€” all 100% local, no uploads, no tracking. Supports PNG & JPEG. Built with MV3.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors