USER MANUAL · START HERE
What is the C4 model?
The C4 model is a way of describing software architecture at four levels of zoom: context, containers, components and code. It was created by Simon Brown. Each level shows the same system from closer up, so a reader can start with the whole picture and go deeper only where they need to. C4Stage draws the first three levels; the code level is left to your editor.
Context
The people and external systems around your software: the users and roles who interact with it, and the systems it talks to but does not own. This level says who and what your system deals with, without opening it up.
Containers
The separately deployable or runnable things inside your system: a web app, an API, a worker, a mobile app, a database. A container here is not a Docker container: it is any unit that runs on its own, whatever packages it.
Components
The parts inside one container: the modules, handlers or services it is built from, and the calls between them.
Code
Classes and functions, the level below components. C4Stage does not draw it, because your editor already shows it.
How C4Stage draws it
All three levels live on one canvas instead of in three separate diagrams. A box that holds children carries a child-count chip: expanding it reveals the level below in place, and the breadcrumb walks back up. Actors and datastores are node kinds of their own, alongside systems, containers and components. Edges are the calls between nodes, each with a label for what happens and an optional line for how.
To see it, open the live demo and expand a box; Reading the canvas covers the gestures.