Models as code

Structurizr builds upon "diagrams as code", allowing you to create multiple diagrams from a single model, using a number of tools and programming languages. This Structurizr DSL example creates two diagrams, based upon a single set of elements and relationships.

workspace {

    model {
        user = person "User"
        softwareSystem = softwareSystem "Software System" {
            webapp = container "Web Application" {
                user -> this "Uses"
            }
            container "Database" {
                webapp -> this "Reads from and writes to"
            }
        }
    }

    views {
        systemContext softwareSystem {
            include *
            autolayout lr
        }

        container softwareSystem {
            include *
            autolayout lr
        }

        theme default
    }

}
Multiple diagrams from a single model
Multiple diagrams from a single model

Designed for the C4 model

Structurizr is specifically designed to support the C4 model for visualising software architecture. Diagrams are interactive (e.g. zoom in/out), animatable, and embeddable. A diagram key/legend is automatically generated for each diagram too.


System Landscape diagram

System Landscape diagram

System Landscape diagram key

System Context diagram

System Context diagram

System Context diagram key

Container diagram

Container diagram

Container diagram key

Component diagram

Component diagram

Component diagram key

Dynamic diagram

Dynamic diagram

Dynamic diagram key

Deployment diagram

Deployment diagram

Deployment diagram key

Diagram your cloud architecture

Use themes to help document your cloud architecture; with prebuilt themes for Amazon Web Services, Microsoft Azure, Google Cloud Platform, Oracle Cloud Infrastructure, and Kubernetes.

Documentation

Publish supplementary documentation (e.g. a "software guidebook", arc42, etc) using Markdown or AsciiDoc.

Documentation
Documentation

Architecture decision records (ADRs)

Publish architecture decision records (ADRs) that capture your significant design decisions.

Architecture decision records (ADRs)
Architecture decision records (ADRs)