terraform-docs is available on Linux, macOS, Windows, and FreeBSD platforms.


If you are a macOS user, you can use Homebrew.

brew install terraform-docs


brew install terraform-docs/tap/terraform-docs


If you are a Windows user:


You can use Scoop.

scoop bucket add terraform-docs
scoop install terraform-docs


or you can use Chocolatey.

choco install terraform-docs


terraform-docs can be run as a container by mounting a directory with .tf files in it and run the following command:

docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) markdown /terraform-docs

If output.file is not enabled for this module, generated output can be redirected back to a file:

docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) markdown /terraform-docs >

Pre-compiled Binary

Stable binaries are available on the GitHub Release page. To install, download the file for your platform from “Assets” and place it into your $PATH:

curl -sSLo ./terraform-docs.tar.gz$(uname)-amd64.tar.gz
tar -xzf terraform-docs.tar.gz
chmod +x terraform-docs
mv terraform-docs /some-dir-in-your-PATH/terraform-docs

Go Users

The latest version can be installed using go install or go get:

# go1.17+
go install
# go1.16
GO111MODULE="on" go get
# only for v0.9.1 and before
GO111MODULE="on" go get

This will put terraform-docs in $(go env GOPATH)/bin. If you encounter the error terraform-docs: command not found after installation then you may need to either add that directory to your $PATH as shown [here] or do a manual installation by cloning the repo and run make build from the repository which will put terraform-docs in:

$(go env GOPATH)/src/$(uname | tr '[:upper:]' '[:lower:]')-amd64/terraform-docs

Code Completion

The code completion for bash or zsh can be installed as follow. Note that shell auto-completion is not available on Windows platform.


terraform-docs completion bash > ~/.terraform-docs-completion
source ~/.terraform-docs-completion

# or the one-liner below

source <(terraform-docs completion bash)


terraform-docs completion zsh > /usr/local/share/zsh/site-functions/_terraform-docs
autoload -U compinit && compinit

To make this change permanent, the above commands can be added to ~/.profile file.

Edit on GitHub