Rendering Backend Comparison¶
Rendering-backend pages are the normative source for backend-only behavior. The portable core docs describe model concepts shared by renderers; backend docs describe syntax, validation, render options, and extension data owned by each renderer.
| Capability | PlantUML | Mermaid |
|---|---|---|
| System context diagrams | Supported | Supported |
| System landscape diagrams | Supported | Rendered as Mermaid C4 context syntax |
| Container diagrams | Supported | Supported |
| Component diagrams | Supported | Supported |
| Dynamic diagrams | Supported | Supported by renderer, limited by Mermaid C4 syntax |
| Deployment diagrams | Supported | Supported by renderer, limited by Mermaid C4 syntax |
| Relationship endpoints | Elements and boundaries | Concrete elements only; boundaries are rejected |
| Properties | Property tables | Not supported |
| Directional relationship helpers | c4.contrib.plantuml |
Not supported |
| Bidirectional relationship helpers | c4.contrib.plantuml |
Not supported |
| Relative layout helpers | c4.contrib.plantuml |
Not supported |
| Dynamic relationship indexes | c4.contrib.plantuml |
Not supported |
| Element tags, sprites, links, shapes | plantuml={...} |
Not supported |
| Boundary type hints | plantuml={...} |
mermaid={...} |
| Style options | PlantUML render options | Mermaid options |
| Image backend | Local CLI/JAR or remote server | Local Mermaid CLI |
Use PlantUML when C4-PlantUML-specific layout, styling, tags, dynamic indexes, or remote rendering matter. Use Mermaid when Mermaid source is the target format and the diagram fits Mermaid's smaller experimental C4 feature set.