Skip to content

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.