Viaduct

Viaduct

C4 modelling

What a C4 modeling tool is.

A C4 modeling tool builds one model of a software system and draws views on top of it — context, containers, components and code. Because the elements are data rather than boxes, renaming a service renames it everywhere, and every diagram stays a view of the same system instead of another picture to keep up to date.

01The four levels

One model, read at four depths

C4 is four levels of abstraction, not a notation. You zoom out for an audience that needs the shape of the thing, and in for one that has to build it — and it is the same model underneath either way.

Level 1

Context

The system as a box, the people and the other systems it talks to. The diagram a non-technical audience can read.

Level 2

Containers

What is deployed and runs: applications, APIs, workers, databases, brokers — and how they reach each other.

Level 3

Components

Inside one container: the modules it is built from, the endpoints it exposes, the topics it publishes.

Level 4

Code

Classes and functions. Rarely worth drawing by hand, and the level most tools stop short of.

02Choosing one

Six questions worth asking first

Most of the disappointment with these tools comes from answering the first question wrong and discovering it a quarter later, when the diagrams no longer match anything.

01

Diagramming or modelling?

A diagramming tool knows boxes and lines. A modelling tool knows that this box is a service, so it can validate, query and rename across every view. Everything else on this list follows from that answer.

02

Who writes, and who reads?

A DSL in git suits engineers and pull requests. A canvas suits a room with product people in it. Tools that try to be both usually are not.

03

Where does the model live?

Files next to the source, or a hosted workspace. Files diff in review; a workspace is open to people who do not clone repositories.

04

Can you get it back out?

An open format you can export — JSON, a DSL, PlantUML, an OpenAPI document — is the difference between a model and a hostage.

05

Does the documentation live with it?

Decisions, contracts and flows kept somewhere else drift apart from the diagram within a quarter. Kept on the elements, they move with them.

06

Can an agent read it?

Coding agents now write a large share of the code. A model they can read over MCP is context; a model they cannot is a picture they will guess around.

03Where Viaduct fits

A model the team and the agents both read

Viaduct is a visual C4 modelling tool: you open a system to see its containers, a container to see its components. Documentation, PlantUML sequences, ER schemas, OpenAPI and Protobuf contracts and data flows hang off the elements they describe, so a service, its contract and its explanation are one thing rather than three that drift apart. A hosted MCP server serves all of it to Cursor, Claude Code and Claude Desktop, which read the architecture instead of guessing it from the repository. The browser edition is free with an account; the desktop app keeps projects as JSON files on your own machine.

04Questions

Asked before choosing

What is a C4 modeling tool?

A C4 modeling tool builds one model of a software system and draws views on top of it — context, containers, components and code. Because the elements are data rather than boxes, renaming a service renames it everywhere, and every diagram stays a view of the same system instead of another picture to keep up to date.

What is the difference between C4 diagramming and C4 modelling?

A diagramming tool stores pictures: the same service drawn on four boards is four boxes, and renaming it is four edits. A modelling tool stores the system — elements and relationships — and a diagram is a view of part of it. Renaming happens once, the views can be queried, and the model can be exported as data.

Is there a free C4 modeling tool?

Yes, several. Structurizr is open source and runs on your own machine. Viaduct is free in the browser with an account — all four levels, documentation, flows, collaboration and the MCP server, with no trial clock. Most hosted tools have a free tier with a cap on editors or on how many elements the model may hold.

Which C4 tool works with AI coding agents?

Look for an MCP server rather than an export button. Viaduct serves the model over a hosted MCP endpoint, so Cursor, Claude Code and Claude Desktop read the architecture and write back to it as work is done. Structurizr describes its DSL as AI friendly because it is text an agent can edit, and IcePanel lists an MCP integration for keeping a model updated.

Do I need a dedicated tool, or will draw.io do?

For one diagram in a readme, draw.io is fine and free. The cost arrives later: nothing links the boxes to anything, so the picture and the system drift apart, and nobody notices until someone onboards. A modelling tool earns its place when more than one person depends on the answer being current.

Does C4 replace UML?

No. C4 is a set of four levels of abstraction for describing software architecture, not a notation — you can draw it in UML, in boxes and arrows, or in whatever a tool gives you. It is deliberately smaller than UML, which is most of why teams adopt it.

Model your system, free in the browser.

Every level, the documentation, the flows and the MCP server. An account, and no trial clock on any of it.

Create a free account