A web app to visualise arbitrary cloudformation templates for both browser and server
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app dockerise generate samples code Nov 3, 2018
aws-icons dockerise generate samples code Nov 3, 2018
cytoscape use snap object in thread-safe fashion Jan 16, 2019
images add close up image Nov 2, 2018
samples mv samples Nov 3, 2018
web add dotted and dashed selectors Jan 16, 2019
LICENCE add licence Nov 2, 2018
README.md python example Nov 29, 2018
docker-compose.yml icon volume Dec 9, 2018
generate-samples rename script Oct 30, 2018
nginx.conf simplify conf Nov 3, 2018
nginx.dockerfile add nginx proxy Nov 2, 2018
original-LICENCE add licence Nov 2, 2018
sample-html-code.sh scripts for demo Nov 3, 2018
setup.py Packaging with setuptools. Dec 8, 2016
test rename script Oct 30, 2018


A web app to visualise arbitrary cloudformation templates in the browser. Supports both yaml and json.


  1. docker-compose up
  2. Open browser at http://localhost

Sample images generated

Close up view


  • Good looking images :)
  • upload either yaml/json
  • supports !Ref, !GetAtt, simple !Sub intrinsic functions
  • Export to png or jpeg
  • query to focus only on selected objects (WIP)
  • Shows CFN pseudo parameters
  • Hover edge to describe resources' relationship
  • Click resource to show its details
  • Manual reposition of resources
  • Server side image generation by POSTing to http://cytoscape:3000, E.g http://cytoscape:3000/post?format=png&width=500&height=200&layout=cose-bilkent. With the python requests library, you would do it like follows: requests.post('http://cytoscape:3000/post?format=png&width=7500&height=5000&layout=cose-bilkent',None,{'body': rendered_region_template})

Known issues

  • If the template contains multiple resources/parameters/etc that reuse same name, e.g SecurityGroups in Resources and Outputs sections, the parser doesn't distinguish among them and may show and incorrect connection among them. Workaround: rename your objects so that they have unique names.

Original readme:


This tool is for creating visualizations of CloudFormation templates. It outputs Graphviz dot files. It can be used like this:

cat example.template | ./cfviz.py | dot -Tsvg -oexample.svg

The only dependency of the cfviz script is Python. You will also need to have Graphviz graphviz installed for the output to be any use.

The samples samples directory contains output of running the tool over the samples aws-samples provided by AWS.