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 "Name" "Description"
!identifiers hierarchical
model {
u = person "User"
ss = softwareSystem "Software System" {
wa = container "Web Application"
db = container "Database Schema" {
tags "Database"
}
}
u -> ss "Uses"
u -> ss.wa "Uses"
ss.wa -> ss.db "Reads from and writes to"
}
views {
systemContext ss "Diagram1" {
include *
autolayout lr
}
container ss "Diagram2" {
include *
autolayout lr
}
// styling...
}
}
A single workspace version of Structurizr, providing a way to quickly view diagrams, documentation, and architecture decision records.
(open source)
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)
The Structurizr cloud service, providing a way to publish diagrams, documentation, and architecture decision records.
(free and paid)
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.
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.
Architecture decision records (ADRs)
Publish architecture decision records (ADRs) that capture your significant design decisions.
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.