Software architecture models as code

Structurizr builds upon "diagrams as code", allowing you to create multiple software architecture diagrams from a single model. There are a number of tools for creating Structurizr compatible workspaces, with the Structurizr DSL being the recommended option for most teams. 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

Lite

A single workspace version of Structurizr, providing a way to quickly view diagrams, documentation, and architecture decision records.

(open source)

On-premises

A multi-workspace version of Structurizr that can be run on your own infrastructure (local servers or cloud), providing a way to publish diagrams, documentation, and architecture decision records.

(open source)

Cloud service

The Structurizr cloud service, providing a way to publish diagrams, documentation, and architecture decision records.

(free and paid)

CLI

A command line utility designed to be used in conjunction with the Structurizr DSL, supporting pull/push via the web API and exports to a number of formats including PlantUML and Mermaid.

(open source)

Designed for the C4 model

Structurizr is specifically designed to support the C4 model for visualising software architecture, by its creator Simon Brown. Diagrams are interactive (e.g. zoom in/out), animatable, embeddable, and include an automatically generated diagram key/legend.


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.

Alternative visualisations

Explore your software architecture with alternative visualisations, including tree views and interactive force-directed graphs.

Explore
Explore

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)

Rendering tool independent

In addition to the browser-based diagram renderer, the open source structurizr-export library (built-in to the Structurizr CLI) can export your views to a number of other formats, for visualising with other tools. Other rendering tools are available too; see Structurizr - Other rendering tools for more.


Container diagram

Structurizr - diagram


Graph

Structurizr - graph

PlantUML

PlantUML

C4-PlantUML

C4-PlantUML

Mermaid

Mermaid


Ilograph

Ilograph