Screenshots and visual triage
gowitness
Go tool that screenshots websites with headless Chrome from URL lists, CIDRs or Nmap/Nessus results and serves a browsable report.
4.6k stars · last push October 29, 2026 · 3.2.2 · GPL-3.0
What it finds
gowitness loads each target URL in headless Chrome, saves a screenshot, and can record the request log, console logs, headers and cookies along the way. Targets can come from a single URL, a file or stdin, network CIDRs, Nmap or Nessus results, or a JSON API. Results go to SQLite, JSON Lines or CSV, with a web report viewer for SQLite data.
- page screenshots
- HTTP headers
- cookies
- console logs
- request logs
Does it touch the target?
Sends traffic to the target's systems. Use only with the owner's permission.
It "uses Chrome Headless to generate screenshots of web interfaces", so each target page is loaded in a real browser, including its sub-requests.
API keys: The README and wiki describe no API keys; its own report server exposes an API, but no third-party key is needed.
Install
go install github.com/sensepost/gowitness@latestFrom the project's documentation
docker pull ghcr.io/sensepost/gowitness:latestFrom the project's documentation
How to run it
Examples use reserved documentation hosts such as example.com. Replace them with a domain you own or are authorised to test.
gowitness scan single --url "https://example.com" --write-dbFrom the project's documentation
docker run --rm -v $(pwd):/data -p7171:7171 ghcr.io/sensepost/gowitness gowitness scan nmap -f /data/nmap.xmlFrom the project's documentation
gowitness report serverFrom the project's documentation
Output formats: sqlite, jsonl, csv, stdout
Limits the project documents
- Requires Google Chrome or Chromium installed.
- "Both Linux and macOS is supported, with Windows support mostly working."
- Building from source needs Go 1.23.1 or later plus npm for the frontend (wiki).
- The web report viewer works only "if you saved data to SQLite"; it listens on localhost:7171 by default.
Deepak's take
Analysis, not documentation
- Use it when
- Use it after host or port discovery to eyeball hundreds of web services quickly and spot login pages, default installs and forgotten admin panels.
- Skip it when
- If you only need status codes and titles in a pipeline, httpx is faster and lighter. gowitness is for visual triage and a shareable report.
- What it will miss
- It only screenshots the URLs it is given, so it will not discover hosts, paths or non-web services.
Facts read from the project's README and docs on November 10, 2026. Repository data as of November 11, 2026. Licence: GPL-3.0. gowitness is a trademark or project name of its owners; this library is not affiliated with it.