# webscreenshot: Capture Website Screenshots in Batches

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/maaaaz-webscreenshot
Generated for open source discovery and AI-assisted research.

webscreenshot is a Python command-line tool for capturing screenshots of website lists, based on the url-to-image PhantomJS script. It supports Windows and Linux, with PhantomJS as its default renderer and Chrome, Chromium, Edge Chromium, and Firefox as alternatives.

GitHub: https://github.com/maaaaz/webscreenshot
OSRepos URL: https://osrepos.com/repo/maaaaz-webscreenshot

## Summary

webscreenshot is a Python command-line tool for capturing screenshots of website lists, based on the url-to-image PhantomJS script. It supports Windows and Linux, with PhantomJS as its default renderer and Chrome, Chromium, Edge Chromium, and Firefox as alternatives.

## Topics

- python
- cli
- developer-tools
- cross-platform
- website-screenshots
- phantomjs

## Repository Information

Last analyzed by OSRepos: Sat Oct 24 2026 05:30:24 GMT+0100 (Western European Summer Time)
Detail views: 3
GitHub clicks: 0

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Overview

webscreenshot is a Python command-line tool for taking screenshots of one or many websites, based on the `url-to-image` PhantomJS script. It is intended for people who need repeatable captures across a target list, rather than taking screenshots manually. The project supports Windows and Linux.

PhantomJS is the default renderer and offers the broadest feature set, though it is legacy and abandoned. Chrome, Chromium, and Edge Chromium are supported alternatives with limitations; Firefox support is also available but the README advises against using it for now.

## Key Features

- Processes a single URL or a text file of website targets, with configurable parallel workers.
- Runs PhantomJS, Chrome, Chromium, Edge Chromium, or Firefox as the renderer.
- Configures screenshot dimensions and, with PhantomJS, output format, quality, cropping, and custom JavaScript.
- Supports cookies, custom HTTP headers, and HTTP Basic Authentication with PhantomJS.
- Accepts proxy settings and can apply a timeout to renderer processes.
- Can capture both HTTP and HTTPS versions of targets and optionally label screenshots with their URLs using ImageMagick.

## Use Cases

- Security or web operations teams can capture a supplied list of domains to review their visible pages.
- Developers can create repeatable screenshots of sites or routes while checking a release or investigating a visual issue.
- Analysts can capture pages behind HTTP Basic Authentication or requiring cookies and custom headers, using PhantomJS.
- Teams can run batch captures on Windows or Linux and save results to a chosen output directory.

## Our Take

webscreenshot is a capable batch screenshot utility, but its inactive status and reliance on legacy PhantomJS for its most complete feature set make it a cautious choice for new workflows.

**Good fit if:**
- You need a Python CLI to capture a list of websites on Windows or Linux.
- PhantomJS's broader option support, including cookies, custom headers, and screenshots of HTTPS sites with non-publicly-signed certificates, matches your needs.
- You can evaluate and maintain a tool with no commits or releases in over a year and most of its code coming from one person.

**Look elsewhere if:**
- You need ongoing maintenance or recent issue and pull request activity, which the project has not shown in the measured recent period.
- Your workflow depends on reliable rendering of self-signed HTTPS sites in Chrome, Chromium, or Edge Chromium, or on Firefox parallelism and private browsing.
- You need a renderer-independent set of screenshot and HTTP options, since several options are PhantomJS-only.

## Project Health

| Signal | Value |
|---|---|
| Status | **Inactive**: no commits in over a year |
| Last commit | 2025-10-19 (1 year ago) |
| Commits, last 90 days | 0 |
| Releases, last 12 months | 0 |
| Contributors | 2 (top contributor: 88% of commits) |
| Issues closed, last 90 days | 0 |
| Pull requests merged, last 90 days | 0 |
| Project age | 12 years |

Checked on 2026-10-24 with the GitHub API.

## Project Facts

- Language: Python
- License: LGPL-3.0
- Stars: 697
- Forks: 167
- Archived: no

## What You Need

Detected in the repository:

- Python >=3 (from pyproject.toml)

## Getting Started

Install from PyPI and capture a single URL:

```sh
pip install webscreenshot
webscreenshot https://example.com
```

For renderer setup, batch inputs, and other options, see the [README](https://github.com/maaaaz/webscreenshot#readme).

## License in Plain Words

**LGPL-3.0** (weak copyleft).

- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license notice
- Share your changes: yes, changes to the library itself, when you distribute it; linking from closed code is allowed
- Includes an explicit patent grant from the contributors

A summary, not legal advice: the LICENSE file is what applies.

## Considerations

The project is marked inactive: there have been no commits in over a year, no releases in the past year, and no issues or pull requests closed or merged in the measured recent period. The contributor base is small and concentrated, so users should account for limited maintenance capacity. Python 3 and a compatible browser renderer are required; running without an X server may require `xvfb`, and URL labels require ImageMagick. PhantomJS is abandoned, while the README documents meaningful limitations in the other renderers. The repository metadata lists LGPL-3.0, but the README describes GPLv3-or-later terms, so confirm the applicable license before redistribution or integration.