NovaSVG Documentation
GitHub

SVG renderer benchmark

novasvg against resvg, lunasvg, cairosvg, thorvg, nanosvg. Each of the 60 samples is rendered at its own aspect ratio, fit within 320×320px, and timed as the median of 5 runs.

60 samplesmedian of 5 runsgenerated 2026-10-15 02:17 UTC

At a glance

Chromium (ground truth) is the reference every other engine is checked against, not a competitor. Its render time includes full browser page-navigation overhead (one shared instance for the whole corpus, one render each, no median-of-N), so it is left out of the charts. RMSE is the root mean squared error against the ground-truth render, at the same pixel dimensions, over all 4 RGBA channels on the 0-255 scale. Squaring before the square root weights a handful of badly wrong pixels (a missing filter, a wrong fill, a shifted shape) far more than the routine anti-aliasing noise along every edge, so low single digits is essentially imperceptible and anything in the tens or higher usually means something structural differs.

Accuracy

Mean RMSE against the Chromium render. Lower is closer.

Speed

Average render time per sample. Lower is faster.

These charts and the table below are drawn from render_benchmark.json, which sits next to this page.

nanosvg is included as a lightweight baseline, not a fair fight with the other 5. It is a minimal path and gradient rasterizer with no CSS, no filters and no text layout, so its FAILs and blank renders on filter or text heavy samples below are expected scope, not bugs.

Engine versions

EngineVersionRendered OKAvg time / sampleTotal time
Chromium (ground truth)Chromium 141.0.7390.3760/6084.34 ms5060.28 ms
novasvg0.10.060/602.28 ms136.57 ms
resvg0.45.160/603.38 ms202.54 ms
lunasvg3.5.060/601.85 ms110.75 ms
cairosvg2.9.160/6042.92 ms2575.47 ms
thorvg1.0.060/600.64 ms38.15 ms
nanosvggit-master (no version macro upstream)60/602.16 ms129.54 ms

Rendered output

