# How to Share a Structurizr C4 Model With Non-Engineers

Canonical: https://commareports.com/share-structurizr-diagram
Published: 2026-09-14

> Structurizr Lite runs on localhost and the cloud workspace needs seats. Export the static site or the diagrams and publish them as a URL anyone can open.

# Share a Structurizr C4 model

The C4 model is diagrams-as-code done properly: one DSL file, four levels of
zoom, everything version-controlled next to the system it describes.

Then the head of product asks to see the architecture, and your options are a
`localhost:8080` link that means nothing to them, or a cloud workspace seat
they will use once.

## localhost is not a share link

Structurizr Lite is a container you run locally. It is the right tool for
authoring, and the URL it prints is reachable only from your machine — see
[why a localhost link doesn't work for others](/fix/localhost-link-doesnt-work-for-others).

The cloud workspace solves reachability by adding accounts, which works for the
engineers and stalls for everyone else. The people who most need the context
diagram — product, compliance, a prospective customer's security reviewer — are
exactly the people you will not be provisioning seats for.

## Export, then publish

The Structurizr CLI turns the DSL into artifacts you own:

```bash
structurizr-cli export -workspace workspace.dsl -format plantuml
# or -format mermaid, or the static site export
```

Render those to SVG and assemble one page — context first, containers second,
components last, each with a paragraph saying what the reader is looking at:

```html
<h1>Payments platform — architecture</h1>

<h2>1 · System context</h2>
<p>Who talks to the platform, and what for.</p>
<!-- context.svg -->

<h2>2 · Containers</h2>
<p>The deployable units and the protocols between them.</p>
<!-- containers.svg -->
```

Publish it and you have one URL that holds the whole model, in the order C4
intends it to be read.

## One page beats a diagram picker

Structurizr's own UI gives you a dropdown of views, which is right for
exploration and wrong for review. A reviewer opening a picker does not know
which view answers their question, so they look at one, form a partial
impression and leave.

A single scrolling page enforces the narrative: zoom out, then in, with the
prose that connects them. It is also the version you can hand to someone who
has never heard of C4 and expect a useful reaction.

## Keep it current from CI

An architecture diagram nobody regenerates becomes a lie within a quarter.
Export and publish in the pipeline on every merge to `main`, updating the same
report id:

```yaml
- run: structurizr-cli export -workspace docs/workspace.dsl -format mermaid
- run: ./scripts/publish-architecture.sh
```

The URL you pasted into the onboarding doc six months ago still shows the
current system. See [publishing from CI](/ci).

## Worth knowing

- **Publish context and container levels.** Component diagrams age fastest and
  interest the fewest people.
- **Comments anchor per diagram**, so a security reviewer's question lands on
  the container it is about — see [commenting on HTML](/comment-on-html).
- **Access control still applies.** An architecture page is usually not
  something to leave open; restrict it like any other report — see
  [security](/security).
- **5 MB per report body.**

## Try it

Free — unlimited reports, commenters and revisions.

**[Publish a diagram →](/docs/quickstart)**

### Related

- [Share a PlantUML diagram](/share-plantuml-diagram) ·
  [Share a Mermaid diagram](/share-mermaid-diagram)
- [Share a Graphviz diagram](/share-graphviz-diagram) ·
  [Share a draw.io diagram](/share-drawio-diagram)
- [Publish from CI](/ci) ·
  [Why a localhost link doesn't work](/fix/localhost-link-doesnt-work-for-others)
