Information Gatheringscreenshotswebkitcapturewebpagepngpdf

CutyCapt

CutyCapt is a command-line utility that captures WebKit's rendering of web pages into various vector and bitmap formats including SVG, PDF, PS, PNG, JPEG, TIFF, GIF, and BMP.

Description

CutyCapt provides a simple way to take screenshots of web pages from the command line, leveraging WebKit's rendering engine. It is particularly useful for automated documentation, testing web page appearances across different configurations, or archiving web content in image or vector formats.

The tool supports a wide range of output formats and customization options such as viewport size, wait times, custom headers, and JavaScript execution controls, making it versatile for penetration testing scenarios where visual verification of web pages is needed without a graphical interface.

As a cross-platform utility, it integrates well into scripts and Kali Linux workflows for tasks like reconnaissance or generating reports with captured web visuals.

How It Works

CutyCapt uses QtWebKit to render the specified URL as a web browser would, then captures the rendered output directly into the chosen format. It supports HTTP requests with custom methods, headers, and bodies, applies user styles or zoom factors, and respects settings like JavaScript and plugin execution before exporting the viewport content.

Installation

bash
sudo apt install cutycapt

Flags

--helpShow summary of options.
--url=<url>The URL to capture (http:...|file:...|...)
--out=<path>The target file (.png|pdf|ps|svg|jpeg|...)
--out-format=<f>Like extension in --out, overrides heuristic
--min-width=<int>Minimal width for the image (default: 800)
--min-height=<int>Minimal height for the image (default: 600)
--max-wait=<ms>Don't wait more than (default: 90000, infinite: 0)
--delay=<ms>After successful load, wait (default: 0)
--user-style-path=<path>Location of user style sheet file, if any
--user-style-string=<css>User style rules specified as text
--header=<name>:<value>Request header; repeatable; some can't be set
--method=<get|post|put>Specifies the request method (default: get)
--body-string=<string>Unencoded request body (default: none)
--body-base64=<base64>Base64-encoded request body (default: none)
--app-name=<name>Application name used in User-Agent; default is none
--app-version=<version>Application version used in User-Agent; default is none
--user-agent=<string>Override the User-Agent header Qt would set
--javascript=<on|off>JavaScript execution (default: on)
--java=<on|off>Java execution (default: unknown)
--plugins=<on|off>Plugin execution (default: unknown)
--private-browsing=<on|off>Private browsing (default: unknown)
--auto-load-images=<on|off>Automatic image loading (default: on)
--js-can-open-windows=<on|off>Script can open windows? (default: unknown)
--js-can-access-clipboard=<on|off>Script clipboard privs (default: unknown)
--print-backgrounds=<on|off>Backgrounds in PDF/PS output (default: off)
--zoom-factor=<float>Page zoom factor (default: no zooming)
--zoom-text-only=<on|off>Whether to zoom only the text (default: off)
--http-proxy=<url>Address for HTTP proxy server (default: none)

Examples

Take a capture of the URL (–url=http://www.kali.org) and save it to disk (–out=kali.png)
cutycapt --url=http://www.kali.org --out=kali.png
Capture a web page and save as PDF
cutycapt --url=http://example.com --out=example.pdf
Capture with custom viewport size and save as SVG
cutycapt --url=https://testsite.com --out=test.svg --min-width=1024 --min-height=768
Capture a local file with delay after load and save as PNG
cutycapt --url=http://local/file.html --out=local.png --delay=2000
Capture with custom User-Agent and JavaScript disabled
cutycapt --url=http://target.com --out=shot.jpeg --user-agent="Mozilla/5.0" --javascript=off
Capture through an HTTP proxy
cutycapt --url=http://proxied.com --out=proxy.png --http-proxy=http://127.0.0.1:8080
Capture with POST method and request body
cutycapt --url=http://posttest.com --out=post.png --method=post --body-string="data=test"
Updated 2026-04-16kali.org ↗