Structurizr

Structurizr builds upon “diagrams as code”, allowing you to create multiple software architecture diagrams, in a variety of rendering tools, from a single model.

Model-based

Structurizr is a modelling tool, allowing you to create multiple diagrams from a single model.

workspace {

    model {
        user = person "User"
        
        softwareSystem = softwareSystem "Software System" {
            webapp = container "Web Application"
            db = container "Database Schema"
        }

        user -> webapp "Uses"
        webapp -> db "Reads from and writes to"
    }

    views {
        systemContext softwareSystem "SystemContext" {
            include *
            autolayout lr
        }

        container softwareSystem "Containers" {
            include *
            autolayout lr
        }
        
        styles {
            element "Person" {
                shape person
            }
        }
    }

}

Rendering tool independent

Unlike most modelling tools, Structurizr is rendering tool independent. For example, here are a number of visualisations of the same model.

Structurizr cloud service, on-premises installation, and Lite - diagram with manual layout Structurizr - diagram with manual layout
Structurizr cloud service, on-premises installation, and Lite - diagram with automatic layout Structurizr - diagram with automatic layout
Structurizr cloud service, on-premises installation, and Lite - graph (interactive layout) Structurizr - graph
PlantUML via the Structurizr CLI (automatic layout only) PlantUML via the Structurizr CLI
C4-PlantUML via the Structurizr CLI (automatic layout only) C4-PlantUML via the Structurizr CLI
Mermaid via the Structurizr CLI (automatic layout only) Mermaid via the Structurizr CLI
Ilograph via the Structurizr CLI (interactive layout) Ilograph via the Structurizr CLI