Skip to content
ChartForgeX

Mermaid support matrix

Rendered subsets, retained syntax, diagnostics and pinned reference evidence.

This matrix is the working contract for ChartForgeX Mermaid support. A family is complete only when it has source-preserving parsing, typed semantic models where rendering is implemented, diagnostics for unsupported syntax, deterministic SVG and PNG output where renderable, Markdown fence coverage, Mermaid.js conformance fixtures, and smoke tests that prove the public artifact contract.

The current semantic reference is Mermaid.js 12.2.0. The test-time harness also pins 10.9.8 and 11.17.2; per-fixture compatibility metadata records syntax outcomes and explicit older semantic differences. These tested examples do not establish full compatibility with every release or syntax form in those majors. The family inventory follows upstream 12.1.0 documentation. Release-specific fixtures cover 12.2.0 mindmap branch/depth coloring; its other new syntax and layout changes still need qualification. The Mermaid roadmap records additional grammar, observed render comparisons, and qualification of newer reference versions.

What support means

  • Native render path: the parser produces a typed model and can create a CFX artifact for a supported subset.
  • Retained only: source or metadata survives, but a requested feature does not affect visible output.
  • Approximate mapping: meaning is projected into a CFX chart/topology model with documented fidelity limits. Journey, timeline, Venn and C4 report CFXM009 while producing artifacts.
  • Diagnostic-only family: the header is recognized and source is retained, but no artifact is produced.
  • Unknown family: the header is not recognized and parsing returns an error.

Thirty families have native render paths. ZenUML, Agentflow and Railroad are diagnostic-only: their headers are recognized and source is retained without an artifact. Native rendering uses CFX scenes without Mermaid's browser runtime or reference-layout guarantee. Each native row still has open grammar, configuration or fidelity work; none of these counts establishes complete Mermaid compatibility. Existing smoke/artifact tests are evidence for their tested cases, not a claim that every upstream example passes.

Families With Native Render Paths

