⚡ Tl;dr
- The C4 model is a simple standard for visualizing software architecture for technical and non-technical audiences.
- Some tools in this article have great built-in support for the C4 model, and some of them have partial or plugin-assisted support.
🚀 Let’s kick-off
The C4 model is a simple standard for visualizing software architecture for technical and non-technical audiences. If you haven’t read about it yet, check out our blog post, which explains it in more detail.
There are various tools and techniques for creating C4 model diagrams. Some of the tools in this article have great built-in support for the C4 model, and some of them have partial or plugin-assisted support. They are split into three broad categories that we’ll cover below.
📦 Visual C4 modelling tools
Visual modelling is best for long-term diagrams but requires some setup work. Reusable objects and relationships are stored in the model, which keeps your diagrams up to date.
1️⃣ IcePanel
IcePanel is a real-time collaborative modelling tool with built-in C4 model support.
Free and paid.
It includes features such as:
- Interactive zooming into the top 3 C4 levels.
- Link objects to resources in reality, such as source control or cloud resources, instead of code level 4 diagrams.
- Tags for overlaying colours/perspectives onto existing diagrams.
- Flows for communicating sequences of messages on existing diagrams.
2️⃣ Carbide
Carbide is a graphical modelling tool built for creating C4 model diagrams.
Free and paid.
It includes features such as:
- Interactive zooming between all C4 levels.
- Automatic layout of objects on diagrams.
- Tags for overlaying colours/perspectives onto existing diagrams.
- Dark theme interface and export to PNG, JPEG and SVG.
3️⃣ Enterprise Architect
Enterprise architect by Sparx Systems is a graphical desktop application for modelling business, IT and software systems. You can download the C4 model addon, which is officially supported by Sparx.
Paid.
It includes features such as:
- Interactive zooming between all C4 levels.
- Extend your C4 diagrams with UML and other standards.
- Support for the C4 supplementary diagram types.
🧑💻 C4 diagrams as code tools
Diagrams as code involve writing your model objects, relationships and diagrams using a markup language which can be checked into source control and often include auto-layout capabilities.
1️⃣ Structurizr
Structurizr uses “diagrams as code”, allowing you to create many C4 diagrams from a single model using the DSL language.
Free and open source with a paid web platform.
It includes features such as:
- Apache License 2.0
- Built-in support for the top 3 C4 model levels.
- Store your model as code in source control.
- Automatic drawing and layout of diagrams.
- Can be used with a variety of rendering tools.
- Supports tree and graph visualizations.
- Diagrams as code to draw diagrams using the Structurizr DSL.
2️⃣ Mermaid
Mermaid.js is an easy-to-use JavaScript-based diagramming tool with built-in support for C4 diagramming.
Free and open source.
It includes features such as:
- MIT license
- Direct language support for the top 3 C4 model levels.
- Support for the supplementary dynamic and deployment diagrams.
- Automatic drawing and layout of diagrams.
- Store your diagrams as code in source control.
- Can be rendered directly in the GitHub preview.
3️⃣ PlantUML
PlantUML is a tool that allows you to write diagrams as code. There is an extra open-source project which adds support for the C4 model.
Free and open source.
It includes features such as:
- GPL 3.0 license
- Direct language support for the top 3 C4 model levels.
- Support for the supplementary dynamic and deployment diagrams.
- Automatic drawing and layout of diagrams.
- Store your diagrams as code in source control.
🖼️ Visual C4 diagramming tools
Diagramming is best for quick sketches in conversation and experimentation of ideas. They are easy to make but often thrown away and difficult to keep up to date.
1️⃣ Diagrams.net
Diagrams.net (formerly draw.io) is a collaborative online diagramming tool with built-in C4 model notations.
Free and open source.
It includes features such as:
- Built-in shapes and colour schemes for the top 3 levels of the C4.
- Placeholders for C4 model properties on the shapes.
- Real-time collaboration, with a desktop app option.
- C4 style legend, connections and scope boundaries.
- Store diagrams locally in the browser.
2️⃣ Visual Paradigm
Visual Paradigm is a collaborative diagramming tool with built-in support for the C4 model diagram notations.
Paid.
It includes features such as:
- Built-in shapes and colour schemes for the top 3 levels of the C4.
- Placeholders for C4 model properties on the shapes.
- Real-time collaboration, with a desktop app option.
- C4 style connections and scope boundaries.
- Templates to demonstrate the C4 model and supplementary diagram types.
3️⃣ Lucidchart
Lucidchart is a collaborative diagramming tool with a C4 model template you can use as a starting point.
Free and paid.
It includes features such as:
- Template demonstrating how to diagram all 4 levels of the C4.
- Real-time collaboration to work with your team
🏁 To wrap up
Let us know in the comments if you found any other diagramming or modelling tools for the C4 model that you found useful.
Stay chill 🧊