Comparison
C4 vs UML, ArchiMate and "boxes and lines"
C4 is not competing with UML — it is solving a different problem. Knowing which problem each one solves is what stops an architecture review turning into a notation argument.
Abstraction versus notation
UML is a notation: a large, precise vocabulary of diagram types and symbols. ArchiMate is a modelling language for enterprise architecture, spanning business, application and technology layers. C4 is neither — it is a set of four abstraction levels and a rule about what a box may mean at each one.
That is why "C4 or UML?" is the wrong question. You can render a C4 container diagram in UML component notation, in PlantUML, in Mermaid, or in a drawing tool, and it is still C4. What makes it C4 is the discipline about abstraction, not the shapes.
What each one is good at
- C4 — Communicating the static structure of one software system to mixed audiences. Cheap to learn — about an hour — and cheap to draw.
- UML — Precision, and behaviour. Sequence, state and activity diagrams have no real equivalent in C4 and remain the best way to describe a flow over time.
- ArchiMate — Enterprise scope: dozens of systems, business processes, capabilities and the technology beneath them. Overkill for one product team.
- Ad-hoc boxes and lines — Fast, universally understood, and the reason nobody can agree what a box means. Fine for a whiteboard, poor as a durable artefact.
The combination that works
In practice most teams land on the same split: C4 for structure, UML sequence diagrams for behaviour, and ER diagrams for data. C4 gives you the nouns; sequences give you the verbs.
The trick is to keep them connected. A sequence diagram whose participants are invented — half containers, half classes, one team name — is worse than no diagram, because it quietly teaches the reader a wrong model. When the participants come from the C4 model itself, the abstraction level cannot silently slip.
Moving an existing diagram set to C4
- Sort what you already have into the four levels. Most sets turn out to be a pile of Level 2-and-a-half diagrams.
- Redraw one System Context. It is an hour and it settles most scope arguments.
- Redraw the Container diagram from the deployment reality, and delete every diagram it makes redundant.
- Keep behaviour diagrams as they are — just relabel the participants to match container and component names.
- Archive the rest. A smaller set that is true beats a complete set that is stale.
Frequently asked
Does C4 replace UML sequence diagrams?
No. C4 describes static structure. Sequence diagrams describe behaviour over time, and the two complement each other — the strongest setup is sequences whose participants are drawn from the C4 model.
Is C4 an official standard?
No. It is a convention created by Simon Brown, deliberately kept small and notation-independent, which is why it can be adopted in an afternoon.
Should we use ArchiMate instead of C4?
Only if your scope is genuinely enterprise-wide — many systems, business capabilities and technology layers. For a single product team, ArchiMate costs more in training than it returns.
The guide
The rest of the guide
Eight short pages covering the four levels, the notation, the comparisons people ask about, and the tooling decisions that only hurt six months in.
Level 1
The System Context diagram
One box for your system, the people who use it, and the systems it depends on. It is the only architecture diagram that a product manager, a security reviewer and a new engineer can all read on their first day.
Level 2
The Container diagram
The separately deployable pieces inside your system and the technology each one is built with. If a team draws only one architecture diagram, this is the one that earns its keep.
Level 3
The Component diagram
The major building blocks inside one container, what each is responsible for, and how they collaborate. Drawn per container, and only for the containers that are genuinely hard.
Level 4
The Code diagram
Classes, interfaces and their relationships inside a single component. The level almost everybody draws first and almost nobody should maintain by hand.
Comparison
C4 vs UML, ArchiMate and "boxes and lines"
C4 is not competing with UML — it is solving a different problem. Knowing which problem each one solves is what stops an architecture review turning into a notation argument.
Comparison
C4 and arc42
These two get compared as if you had to pick one. You do not: arc42 is the shape of the document, C4 is what goes in the picture. Teams that understand that use both and stop arguing.
Comparison
Structurizr, and when to use something else
Structurizr is the reference implementation of C4, written by the person who invented C4. That is a real argument in its favour and worth saying before any comparison starts.
Practice
C4 with PlantUML: diagrams as text
Text-based diagrams review like code, diff like code and survive like code. Here is how PlantUML fits a C4 model — and where writing everything by hand stops paying.
Comparison
C4 tools compared
Drawing tools, diagrams-as-code and modelling tools solve different halves of the problem. The right choice depends on whether you are producing pictures or maintaining a model — and on whether the model has to stay on your own machine.
See it as a model rather than a picture
Viaduct puts all four levels in one navigable model with the documentation attached. It runs locally in the browser — no account needed.