FamilyHeaderCurrent stateNative modelEvidenceRemaining work
Flowchartflowchart, graph, flowchart-elkTyped nodes, edges, circle/cross/bidirectional endpoints with inline or pipe labels, nested subgraphs with local directions and group endpoints, quoted physical multiline captions, plain-text Markdown captions with CFXM009, safe entity decoding and literal HTML/math fallbacks with CFXM007, default and comma-separated class definitions, ordered class/direct style precedence, clicks, link styles, source spans and link lengths mapped to native minimum rank spans; ELK header uses static layout with CFXM003; unsupported style properties/values report CFXM007. Numeric selectors require already-declared edges; invalid suffixes/selectors report CFXM008. Shapes carry the node meaning without kind glyphs, labels are centered in their shapes, and edges that skip ranks route through a reserved corridor beside intermediate nodesTopologyChartSmoke parser/conversion/SVG/PNG tests; Markdown bridge and responsive static-host checks; flowchart-basic.mmd, flowchart-elk.mmd and versioned flowchart-endpoints.mmd, flowchart-inline-endpoints.mmd, flowchart-apostrophe-labels.mmd, flowchart-link-lengths.mmd, flowchart-class-styles.mmd, flowchart-multiline-markdown.mmd, flowchart-link-style-replacement.mmd and flowchart-compound-long-edge.mmd semantic fixtures; empty/repeated-class rejection fixtures; observed 10/11/12 reference/native SVG/PNG comparisonsComplete the expanded @{ shape: ... } catalog, icon/image metadata, edge IDs/properties, further compound ports and rich Markdown text styles. Generated compound bypass routes are repaired after group compaction; four-direction tests protect orthogonal final legs, separate target ports and intermediate-card clearance. Further dense/nested geometry remains open. Documented metadata aliases for existing native shapes are supported; the expanded catalog still needs additional geometry.
SequencesequenceDiagramTyped participants, titles, creation/destruction lifetimes, participant boxes, messages, notes, activations, blocks, validated decimal autonumber, links, source spans; native source theme/font defaults and explicit host presentationSequenceArtifactSmoke parser/conversion/SVG/PNG tests; Markdown bridge; sequence-basic.mmd, sequence-rich.mmd and versioned participant/message/configuration facts in sequence-presentation.mmd; native and browser presentation checksQualify additional box color forms and newer message variants, nested parallel/critical branches, branch labels, notes and activation lifetimes. Complete theme-variable and family-option mappings.
ClassclassDiagramTyped classes, namespaces, members, annotations, relationships, endpoint multiplicities and global direction; visible typed notes, base generic identities and two-way relationships; interactions/styles and lollipop notation retained with CFXM007TopologyChartParser/render/Markdown tests; shared class identity/direction fixtures; observed reverse-direction SVG and native PNGComplete further generic/member semantics, lollipop notation, namespace labels, class/style application and safe link data. Nested namespace groups and typed note geometry use native owners. Retained statements do not add false nodes or styled output.
StatestateDiagram, stateDiagram-v2Typed states drawn as plain rounded surfaces without kind glyphs or status dots, composite groups, solid transitions, filled start and ringed end markers, captionless choice diamonds, fork/join bars, nested composite groups/local directions and visible typed notes; classes/concurrency separators retained with CFXM007TopologyChartParser/render/Markdown tests; shared state identity/direction/note fixture; observed reverse horizontal/vertical SVG and native PNGComplete concurrent regions, further dense composite routing and class application; unmatched notes/composites report CFXM008.
Entity relationshiperDiagramTyped stable entity identities, quoted aliases, visible attributes/keys/comments, identifying lines, cardinality markers and global direction; styles/subgraph boundaries retained with CFXM007TopologyChartParser/render/Markdown tests; shared entity/direction fixtures including older ER semantics; observed vertical SVG and native PNGComplete entity aliases, optional attribute types, group geometry/endpoints and class/style application. Presentation statements do not create entities; unmatched blocks report CFXM008.
RequirementrequirementDiagramTyped requirements, elements, relationships, validated risk/verification fields, class/style retention with CFXM007, source spansTopologyChartSmoke parser/conversion/SVG/PNG tests; Markdown bridge topology test; requirement-basic.mmd and requirement-rich.mmd conformance fixturesComplete one-line blocks, all field/kind constraints, Markdown labels and class/style application; qualify relation direction and visible requirement notation.
Architecturearchitecture-betaTyped groups, services, junctions, edges, endpoint sides, group-boundary edge modifiers, source spansTopologyChartSmoke parser/conversion/SVG/PNG tests; Markdown bridge topology test; architecture-basic.mmd and architecture-nested.mmd conformance fixturesComplete nested group geometry, group endpoint sides, row/column alignment and safe icon mapping. Source layout/configuration options are not equivalent to Mermaid's browser layout.
C4C4Context, C4Container, C4Component, C4Dynamic, C4DeploymentTyped elements, boundaries, relationships, title/direction metadata, retained style/layout/update statementsTopologyChart with CFXM009Smoke parser/conversion/SVG/PNG tests; Markdown bridge topology test; c4-basic.mmd conformance fixtureComplete nested boundaries/deployment notation, relationship variants and update style/layout application. The typed topology mapping remains an approximation of C4 notation.
Git graphgitGraphTyped branches, commits, ids/tags/types/messages, checkout/switch, validated merge heads and cherry-pick parents; strict command attributes and source spansGitGraphBlockSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; gitgraph-basic.mmd and gitgraph-cherry-pick-parent.mmd semantic fixtures; invalid attribute/type/order/merge/parent coverageApply source configuration, branch order/main-branch naming and commit-label options; render LR/TB/BT orientations and parallel commits deliberately instead of retaining direction as metadata.
Blockblock-betaTyped layout items, columns, spans, spaces, basic edges, retained style/composite statementsBlockLayoutBlockSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; block-basic.mmd conformance fixtureRender nested/composite blocks, full shapes, column/span behavior and style/class application; qualify connectors across composite boundaries.
Packetpacket-betaTyped contiguous bit fields, explicit and relative ranges, title; source bitsPerRow, showBits, bitOrder, bitWidth, rowHeight, paddingX and paddingY; independent host overridesPacketLayoutBlockParser, direct/fence, SVG/PNG and browser checks; packet-basic, packet-source-options, packet-descending and packet-geometry reference fixtures; split and partial rows, single-bit labelsNative dimensions fit the fixed host viewport and preserve measured bit-label space; source pixel geometry is not an upstream pixel-equality guarantee. Keep extreme density and label readability limits explicit.
Vennvenn, venn-betaTyped sets, intersections, text nodes, style color mapping, source spansVennDiagramBlock with CFXM009Smoke parser/conversion/SVG/PNG tests; Markdown bridge test; venn-basic.mmd conformance fixtureQualify area-proportional/Euler layout, higher-arity unions and styling. Current output is limited to deterministic one-to-three-set overlap and does not encode source sizes proportionally.
Ishikawaishikawa, ishikawa-betaTyped root effect and indentation-based cause/sub-cause tree with source spansFishboneDiagramBlockSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; ishikawa-basic.mmd conformance fixtureComplete dense nested-cause layout and source style/theme mapping; preserve cause-tree meaning in compact SVG and PNG.
Wardleywardley-betaTyped stages, anchors, components, links, evolve trends, notes, annotations, markers, pipelines, source spansWardleyMapBlockSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; wardley-basic.mmd conformance fixtureComplete annotation boxes, pipeline styling, inertia/sourcing overlays and advanced decorators; qualify labels and evolution geometry against upstream reference examples.
MindmapmindmapTyped hierarchy with shape, class, icon markers, source spans; branch/depth color modeTopologyChart with mind-map layout and active-theme categorical paletteSmoke parser/render test; direct/fenced color mode and structural section tests; paired-theme SVG/PNG and interchange proof; mindmap-basic.mmd conformance fixtureComplete Markdown strings, class application, icon families and remaining shapes; qualify indentation ambiguity and dense radial labels.
Tree viewtreeView-beta, treeViewTyped indentation hierarchy, quoted labels, source spansTopologyChart with hierarchy layoutSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; treeview-basic.mmd conformance fixtureAdd box-drawing input, ## descriptions, classes and file/directory/icon annotations; use reusable tree-row geometry for directory-list fidelity instead of a generic hierarchy preview.
Event modelingeventmodelingTyped timeframes, reset frames, entity kinds, namespaces/swimlanes, data refs, inline data, data blocks, inferred and explicit relations, source spansTopologyChart with grouped swimlanesSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; eventmodeling-basic.mmd conformance fixtureComplete typed data-block display, richer relations, frame/reset order and diagram-specific swimlane geometry. Current data retention does not establish visible table rendering.
KanbankanbanTyped columns, tasks, metadata blocksTopologyChartSmoke parser/render test; Markdown bridge topology test; kanban-basic.mmd conformance fixtureComplete task metadata/configuration, priority/assigned/ticket display and safe ticket links with deliberate board geometry; preserve columns and order at compact sizes.
PiepieTyped title from the pie [showData] title ... header or a title statement, showData, slices, source spansChart pie seriesSmoke parser/conversion/SVG/PNG tests; Markdown bridge test; pie-basic.mmd conformance fixtureQualify escaping, showData, integer/decimal and empty/zero-value behavior against upstream; map supported source styling and label placement.
JourneyjourneyTyped title, sections, scored tasks, actors, source spansChart score bars with CFXM009Smoke parser/conversion/SVG/PNG tests; Markdown bridge test; journey-basic.mmd conformance fixtureRender sections, actors and score paths through a reusable journey scene. The current bar-chart conversion preserves scores and metadata but does not reproduce journey lanes.
TimelinetimelineTyped title, sections, periods, events, direction, source spansChart ordinal event ranges with CFXM009Smoke parser/conversion/SVG/PNG tests; Markdown bridge test; timeline-basic.mmd conformance fixtureQualify both directions, multiline event continuations, section grouping and source colors; replace ordinal time placement where it hides period/event structure.
QuadrantquadrantChartTyped title, axis endpoints, quadrant labels, normalized points and charts without pointsChart scatter series with four native plot regions and bounded interior captionsDirect/fence source-value tests; compact/wide light/dark SVG/PNG and browser checks; shared quadrant-basic and quadrant-no-points label/position expectations for Mermaid 10/11/12Complete point/class styling, theme variables, source dimensions and separate axis endpoint labels. Native placement and palette follow CFX; matching upstream browser paint is a separate fidelity goal.
GanttganttTyped title, sections, explicit input-date fields and caller anchors for yearless formats, tasks, tags, forward/multiple after references, until references, milestone ranges, case-sensitive clock/calendar durations and merged excludes/includes/weekend arithmetic; row-to-row predecessors have native connectors; English D3 axis labels with padding and literal text; calendar tick intervals and weekday alignment; vertical markers without rows, explicit today-marker suppression and bounded native stroke stylingChart Gantt series with shared native annotationsParser/conversion/SVG/PNG/Markdown tests; compact/wide browser checks; shared upstream input and duration timestamps, scheduling dates, marker/order facts and axis-format/week-boundary labels; marker and Unix-seconds reference differences recorded separately; anchored leap-year and calendar casesUnsupported CSS declarations remain diagnosed. Preserve month/year clamping, fractional-unit behavior and exclusion calendars; keep explicit anchor behavior and narrowed loose-date fallback visible in migration guidance.
XY chartxychart, xychart-betaTyped axes, numeric/category ranges, bar/line series, horizontal/vertical orientation, source spansChart cartesian series with shared orientation, physical-axis labels and bounds, and retained source observations for interactionSmoke parser/conversion/SVG/PNG tests; Markdown bridge and pointer/keyboard browser tests; xychart-basic.mmd and xychart-horizontal.mmd conformance fixturesComplete named-series legends, per-point line labels and source configuration.
Sankeysankey, sankey-betaTyped CSV links with quoted fields and positive values; frontmatter title; eight validated source geometry/value-label settingsChart Sankey series with stable node/link identitiesParser/conversion and source-setting tests; compact light/dark browser/native checks; direct and Markdown host overrides; versioned sankey-source-options.mmd node/flow factsComplete CSV edge cases and source link/node colors and label styles. Browser paint and native layout remain distinct.
Radarradar-betaTyped axes, curves, keyed values, integer/fractional radial intervals, automatic/explicit scale bounds, circle/polygon graticules, curve tension, dimensions, margins, axis factors and supported source colors, strokes, opacity and label/legend sizesChart radar series with the paired theme, immutable outline strokes, shared polar guides, axis geometry and closed cubic pathsParser/conversion/SVG/PNG and Markdown tests; pinned radar fixtures including radar-theme.mmd; transformed/reversed intervals, cubic extrema, source/host layout precedence, plot/legend paint and compact/wide light/dark hostsQualify additional source settings and dense-label cases; keep native geometry and browser-renderer pixel fidelity distinct.
Treemaptreemap-betaTyped hierarchy, class suffixes, comma-separated non-negative values, source spans; source/host value visibilityChart treemap seriesParser/conversion/SVG/PNG and direct/fence checks; compact/wide Chromium; typed node/parent and visibility reference fixturesApply class/style and value-format settings without changing authored hierarchy or source magnitudes.
Swimlaneswimlane-betaFlowchart semantics with responsibility groups, shared process ranks and authored link lengths mapped to native minimum rank spansTopologyChart swimlane layoutArtifact SVG/PNG, markup, JSON, AOT, rank-spacing regressions and swimlane-basic.mmd fixtureComplete nested lane grouping and supported flowchart styles; qualify cross-lane handoffs, local directions and readable lane labels.
Use caseusecase-betaActors, use cases, boundaries, include/extend and generalization validationTopologyChart with actor/ellipse notationArtifact SVG/PNG, markup, JSON, AOT and usecase-basic.mmd fixtureComplete notes, business/icon actors, stereotypes, JSON tables, source configuration and association/edge styling.
Cynefincynefin-betaFixed domains, quoted items, title and transitionsTopologyChart domain mapArtifact SVG/PNG, markup, JSON, AOT and cynefin-basic.mmd fixtureComplete domain-specific boundaries, disorder/cliff notation and theme/configuration mapping; current regions use a rectangular topology map.

