Skip to content
πŸ” gowitness - a golang, web screenshot utility using Chrome Headless
Go Makefile
Branch: master
Clone or download
Latest commit 79e9f88 Oct 10, 2018


A golang, web screenshot utility using Chrome Headless.

@leonjza Go Report Card


gowitness is a website screenshot utility written in Golang, that uses Chrome Headless to generate screenshots of web interfaces using the command line. Both Linux and macOS is supported, with Windows support 'partially working'.

Inspiration for gowitness comes from Eyewitness. If you are looking for something with lots of extra features, be sure to check it out along with these other projects.


All you would need is an installation of the latest Google Chrome or Chromium and gowitness itself. Binaries are available for download from the releases page as part of tagged releases.

To build gowitness from source, follow the following steps:

  • Ensure you have dep installed (go get -v -u
  • Clone this repository to your $GOPATH's src/ directory so that it is in sensepost/gowitness
  • Run dep ensure to resolve dependencies
  • Use the go build tools, or run make to build the binaries in the build/ directory


~ Β» gowitness -h
A commandline web screenshot and information gathering tool by @leonjza

  gowitness [command]

Available Commands:
  file        Screenshot URLs sourced from a file
  generate    Generate an HTML report from a database file
  help        Help about any command
  scan        Scan a CIDR range and take screenshots along the way
  single      Take a screenshot of a single URL
  version     Prints the version of gowitness

      --chrome-path string   Full path to the Chrome executable to use. By default, gowitness will search for Google Chrome
      --chrome-timeout int   Time in seconds to wait for Google Chrome to finish a screenshot (default 90)
      --config string        config file (default is $HOME/.gowitness.yaml)
  -D, --db string            Destination for the gowitness database (default "gowitness.db")
  -d, --destination string   Destination directory for screenshots (default ".")
  -h, --help                 help for gowitness
      --log-format string    specify output (text or json) (default "text")
      --log-level string     one of debug, info, warn, error, or fatal (default "info")
  -R, --resolution string    screenshot resolution (default "1440,900")
  -T, --timeout int          Time in seconds to wait for a HTTP connection (default 3)
      --user-agent string    Alernate UserAgent string to use for Google Chrome (default "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36")

Use "gowitness [command] --help" for more information about a command.


gowitness is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License Permissions beyond the scope of this license may be available at

You can’t perform that action at this time.