Same size (that sample's own aspect ratio, fit within 320×320px) from every engine, side by side, so visual differences (missing text, wrong fills, unapplied filters, ...) are easy to spot. Click any render to zoom in.

circle (320×320px)

plain shape

Chromium (ground truth) render of circle
Chromium (ground truth)140.72 ms
reference
novasvg render of circle
novasvg0.49 ms
RMSE 1.81
resvg render of circle
resvg0.90 ms
RMSE 1.38
lunasvg render of circle
lunasvg0.50 ms
RMSE 1.81
cairosvg render of circle
cairosvg7.86 ms
RMSE 1.80
thorvg render of circle
thorvg0.43 ms
RMSE 1.62
nanosvg render of circle
nanosvg1.74 ms
RMSE 2.39

rect (320×320px)

plain shape

Chromium (ground truth) render of rect
Chromium (ground truth)56.26 ms
reference
novasvg render of rect
novasvg0.21 ms
RMSE 0.00
resvg render of rect
resvg0.16 ms
RMSE 0.00
lunasvg render of rect
lunasvg0.08 ms
RMSE 0.00
cairosvg render of rect
cairosvg6.51 ms
RMSE 0.00
thorvg render of rect
thorvg0.16 ms
RMSE 0.00
nanosvg render of rect
nanosvg2.04 ms
RMSE 1.57

tiger (320×320px)

complex path-heavy vector art

Chromium (ground truth) render of tiger
Chromium (ground truth)103.47 ms
reference
novasvg render of tiger
novasvg11.68 ms
RMSE 5.96
resvg render of tiger
resvg10.46 ms
RMSE 5.24
lunasvg render of tiger
lunasvg10.56 ms
RMSE 5.96
cairosvg render of tiger
cairosvg96.39 ms
RMSE 5.61
thorvg render of tiger
thorvg7.32 ms
RMSE 5.91
nanosvg render of tiger
nanosvg15.30 ms
RMSE 11.48

clip-mask (320×160px)

clip-path + luminance mask

Chromium (ground truth) render of clip-mask
Chromium (ground truth)71.98 ms
reference
novasvg render of clip-mask
novasvg0.53 ms
RMSE 4.35
resvg render of clip-mask
resvg1.50 ms
RMSE 6.26
lunasvg render of clip-mask
lunasvg0.49 ms
RMSE 4.35
cairosvg render of clip-mask
cairosvg5.15 ms
RMSE 97.46
thorvg render of clip-mask
thorvg0.38 ms
RMSE 4.17
nanosvg render of clip-mask
nanosvg1.39 ms
RMSE 118.00

gradient-filter (320×160px)

gradients + SVG filter

Chromium (ground truth) render of gradient-filter
Chromium (ground truth)87.61 ms
reference
novasvg render of gradient-filter
novasvg2.84 ms
RMSE 8.17
resvg render of gradient-filter
resvg23.26 ms
RMSE 13.36
lunasvg render of gradient-filter
lunasvg0.18 ms
RMSE 42.82
cairosvg render of gradient-filter
cairosvg7.31 ms
RMSE 42.84
thorvg render of gradient-filter
thorvg0.59 ms
RMSE 15.63
nanosvg render of gradient-filter
nanosvg1.50 ms
RMSE 49.63

filter-primitives (320×120px)

chained filter primitives (blur/offset/flood/composite)

Chromium (ground truth) render of filter-primitives
Chromium (ground truth)82.73 ms
reference
novasvg render of filter-primitives
novasvg2.03 ms
RMSE 2.41
resvg render of filter-primitives
resvg14.32 ms
RMSE 2.07
lunasvg render of filter-primitives
lunasvg0.04 ms
RMSE 9.07
cairosvg render of filter-primitives
cairosvg6.43 ms
RMSE 36.92
thorvg render of filter-primitives
thorvg0.31 ms
RMSE 38.92
nanosvg render of filter-primitives
nanosvg0.44 ms
RMSE 17.48

css-use-symbol (320×160px)

CSS transform + <use>/<symbol>

Chromium (ground truth) render of css-use-symbol
Chromium (ground truth)64.05 ms
reference
novasvg render of css-use-symbol
novasvg0.31 ms
RMSE 1.54
resvg render of css-use-symbol
resvg0.63 ms
RMSE 26.32
lunasvg render of css-use-symbol
lunasvg0.23 ms
RMSE 26.36
cairosvg render of css-use-symbol
cairosvg10.25 ms
RMSE 26.35
thorvg render of css-use-symbol
thorvg0.14 ms
RMSE 26.33
nanosvg render of css-use-symbol
nanosvg0.38 ms
RMSE 69.54

base64-image (320×160px)

embedded raster <image>

Chromium (ground truth) render of base64-image
Chromium (ground truth)81.56 ms
reference
novasvg render of base64-image
novasvg0.84 ms
RMSE 24.61
resvg render of base64-image
resvg2.43 ms
RMSE 18.98
lunasvg render of base64-image
lunasvg0.91 ms
RMSE 24.67
cairosvg render of base64-image
cairosvg5.83 ms
RMSE 28.86
thorvg render of base64-image
thorvg0.05 ms
RMSE 93.30
nanosvg render of base64-image
nanosvg0.80 ms
RMSE 93.30

mermaid-flowchart (273×320px)

<foreignObject> text, CSS classDef fills

Chromium (ground truth) render of mermaid-flowchart
Chromium (ground truth)106.59 ms
reference
novasvg render of mermaid-flowchart
novasvg1.35 ms
RMSE 11.72
resvg render of mermaid-flowchart
resvg1.65 ms
RMSE 23.90
lunasvg render of mermaid-flowchart
lunasvg0.87 ms
RMSE 25.25
cairosvg render of mermaid-flowchart
cairosvg34.92 ms
RMSE 25.32
thorvg render of mermaid-flowchart
thorvg0.40 ms
RMSE 39.77
nanosvg render of mermaid-flowchart
nanosvg1.57 ms
RMSE 31.11

embedded-font (320×80px)

plain <text>, @font-face embedded TTF/OTF

Chromium (ground truth) render of embedded-font
Chromium (ground truth)124.44 ms
reference
novasvg render of embedded-font
novasvg4.10 ms
RMSE 37.41
resvg render of embedded-font
resvg3.52 ms
RMSE 39.28
lunasvg render of embedded-font
lunasvg3.98 ms
RMSE 44.29
cairosvg render of embedded-font
cairosvg180.91 ms
RMSE 45.96
thorvg render of embedded-font
thorvg0.26 ms
RMSE 39.28
nanosvg render of embedded-font
nanosvg1.20 ms
RMSE 39.28

embedded-font-distinctive (320×112px)

embedded monospace font vs. an unresolvable family, side by side

Chromium (ground truth) render of embedded-font-distinctive
Chromium (ground truth)100.67 ms
reference
novasvg render of embedded-font-distinctive
novasvg6.05 ms
RMSE 55.83
resvg render of embedded-font-distinctive
resvg2.92 ms
RMSE 48.42
lunasvg render of embedded-font-distinctive
lunasvg4.13 ms
RMSE 58.28
cairosvg render of embedded-font-distinctive
cairosvg145.73 ms
RMSE 58.52
thorvg render of embedded-font-distinctive
thorvg0.21 ms
RMSE 48.42
nanosvg render of embedded-font-distinctive
nanosvg1.40 ms
RMSE 48.42

mermaid-01-venn (320×180px)

mermaid venn-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-01-venn
Chromium (ground truth)69.69 ms
reference
novasvg render of mermaid-01-venn
novasvg1.92 ms
RMSE 6.99
resvg render of mermaid-01-venn
resvg1.11 ms
RMSE 16.28
lunasvg render of mermaid-01-venn
lunasvg0.97 ms
RMSE 198.51
cairosvg render of mermaid-01-venn
cairosvg20.57 ms
RMSE 198.39
thorvg render of mermaid-01-venn
thorvg0.44 ms
RMSE 198.80
nanosvg render of mermaid-01-venn
nanosvg1.35 ms
RMSE 207.54

mermaid-02-flowchart (320×129px)

mermaid graph diagram (mmdc render)

Chromium (ground truth) render of mermaid-02-flowchart
Chromium (ground truth)65.44 ms
reference
novasvg render of mermaid-02-flowchart
novasvg3.56 ms
RMSE 4.99
resvg render of mermaid-02-flowchart
resvg2.53 ms
RMSE 8.57
lunasvg render of mermaid-02-flowchart
lunasvg1.34 ms
RMSE 201.84
cairosvg render of mermaid-02-flowchart
cairosvg41.52 ms
RMSE 202.10
thorvg render of mermaid-02-flowchart
thorvg0.60 ms
RMSE 231.28
nanosvg render of mermaid-02-flowchart
nanosvg2.02 ms
RMSE 198.78

mermaid-03-block (320×154px)

mermaid block diagram (mmdc render)

Chromium (ground truth) render of mermaid-03-block
Chromium (ground truth)82.94 ms
reference
novasvg render of mermaid-03-block
novasvg1.33 ms
RMSE 3.77
resvg render of mermaid-03-block
resvg1.22 ms
RMSE 8.48
lunasvg render of mermaid-03-block
lunasvg0.89 ms
RMSE 203.35
cairosvg render of mermaid-03-block
cairosvg23.69 ms
RMSE 203.35
thorvg render of mermaid-03-block
thorvg0.26 ms
RMSE 235.74
nanosvg render of mermaid-03-block
nanosvg1.18 ms
RMSE 201.19

mermaid-04-simple-flowchart (315×320px)

mermaid graph diagram (mmdc render)

Chromium (ground truth) render of mermaid-04-simple-flowchart
Chromium (ground truth)72.70 ms
reference
novasvg render of mermaid-04-simple-flowchart
novasvg1.87 ms
RMSE 17.03
resvg render of mermaid-04-simple-flowchart
resvg1.96 ms
RMSE 24.29
lunasvg render of mermaid-04-simple-flowchart
lunasvg1.14 ms
RMSE 24.59
cairosvg render of mermaid-04-simple-flowchart
cairosvg31.52 ms
RMSE 24.64
thorvg render of mermaid-04-simple-flowchart
thorvg0.33 ms
RMSE 103.14
nanosvg render of mermaid-04-simple-flowchart
nanosvg1.76 ms
RMSE 29.35

mermaid-05-data-flow (320×57px)

mermaid graph diagram (mmdc render)

Chromium (ground truth) render of mermaid-05-data-flow
Chromium (ground truth)76.89 ms
reference
novasvg render of mermaid-05-data-flow
novasvg1.92 ms
RMSE 20.95
resvg render of mermaid-05-data-flow
resvg2.34 ms
RMSE 28.19
lunasvg render of mermaid-05-data-flow
lunasvg2.48 ms
RMSE 19.02
cairosvg render of mermaid-05-data-flow
cairosvg34.80 ms
RMSE 19.42
thorvg render of mermaid-05-data-flow
thorvg0.71 ms
RMSE 115.38
nanosvg render of mermaid-05-data-flow
nanosvg1.47 ms
RMSE 34.38

mermaid-06-simple-sequence (320×181px)

mermaid sequenceDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-06-simple-sequence
Chromium (ground truth)71.82 ms
reference
novasvg render of mermaid-06-simple-sequence
novasvg1.11 ms
RMSE 11.37
resvg render of mermaid-06-simple-sequence
resvg1.58 ms
RMSE 19.77
lunasvg render of mermaid-06-simple-sequence
lunasvg1.60 ms
RMSE 17.82
cairosvg render of mermaid-06-simple-sequence
cairosvg26.34 ms
RMSE 19.40
thorvg render of mermaid-06-simple-sequence
thorvg0.32 ms
RMSE 24.96
nanosvg render of mermaid-06-simple-sequence
nanosvg1.11 ms
RMSE 25.18

mermaid-07-simple-state (254×320px)

mermaid stateDiagram-v2 diagram (mmdc render)

Chromium (ground truth) render of mermaid-07-simple-state
Chromium (ground truth)98.29 ms
reference
novasvg render of mermaid-07-simple-state
novasvg1.39 ms
RMSE 23.09
resvg render of mermaid-07-simple-state
resvg2.60 ms
RMSE 54.13
lunasvg render of mermaid-07-simple-state
lunasvg1.42 ms
RMSE 54.05
cairosvg render of mermaid-07-simple-state
cairosvg33.25 ms
RMSE 54.15
thorvg render of mermaid-07-simple-state
thorvg0.40 ms
RMSE 69.62
nanosvg render of mermaid-07-simple-state
nanosvg1.21 ms
RMSE 55.41

mermaid-08-simple-mindmap (320×245px)

mermaid mindmap diagram (mmdc render)

Chromium (ground truth) render of mermaid-08-simple-mindmap
Chromium (ground truth)85.49 ms
reference
novasvg render of mermaid-08-simple-mindmap
novasvg1.40 ms
RMSE 14.06
resvg render of mermaid-08-simple-mindmap
resvg6.29 ms
RMSE 13.36
lunasvg render of mermaid-08-simple-mindmap
lunasvg1.80 ms
RMSE 14.68
cairosvg render of mermaid-08-simple-mindmap
cairosvg78.42 ms
RMSE 66.61
thorvg render of mermaid-08-simple-mindmap
thorvg0.49 ms
RMSE 68.43
nanosvg render of mermaid-08-simple-mindmap
nanosvg1.94 ms
RMSE 38.29

mermaid-09-complex-sequence (278×320px)

mermaid sequenceDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-09-complex-sequence
Chromium (ground truth)103.87 ms
reference
novasvg render of mermaid-09-complex-sequence
novasvg2.07 ms
RMSE 12.50
resvg render of mermaid-09-complex-sequence
resvg2.75 ms
RMSE 17.03
lunasvg render of mermaid-09-complex-sequence
lunasvg1.92 ms
RMSE 17.35
cairosvg render of mermaid-09-complex-sequence
cairosvg36.82 ms
RMSE 41.80
thorvg render of mermaid-09-complex-sequence
thorvg0.50 ms
RMSE 37.85
nanosvg render of mermaid-09-complex-sequence
nanosvg1.99 ms
RMSE 33.76

mermaid-10-complex-erd (110×320px)

mermaid erDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-10-complex-erd
Chromium (ground truth)92.41 ms
reference
novasvg render of mermaid-10-complex-erd
novasvg2.18 ms
RMSE 23.99
resvg render of mermaid-10-complex-erd
resvg4.07 ms
RMSE 27.65
lunasvg render of mermaid-10-complex-erd
lunasvg1.17 ms
RMSE 29.44
cairosvg render of mermaid-10-complex-erd
cairosvg52.43 ms
RMSE 146.83
thorvg render of mermaid-10-complex-erd
thorvg0.89 ms
RMSE 31.97
nanosvg render of mermaid-10-complex-erd
nanosvg2.26 ms
RMSE 77.06

mermaid-11-flowchart-multiline-entities (164×320px)

mermaid graph diagram (mmdc render)

Chromium (ground truth) render of mermaid-11-flowchart-multiline-entities
Chromium (ground truth)82.37 ms
reference
novasvg render of mermaid-11-flowchart-multiline-entities
novasvg2.56 ms
RMSE 14.34
resvg render of mermaid-11-flowchart-multiline-entities
resvg3.05 ms
RMSE 16.99
lunasvg render of mermaid-11-flowchart-multiline-entities
lunasvg1.91 ms
RMSE 18.26
cairosvg render of mermaid-11-flowchart-multiline-entities
cairosvg51.27 ms
RMSE 17.67
thorvg render of mermaid-11-flowchart-multiline-entities
thorvg0.88 ms
RMSE 86.42
nanosvg render of mermaid-11-flowchart-multiline-entities
nanosvg2.14 ms
RMSE 24.54

mermaid-12-flowchart-subgraphs (320×79px)

mermaid flowchart diagram (mmdc render)

Chromium (ground truth) render of mermaid-12-flowchart-subgraphs
Chromium (ground truth)85.18 ms
reference
novasvg render of mermaid-12-flowchart-subgraphs
novasvg1.22 ms
RMSE 16.44
resvg render of mermaid-12-flowchart-subgraphs
resvg1.82 ms
RMSE 16.18
lunasvg render of mermaid-12-flowchart-subgraphs
lunasvg0.75 ms
RMSE 44.03
cairosvg render of mermaid-12-flowchart-subgraphs
cairosvg37.98 ms
RMSE 11.72
thorvg render of mermaid-12-flowchart-subgraphs
thorvg0.35 ms
RMSE 149.67
nanosvg render of mermaid-12-flowchart-subgraphs
nanosvg1.10 ms
RMSE 34.25

mermaid-13-flowchart-long-label (188×320px)

mermaid graph diagram (mmdc render)

Chromium (ground truth) render of mermaid-13-flowchart-long-label
Chromium (ground truth)100.48 ms
reference
novasvg render of mermaid-13-flowchart-long-label
novasvg2.53 ms
RMSE 32.76
resvg render of mermaid-13-flowchart-long-label
resvg1.52 ms
RMSE 30.09
lunasvg render of mermaid-13-flowchart-long-label
lunasvg0.85 ms
RMSE 25.82
cairosvg render of mermaid-13-flowchart-long-label
cairosvg30.00 ms
RMSE 25.82
thorvg render of mermaid-13-flowchart-long-label
thorvg0.23 ms
RMSE 163.36
nanosvg render of mermaid-13-flowchart-long-label
nanosvg1.63 ms
RMSE 34.81

mermaid-14-class-diagram (222×320px)

mermaid classDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-14-class-diagram
Chromium (ground truth)87.11 ms
reference
novasvg render of mermaid-14-class-diagram
novasvg1.90 ms
RMSE 29.14
resvg render of mermaid-14-class-diagram
resvg3.15 ms
RMSE 28.49
lunasvg render of mermaid-14-class-diagram
lunasvg1.68 ms
RMSE 29.46
cairosvg render of mermaid-14-class-diagram
cairosvg42.72 ms
RMSE 29.63
thorvg render of mermaid-14-class-diagram
thorvg0.51 ms
RMSE 30.89
nanosvg render of mermaid-14-class-diagram
nanosvg1.65 ms
RMSE 34.60

mermaid-15-pie-chart (320×231px)

mermaid pie diagram (mmdc render)

Chromium (ground truth) render of mermaid-15-pie-chart
Chromium (ground truth)79.23 ms
reference
novasvg render of mermaid-15-pie-chart
novasvg1.38 ms
RMSE 3.65
resvg render of mermaid-15-pie-chart
resvg1.86 ms
RMSE 11.41
lunasvg render of mermaid-15-pie-chart
lunasvg1.70 ms
RMSE 10.87
cairosvg render of mermaid-15-pie-chart
cairosvg21.07 ms
RMSE 50.31
thorvg render of mermaid-15-pie-chart
thorvg0.30 ms
RMSE 29.01
nanosvg render of mermaid-15-pie-chart
nanosvg1.69 ms
RMSE 28.48

mermaid-16-gantt (320×63px)

mermaid gantt diagram (mmdc render)

Chromium (ground truth) render of mermaid-16-gantt
Chromium (ground truth)80.68 ms
reference
novasvg render of mermaid-16-gantt
novasvg1.57 ms
RMSE 19.85
resvg render of mermaid-16-gantt
resvg2.12 ms
RMSE 22.24
lunasvg render of mermaid-16-gantt
lunasvg2.22 ms
RMSE 20.20
cairosvg render of mermaid-16-gantt
cairosvg57.24 ms
RMSE 20.20
thorvg render of mermaid-16-gantt
thorvg0.35 ms
RMSE 143.40
nanosvg render of mermaid-16-gantt
nanosvg0.84 ms
RMSE 38.61

mermaid-17-journey (320×157px)

mermaid journey diagram (mmdc render)

Chromium (ground truth) render of mermaid-17-journey
Chromium (ground truth)69.45 ms
reference
novasvg render of mermaid-17-journey
novasvg4.67 ms
RMSE 55.06
resvg render of mermaid-17-journey
resvg1.83 ms
RMSE 39.94
lunasvg render of mermaid-17-journey
lunasvg2.78 ms
RMSE 55.15
cairosvg render of mermaid-17-journey
cairosvg28.54 ms
RMSE 13.83
thorvg render of mermaid-17-journey
thorvg0.63 ms
RMSE 60.34
nanosvg render of mermaid-17-journey
nanosvg2.44 ms
RMSE 22.26

mermaid-18-timeline (320×172px)

mermaid timeline diagram (mmdc render)

Chromium (ground truth) render of mermaid-18-timeline
Chromium (ground truth)85.41 ms
reference
novasvg render of mermaid-18-timeline
novasvg2.45 ms
RMSE 14.25
resvg render of mermaid-18-timeline
resvg3.50 ms
RMSE 10.59
lunasvg render of mermaid-18-timeline
lunasvg1.81 ms
RMSE 15.10
cairosvg render of mermaid-18-timeline
cairosvg57.34 ms
RMSE 77.11
thorvg render of mermaid-18-timeline
thorvg0.38 ms
RMSE 77.58
nanosvg render of mermaid-18-timeline
nanosvg1.08 ms
RMSE 40.81

mermaid-19-sequence-notes-activation (320×227px)

mermaid sequenceDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-19-sequence-notes-activation
Chromium (ground truth)81.12 ms
reference
novasvg render of mermaid-19-sequence-notes-activation
novasvg1.63 ms
RMSE 10.75
resvg render of mermaid-19-sequence-notes-activation
resvg1.85 ms
RMSE 14.57
lunasvg render of mermaid-19-sequence-notes-activation
lunasvg2.25 ms
RMSE 15.29
cairosvg render of mermaid-19-sequence-notes-activation
cairosvg34.15 ms
RMSE 16.91
thorvg render of mermaid-19-sequence-notes-activation
thorvg0.46 ms
RMSE 21.89
nanosvg render of mermaid-19-sequence-notes-activation
nanosvg1.59 ms
RMSE 27.01

mermaid-20-state-composite (56×320px)

mermaid stateDiagram-v2 diagram (mmdc render)

Chromium (ground truth) render of mermaid-20-state-composite
Chromium (ground truth)64.48 ms
reference
novasvg render of mermaid-20-state-composite
novasvg2.11 ms
RMSE 17.88
resvg render of mermaid-20-state-composite
resvg2.85 ms
RMSE 30.51
lunasvg render of mermaid-20-state-composite
lunasvg2.47 ms
RMSE 30.31
cairosvg render of mermaid-20-state-composite
cairosvg44.84 ms
RMSE 30.25
thorvg render of mermaid-20-state-composite
thorvg0.69 ms
RMSE 164.88
nanosvg render of mermaid-20-state-composite
nanosvg2.05 ms
RMSE 44.19

mermaid-21-flowchart-shapes-styles (74×320px)

mermaid flowchart diagram (mmdc render)

Chromium (ground truth) render of mermaid-21-flowchart-shapes-styles
Chromium (ground truth)68.85 ms
reference
novasvg render of mermaid-21-flowchart-shapes-styles
novasvg4.20 ms
RMSE 19.80
resvg render of mermaid-21-flowchart-shapes-styles
resvg3.62 ms
RMSE 23.54
lunasvg render of mermaid-21-flowchart-shapes-styles
lunasvg3.97 ms
RMSE 42.16
cairosvg render of mermaid-21-flowchart-shapes-styles
cairosvg61.17 ms
RMSE 23.74
thorvg render of mermaid-21-flowchart-shapes-styles
thorvg1.11 ms
RMSE 66.63
nanosvg render of mermaid-21-flowchart-shapes-styles
nanosvg2.78 ms
RMSE 35.80

mermaid-22-gitgraph (320×166px)

mermaid gitGraph diagram (mmdc render)

Chromium (ground truth) render of mermaid-22-gitgraph
Chromium (ground truth)83.52 ms
reference
novasvg render of mermaid-22-gitgraph
novasvg2.08 ms
RMSE 11.62
resvg render of mermaid-22-gitgraph
resvg3.17 ms
RMSE 18.15
lunasvg render of mermaid-22-gitgraph
lunasvg2.12 ms
RMSE 16.51
cairosvg render of mermaid-22-gitgraph
cairosvg38.52 ms
RMSE 46.90
thorvg render of mermaid-22-gitgraph
thorvg0.40 ms
RMSE 70.72
nanosvg render of mermaid-22-gitgraph
nanosvg2.18 ms
RMSE 53.80

mermaid-23-quadrant-chart (320×320px)

mermaid quadrantChart diagram (mmdc render)

Chromium (ground truth) render of mermaid-23-quadrant-chart
Chromium (ground truth)86.11 ms
reference
novasvg render of mermaid-23-quadrant-chart
novasvg2.32 ms
RMSE 11.10
resvg render of mermaid-23-quadrant-chart
resvg1.32 ms
RMSE 19.78
lunasvg render of mermaid-23-quadrant-chart
lunasvg1.80 ms
RMSE 21.32
cairosvg render of mermaid-23-quadrant-chart
cairosvg30.84 ms
RMSE 24.45
thorvg render of mermaid-23-quadrant-chart
thorvg0.37 ms
RMSE 19.80
nanosvg render of mermaid-23-quadrant-chart
nanosvg1.99 ms
RMSE 27.93

mermaid-24-xychart (320×229px)

mermaid xychart-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-24-xychart
Chromium (ground truth)96.67 ms
reference
novasvg render of mermaid-24-xychart
novasvg1.33 ms
RMSE 8.54
resvg render of mermaid-24-xychart
resvg1.55 ms
RMSE 15.18
lunasvg render of mermaid-24-xychart
lunasvg1.13 ms
RMSE 13.86
cairosvg render of mermaid-24-xychart
cairosvg34.65 ms
RMSE 12.49
thorvg render of mermaid-24-xychart
thorvg0.42 ms
RMSE 15.31
nanosvg render of mermaid-24-xychart
nanosvg2.15 ms
RMSE 15.58

mermaid-25-sankey (320×216px)

mermaid sankey-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-25-sankey
Chromium (ground truth)97.26 ms
reference
novasvg render of mermaid-25-sankey
novasvg5.44 ms
RMSE 12.37
resvg render of mermaid-25-sankey
resvg3.31 ms
RMSE 16.30
lunasvg render of mermaid-25-sankey
lunasvg1.77 ms
RMSE 15.62
cairosvg render of mermaid-25-sankey
cairosvg34.33 ms
RMSE 12.93
thorvg render of mermaid-25-sankey
thorvg2.09 ms
RMSE 73.44
nanosvg render of mermaid-25-sankey
nanosvg2.08 ms
RMSE 57.63

mermaid-26-block (320×276px)

mermaid block-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-26-block
Chromium (ground truth)91.17 ms
reference
novasvg render of mermaid-26-block
novasvg1.63 ms
RMSE 21.34
resvg render of mermaid-26-block
resvg2.15 ms
RMSE 18.26
lunasvg render of mermaid-26-block
lunasvg0.94 ms
RMSE 19.76
cairosvg render of mermaid-26-block
cairosvg27.92 ms
RMSE 19.76
thorvg render of mermaid-26-block
thorvg0.34 ms
RMSE 161.15
nanosvg render of mermaid-26-block
nanosvg3.05 ms
RMSE 31.50

mermaid-27-c4-context (176×320px)

mermaid C4Context diagram (mmdc render)

Chromium (ground truth) render of mermaid-27-c4-context
Chromium (ground truth)113.54 ms
reference
novasvg render of mermaid-27-c4-context
novasvg4.01 ms
RMSE 13.20
resvg render of mermaid-27-c4-context
resvg2.06 ms
RMSE 21.15
lunasvg render of mermaid-27-c4-context
lunasvg3.14 ms
RMSE 13.25
cairosvg render of mermaid-27-c4-context
cairosvg54.32 ms
RMSE 13.43
thorvg render of mermaid-27-c4-context
thorvg0.98 ms
RMSE 13.48
nanosvg render of mermaid-27-c4-context
nanosvg2.30 ms
RMSE 18.10

mermaid-28-requirement (215×320px)

mermaid requirementDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-28-requirement
Chromium (ground truth)86.84 ms
reference
novasvg render of mermaid-28-requirement
novasvg2.57 ms
RMSE 24.92
resvg render of mermaid-28-requirement
resvg2.25 ms
RMSE 33.38
lunasvg render of mermaid-28-requirement
lunasvg0.75 ms
RMSE 34.99
cairosvg render of mermaid-28-requirement
cairosvg36.85 ms
RMSE 34.46
thorvg render of mermaid-28-requirement
thorvg0.47 ms
RMSE 35.91
nanosvg render of mermaid-28-requirement
nanosvg1.59 ms
RMSE 37.47

mermaid-29-kanban (320×81px)

mermaid kanban diagram (mmdc render)

Chromium (ground truth) render of mermaid-29-kanban
Chromium (ground truth)76.86 ms
reference
novasvg render of mermaid-29-kanban
novasvg3.75 ms
RMSE 29.34
resvg render of mermaid-29-kanban
resvg5.91 ms
RMSE 24.67
lunasvg render of mermaid-29-kanban
lunasvg1.49 ms
RMSE 28.69
cairosvg render of mermaid-29-kanban
cairosvg82.93 ms
RMSE 77.71
thorvg render of mermaid-29-kanban
thorvg0.42 ms
RMSE 151.54
nanosvg render of mermaid-29-kanban
nanosvg3.07 ms
RMSE 44.39

mermaid-30-architecture (309×320px)

mermaid architecture-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-30-architecture
Chromium (ground truth)69.65 ms
reference
novasvg render of mermaid-30-architecture
novasvg2.34 ms
RMSE 16.31
resvg render of mermaid-30-architecture
resvg2.59 ms
RMSE 8.60
lunasvg render of mermaid-30-architecture
lunasvg2.04 ms
RMSE 17.57
cairosvg render of mermaid-30-architecture
cairosvg37.12 ms
RMSE 22.85
thorvg render of mermaid-30-architecture
thorvg0.82 ms
RMSE 106.80
nanosvg render of mermaid-30-architecture
nanosvg3.01 ms
RMSE 69.34

mermaid-31-packet (320×132px)

mermaid packet-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-31-packet
Chromium (ground truth)64.68 ms
reference
novasvg render of mermaid-31-packet
novasvg1.55 ms
RMSE 5.35
resvg render of mermaid-31-packet
resvg1.08 ms
RMSE 12.94
lunasvg render of mermaid-31-packet
lunasvg1.15 ms
RMSE 7.69
cairosvg render of mermaid-31-packet
cairosvg33.84 ms
RMSE 7.26
thorvg render of mermaid-31-packet
thorvg0.29 ms
RMSE 155.08
nanosvg render of mermaid-31-packet
nanosvg1.15 ms
RMSE 38.15

mermaid-32-radar (320×320px)

mermaid radar-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-32-radar
Chromium (ground truth)82.13 ms
reference
novasvg render of mermaid-32-radar
novasvg2.25 ms
RMSE 7.41
resvg render of mermaid-32-radar
resvg4.27 ms
RMSE 7.41
lunasvg render of mermaid-32-radar
lunasvg2.15 ms
RMSE 8.06
cairosvg render of mermaid-32-radar
cairosvg30.35 ms
RMSE 114.97
thorvg render of mermaid-32-radar
thorvg0.59 ms
RMSE 142.58
nanosvg render of mermaid-32-radar
nanosvg6.86 ms
RMSE 39.40

mermaid-33-treemap (320×119px)

mermaid treemap-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-33-treemap
Chromium (ground truth)98.39 ms
reference
novasvg render of mermaid-33-treemap
novasvg0.97 ms
RMSE 7.21
resvg render of mermaid-33-treemap
resvg1.52 ms
RMSE 16.29
lunasvg render of mermaid-33-treemap
lunasvg0.77 ms
RMSE 29.10
cairosvg render of mermaid-33-treemap
cairosvg24.49 ms
RMSE 159.09
thorvg render of mermaid-33-treemap
thorvg0.37 ms
RMSE 16.70
nanosvg render of mermaid-33-treemap
nanosvg3.12 ms
RMSE 145.85

mermaid-34-venn (320×180px)

mermaid venn-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-34-venn
Chromium (ground truth)84.88 ms
reference
novasvg render of mermaid-34-venn
novasvg1.08 ms
RMSE 11.15
resvg render of mermaid-34-venn
resvg1.38 ms
RMSE 15.62
lunasvg render of mermaid-34-venn
lunasvg0.93 ms
RMSE 17.41
cairosvg render of mermaid-34-venn
cairosvg23.73 ms
RMSE 19.94
thorvg render of mermaid-34-venn
thorvg0.44 ms
RMSE 17.41
nanosvg render of mermaid-34-venn
nanosvg1.98 ms
RMSE 22.14

mermaid-35-ishikawa (277×320px)

mermaid ishikawa-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-35-ishikawa
Chromium (ground truth)89.25 ms
reference
novasvg render of mermaid-35-ishikawa
novasvg2.03 ms
RMSE 9.95
resvg render of mermaid-35-ishikawa
resvg1.99 ms
RMSE 18.38
lunasvg render of mermaid-35-ishikawa
lunasvg1.77 ms
RMSE 18.08
cairosvg render of mermaid-35-ishikawa
cairosvg46.67 ms
RMSE 21.54
thorvg render of mermaid-35-ishikawa
thorvg0.38 ms
RMSE 48.69
nanosvg render of mermaid-35-ishikawa
nanosvg1.85 ms
RMSE 20.82

mermaid-36-wardley (320×233px)

mermaid wardley-beta diagram (mmdc render)

Chromium (ground truth) render of mermaid-36-wardley
Chromium (ground truth)116.71 ms
reference
novasvg render of mermaid-36-wardley
novasvg1.16 ms
RMSE 5.19
resvg render of mermaid-36-wardley
resvg1.09 ms
RMSE 4.77
lunasvg render of mermaid-36-wardley
lunasvg0.95 ms
RMSE 5.20
cairosvg render of mermaid-36-wardley
cairosvg29.87 ms
RMSE 5.25
thorvg render of mermaid-36-wardley
thorvg0.53 ms
RMSE 4.97
nanosvg render of mermaid-36-wardley
nanosvg3.17 ms
RMSE 5.65

mermaid-37-state-fork-choice (145×320px)

mermaid stateDiagram-v2 diagram (mmdc render)

Chromium (ground truth) render of mermaid-37-state-fork-choice
Chromium (ground truth)78.51 ms
reference
novasvg render of mermaid-37-state-fork-choice
novasvg2.58 ms
RMSE 13.23
resvg render of mermaid-37-state-fork-choice
resvg3.63 ms
RMSE 17.19
lunasvg render of mermaid-37-state-fork-choice
lunasvg2.49 ms
RMSE 18.98
cairosvg render of mermaid-37-state-fork-choice
cairosvg67.28 ms
RMSE 19.08
thorvg render of mermaid-37-state-fork-choice
thorvg0.83 ms
RMSE 129.16
nanosvg render of mermaid-37-state-fork-choice
nanosvg2.87 ms
RMSE 23.99

mermaid-38-sequence-control (197×320px)

mermaid sequenceDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-38-sequence-control
Chromium (ground truth)82.18 ms
reference
novasvg render of mermaid-38-sequence-control
novasvg4.09 ms
RMSE 17.39
resvg render of mermaid-38-sequence-control
resvg4.82 ms
RMSE 20.54
lunasvg render of mermaid-38-sequence-control
lunasvg5.19 ms
RMSE 17.80
cairosvg render of mermaid-38-sequence-control
cairosvg70.86 ms
RMSE 37.09
thorvg render of mermaid-38-sequence-control
thorvg0.94 ms
RMSE 35.95
nanosvg render of mermaid-38-sequence-control
nanosvg4.82 ms
RMSE 73.36

mermaid-39-gantt-advanced (320×93px)

mermaid gantt diagram (mmdc render)

Chromium (ground truth) render of mermaid-39-gantt-advanced
Chromium (ground truth)66.61 ms
reference
novasvg render of mermaid-39-gantt-advanced
novasvg1.89 ms
RMSE 21.93
resvg render of mermaid-39-gantt-advanced
resvg2.65 ms
RMSE 27.09
lunasvg render of mermaid-39-gantt-advanced
lunasvg2.74 ms
RMSE 21.33
cairosvg render of mermaid-39-gantt-advanced
cairosvg46.18 ms
RMSE 20.95
thorvg render of mermaid-39-gantt-advanced
thorvg0.48 ms
RMSE 162.56
nanosvg render of mermaid-39-gantt-advanced
nanosvg1.42 ms
RMSE 43.48

mermaid-40-erd-relations (320×245px)

mermaid erDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-40-erd-relations
Chromium (ground truth)72.64 ms
reference
novasvg render of mermaid-40-erd-relations
novasvg2.95 ms
RMSE 13.27
resvg render of mermaid-40-erd-relations
resvg4.41 ms
RMSE 18.22
lunasvg render of mermaid-40-erd-relations
lunasvg3.16 ms
RMSE 18.95
cairosvg render of mermaid-40-erd-relations
cairosvg61.56 ms
RMSE 90.43
thorvg render of mermaid-40-erd-relations
thorvg1.11 ms
RMSE 42.56
nanosvg render of mermaid-40-erd-relations
nanosvg2.64 ms
RMSE 48.35

mermaid-41-class-advanced (320×118px)

mermaid classDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-41-class-advanced
Chromium (ground truth)87.54 ms
reference
novasvg render of mermaid-41-class-advanced
novasvg2.66 ms
RMSE 28.22
resvg render of mermaid-41-class-advanced
resvg3.66 ms
RMSE 29.19
lunasvg render of mermaid-41-class-advanced
lunasvg2.43 ms
RMSE 35.81
cairosvg render of mermaid-41-class-advanced
cairosvg73.79 ms
RMSE 31.17
thorvg render of mermaid-41-class-advanced
thorvg0.74 ms
RMSE 32.09
nanosvg render of mermaid-41-class-advanced
nanosvg1.35 ms
RMSE 36.25

mermaid-42-mindmap-shapes (320×214px)

mermaid mindmap diagram (mmdc render)

Chromium (ground truth) render of mermaid-42-mindmap-shapes
Chromium (ground truth)80.26 ms
reference
novasvg render of mermaid-42-mindmap-shapes
novasvg3.00 ms
RMSE 16.44
resvg render of mermaid-42-mindmap-shapes
resvg8.75 ms
RMSE 18.66
lunasvg render of mermaid-42-mindmap-shapes
lunasvg3.01 ms
RMSE 16.71
cairosvg render of mermaid-42-mindmap-shapes
cairosvg106.50 ms
RMSE 84.69
thorvg render of mermaid-42-mindmap-shapes
thorvg0.93 ms
RMSE 85.65
nanosvg render of mermaid-42-mindmap-shapes
nanosvg3.09 ms
RMSE 47.61

mermaid-43-timeline-sections (320×131px)

mermaid timeline diagram (mmdc render)

Chromium (ground truth) render of mermaid-43-timeline-sections
Chromium (ground truth)90.49 ms
reference
novasvg render of mermaid-43-timeline-sections
novasvg1.66 ms
RMSE 18.13
resvg render of mermaid-43-timeline-sections
resvg6.89 ms
RMSE 12.97
lunasvg render of mermaid-43-timeline-sections
lunasvg2.72 ms
RMSE 18.54
cairosvg render of mermaid-43-timeline-sections
cairosvg75.28 ms
RMSE 90.62
thorvg render of mermaid-43-timeline-sections
thorvg0.53 ms
RMSE 91.29
nanosvg render of mermaid-43-timeline-sections
nanosvg1.34 ms
RMSE 47.61

mermaid-44-pie-basic (320×252px)

mermaid pie diagram (mmdc render)

Chromium (ground truth) render of mermaid-44-pie-basic
Chromium (ground truth)70.96 ms
reference
novasvg render of mermaid-44-pie-basic
novasvg1.66 ms
RMSE 5.47
resvg render of mermaid-44-pie-basic
resvg2.48 ms
RMSE 11.75
lunasvg render of mermaid-44-pie-basic
lunasvg2.61 ms
RMSE 11.37
cairosvg render of mermaid-44-pie-basic
cairosvg22.32 ms
RMSE 37.63
thorvg render of mermaid-44-pie-basic
thorvg0.36 ms
RMSE 31.44
nanosvg render of mermaid-44-pie-basic
nanosvg1.81 ms
RMSE 20.67

mermaid-45-flowchart-markdown-labels (320×85px)

mermaid flowchart diagram (mmdc render)

Chromium (ground truth) render of mermaid-45-flowchart-markdown-labels
Chromium (ground truth)66.12 ms
reference
novasvg render of mermaid-45-flowchart-markdown-labels
novasvg1.52 ms
RMSE 18.67
resvg render of mermaid-45-flowchart-markdown-labels
resvg3.07 ms
RMSE 30.35
lunasvg render of mermaid-45-flowchart-markdown-labels
lunasvg1.14 ms
RMSE 25.39
cairosvg render of mermaid-45-flowchart-markdown-labels
cairosvg30.54 ms
RMSE 23.80
thorvg render of mermaid-45-flowchart-markdown-labels
thorvg0.32 ms
RMSE 131.55
nanosvg render of mermaid-45-flowchart-markdown-labels
nanosvg0.97 ms
RMSE 37.84

mermaid-46-sequence-actors-misc (320×254px)

mermaid sequenceDiagram diagram (mmdc render)

Chromium (ground truth) render of mermaid-46-sequence-actors-misc
Chromium (ground truth)67.24 ms
reference
novasvg render of mermaid-46-sequence-actors-misc
novasvg1.74 ms
RMSE 7.57
resvg render of mermaid-46-sequence-actors-misc
resvg4.35 ms
RMSE 8.09
lunasvg render of mermaid-46-sequence-actors-misc
lunasvg1.61 ms
RMSE 9.08
cairosvg render of mermaid-46-sequence-actors-misc
cairosvg37.68 ms
RMSE 12.03
thorvg render of mermaid-46-sequence-actors-misc
thorvg0.71 ms
RMSE 47.07
nanosvg render of mermaid-46-sequence-actors-misc
nanosvg1.49 ms
RMSE 48.48

mermaid-47-flowchart-br-bold-label (320×243px)

mermaid flowchart diagram (mmdc render)

Chromium (ground truth) render of mermaid-47-flowchart-br-bold-label
Chromium (ground truth)64.36 ms
reference
novasvg render of mermaid-47-flowchart-br-bold-label
novasvg0.66 ms
RMSE 15.24
resvg render of mermaid-47-flowchart-br-bold-label
resvg2.67 ms
RMSE 27.70
lunasvg render of mermaid-47-flowchart-br-bold-label
lunasvg0.36 ms
RMSE 27.73
cairosvg render of mermaid-47-flowchart-br-bold-label
cairosvg23.95 ms
RMSE 27.66
thorvg render of mermaid-47-flowchart-br-bold-label
thorvg0.23 ms
RMSE 175.97
nanosvg render of mermaid-47-flowchart-br-bold-label
nanosvg1.95 ms
RMSE 34.31

mermaid-48-flowchart-bold-italic-runs (320×45px)

mermaid flowchart diagram (mmdc render)

Chromium (ground truth) render of mermaid-48-flowchart-bold-italic-runs
Chromium (ground truth)64.99 ms
reference
novasvg render of mermaid-48-flowchart-bold-italic-runs
novasvg1.32 ms
RMSE 16.97
resvg render of mermaid-48-flowchart-bold-italic-runs
resvg2.59 ms
RMSE 23.65
lunasvg render of mermaid-48-flowchart-bold-italic-runs
lunasvg0.52 ms
RMSE 23.01
cairosvg render of mermaid-48-flowchart-bold-italic-runs
cairosvg26.28 ms
RMSE 21.99
thorvg render of mermaid-48-flowchart-bold-italic-runs
thorvg0.27 ms
RMSE 152.20
nanosvg render of mermaid-48-flowchart-bold-italic-runs
nanosvg0.79 ms
RMSE 37.22