Recognized But Not Renderable Yet

These families are detected and returned as MermaidDocument with raw body statements in RawStatements, plus a warning diagnostic. They should not emit a visual artifact until a semantic model and deliberate ChartForgeX mapping exist.

FamilyHeaderCurrent stateBest next targetNotes
ZenUMLzenumlRecognized, raw statements retained, warning diagnosticSequence-like artifact after grammar evaluationKeep separate from Mermaid sequence until semantic differences are understood.
Agentflowagentflow-betaRecognized, raw source retained, CFXM002, no artifactTyped workflows over reusable topology contractsSemantic parsing and native rendering remain open.
Railroadrailroad-beta, railroad-ebnf-beta, railroad-abnf-beta, railroad-peg-betaRecognized, raw source retained, CFXM002, no artifactTyped grammar model and reusable railroad geometryBody grammar is not validated by recognition.

Complete the semantic and artifact gates for Agentflow and the Railroad dialects. Treat workflow instructions/models/connectors as inert diagram data, and reuse one product-neutral grammar model for the Railroad notations. ZenUML remains a separate grammar/license evaluation; translating it as ordinary Mermaid sequence syntax would discard meaning.

Cross-Family Gaps

ContractConfirmed current stateRequired completion
HeadingsNative renderers share title precedence: explicit caller title, supported diagram title statement, top-level frontmatter title, then family fallback. Subtitles are opt-in; source keyword headers remain in metadata.Qualify additional source-title syntax and YAML scalar forms without turning unsupported statements into visible headings.
Version coverageIsolated reference lanes pin 10.9.8, 11.17.2 and 12.2.0. Per-fixture metadata records syntax acceptance/rejection, older Gantt calendar results and Mermaid 10's different ER direction/subgraph interpretation.Expand the feature corpus and semantic assertions, retain supported old spellings and publish only the qualified syntax window. These example-level results do not establish complete major-version compatibility; test-only JavaScript versions do not become runtime dependencies.
Conformance depthThe versioned corpus contains 113 native-fixture sources, five recognition-only sources and 16 malformed flowchart/sequence/GitGraph/class/state/ER/packet inputs, with 72 shared semantic expectation files. Compatibility metadata covers all 134 sources. The current 12.2.0 reference accepts the 118 positive sources and rejects the 16 invalid sources. Packet is unavailable in Mermaid 10; Mermaid 11/12 reject the noncontiguous range semantically. The other malformed inputs are rejected by every pinned reference; native direct and Markdown-fence routes retain located errors and produce no artifacts. The upstream harness parses every source and checks selected shared expectations for flowchart nodes, shapes, edges, labels, minimum rank spans and resolved class/link styles; GitGraph ancestry, commit attributes and cherry-pick parent selection; class/state/ER identities and directions; sequence participants/messages; packet ranges; Sankey nodes/flows; treemap hierarchy/values; radar axes/curves/options and source paint; quadrant labels/positions; mindmap labels, hierarchy and color sections; source configuration; and Gantt dates, markers, formatting and calendar ticks. The dedicated MermaidReference browser lane renders multiline/Markdown captions, repeated linkStyle replacement and compound bypass relationships with all three pinned engines and compares labels, relationship counts, caption containment and script-free native output beside native SVG/PNG. It records appearance differences instead of requiring equal pixels.Extend feature and semantic coverage on both sides; record source version/provenance and meaningful rejection cases. Extend observed reference comparisons to further families and malformed/compact cases; the common class/state/ER/sequence/compound tranche is included in the reference-render lane.
Result fidelityLibrary-produced diagnostics have stable codes and original spans. Retained statements and unsupported flowchart styling report CFXM007; invalid notation, class suffixes, link selectors and GitGraph commands report CFXM008. Sequence branches require their immediate block owner. Journey, timeline, Venn and C4 report their approximate mappings with CFXM009; their artifacts remain available. Some other accepted features still remain metadata or flat-layout approximations.Extend classification across the remaining grammar and compact statements; distinguish unsupported, retained, approximate and exact native mappings consistently.
Configuration and themesBounded YAML scalar mappings and legacy init/initialize declarations retain typed settings and original locations, including empty YAML values. Directives override frontmatter; family-scoped themes override global themes. dark/default, font stacks, themeVariables.fontFamily and explicit pixel themeVariables.fontSize map to existing chart, topology, sequence and block owners. Radar also maps supported title/series colors and radar paint/typography through the paired theme and existing style owners. The theme variable overrides root fontFamily; later values at the same path replace earlier values. Unsupported family font keys retain diagnostics. Pixel sizes scale native text roles; explicit topology/sequence host contexts override authored typography. Sequence portable presentation records the resolved colors and font. Other settings have stable diagnostics.Broader YAML forms, coherent host/source policy across families, remaining theme-variable and family-option mappings, and additional typography roles.
Mermaid 12 appearanceCFX uses its own deterministic prepared scene. It does not execute upstream ELK or reproduce the new default browser appearance.Describe syntax/semantic compatibility separately from layout, look, theme and pixel fidelity. Handle legacy defaultRenderer and upstream layout aliases deliberately.
Labels and authored stylingFlowchart default/class/direct paint precedence and explicit-over-default link styling are mapped to native node/edge roles; repeated linkStyle declarations replace their earlier declaration rather than merging it. Quoted multiline and captions share native SVG/PNG text; Markdown emphasis becomes readable plain text with CFXM009, while HTML/math remain inert literal text with CFXM007. Unsupported CSS properties and values remain diagnosed. Several parsers retain Markdown/icon/style data with family-specific visible application. Flowchart metadata shape aliases cover a subset of the upstream catalog.Shared safe rich-text, shape and remaining family style mappings; extend the Flowchart HTML/math fallback contract to remaining families, complete icon fallbacks and broaden SVG/PNG geometry proof.
Graph layout and notationShared topology provides native markers, groups and routing, but family-specific configuration and composite behavior remain incomplete.Qualify nesting, local directions, group endpoints, ports, loops, parallel edges, obstacle/label routing and the actual class/state/ER/architecture notation.
Host policy and safetyStatic output is script-free by default and existing topology/artwork safety contracts are reusable. MermaidRenderOptions shares presentation defaults, explicit warning acceptance, captured source/model/depth/export limits and cooperative cancellation through direct and fenced requests. Natural topology HTML preserves measured text in a keyboard-scrollable host.Further family/style/link/asset allowlists and adversarial grammar coverage. Cancellation cannot interrupt an already-running native layout; it is not a hard wall-clock deadline. Existing SVG/URI safety owners remain authoritative.
DeliveryNative artifact, fence, serialization and AOT tests exist. The quality workflow covers Windows/Linux/macOS and a required Windows Chromium lane. The quality loop checks versioned reference fixtures, supported frameworks and AOT, with optional packed-library consumer qualification; the browser lane checks actual paired output and interaction contracts.Qualify each completed tranche through direct APIs, fences, serialization, actual SVG/PNG views, representative hosts, supported frameworks/AOT and isolated package consumers. Keep local qualification, hosted results, publication and installed-host behavior distinct.

The source evidence is header dispatch and parse results, presentation parsing, presentation application, render options, Gantt duration parsing, and the upstream harness. Per-family parser/conversion files and the listed tests establish the row-specific limits.

Shared Owners

Native hierarchy options, authored identities, chart orientation and relationship styling use the shared chart owner. Retained series replace complete hierarchy or flow data through ReplaceHierarchyItems and ReplaceFlowData; the API conventions document configuration and identity rules. Bounded source configuration and located class/state/ER diagnostics belong to the Mermaid parser. Extend these owners when completing language mappings.

Remaining shared-owner work and its qualification belong in the Mermaid roadmap.

Completion Order

The implementation checklist lives in TODO.md:

  1. Establish versioned feature/semantic evidence and truthful diagnostics, including missing-family recognition.
  2. Complete shared configuration, labels, styling, policy and layout owners.
  3. Close core flowchart/sequence/class/state/ER/requirement semantics.
  4. Qualify chart/calendar fidelity through the implemented shared native owners.
  5. Complete specialized diagrams and implement missing language families against the same shared owners.
  6. Qualify host delivery, visible exports, frameworks/AOT and package consumers; settle merge/release gates separately.

A family closes only when its documented syntax, semantics, diagnostics, visible scene, SVG/PNG exports and fence/consumer contracts pass. Retaining raw text or accepting one fixture is insufficient.

Upstream References

Use the Mermaid syntax catalog and versioned documentation source together; the navigation list alone omits some registered families.

Edit this page on GitHub