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-14 05:09 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/6064.12 ms3847.02 ms
novasvg0.9.060/602.38 ms142.80 ms
resvg0.45.160/602.42 ms145.12 ms
lunasvg3.5.060/601.31 ms78.57 ms
cairosvg2.9.160/6033.58 ms2014.68 ms
thorvg1.0.060/600.55 ms32.93 ms
nanosvggit-master (no version macro upstream)60/601.55 ms93.03 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)67.81 ms
reference
novasvg render of circle
novasvg0.35 ms
RMSE 1.81
resvg render of circle
resvg0.45 ms
RMSE 1.38
lunasvg render of circle
lunasvg0.35 ms
RMSE 1.81
cairosvg render of circle
cairosvg6.10 ms
RMSE 1.80
thorvg render of circle
thorvg0.32 ms
RMSE 1.62
nanosvg render of circle
nanosvg1.41 ms
RMSE 2.39

rect (320×320px)

plain shape

Chromium (ground truth) render of rect
Chromium (ground truth)46.85 ms
reference
novasvg render of rect
novasvg0.10 ms
RMSE 0.00
resvg render of rect
resvg0.11 ms
RMSE 0.00
lunasvg render of rect
lunasvg0.05 ms
RMSE 0.00
cairosvg render of rect
cairosvg4.90 ms
RMSE 0.00
thorvg render of rect
thorvg0.08 ms
RMSE 0.00
nanosvg render of rect
nanosvg1.63 ms
RMSE 1.57

tiger (320×320px)

complex path-heavy vector art

Chromium (ground truth) render of tiger
Chromium (ground truth)75.49 ms
reference
novasvg render of tiger
novasvg8.47 ms
RMSE 5.96
resvg render of tiger
resvg7.97 ms
RMSE 5.24
lunasvg render of tiger
lunasvg8.41 ms
RMSE 5.96
cairosvg render of tiger
cairosvg79.12 ms
RMSE 5.61
thorvg render of tiger
thorvg5.68 ms
RMSE 5.91
nanosvg render of tiger
nanosvg11.53 ms
RMSE 11.48

clip-mask (320×160px)

clip-path + luminance mask

Chromium (ground truth) render of clip-mask
Chromium (ground truth)41.92 ms
reference
novasvg render of clip-mask
novasvg0.32 ms
RMSE 4.35
resvg render of clip-mask
resvg1.19 ms
RMSE 6.26
lunasvg render of clip-mask
lunasvg0.32 ms
RMSE 4.35
cairosvg render of clip-mask
cairosvg3.80 ms
RMSE 97.46
thorvg render of clip-mask
thorvg0.29 ms
RMSE 4.17
nanosvg render of clip-mask
nanosvg0.67 ms
RMSE 118.00

gradient-filter (320×160px)

gradients + SVG filter

Chromium (ground truth) render of gradient-filter
Chromium (ground truth)71.15 ms
reference
novasvg render of gradient-filter
novasvg7.48 ms
RMSE 8.17
resvg render of gradient-filter
resvg16.07 ms
RMSE 13.36
lunasvg render of gradient-filter
lunasvg0.16 ms
RMSE 42.82
cairosvg render of gradient-filter
cairosvg5.57 ms
RMSE 42.84
thorvg render of gradient-filter
thorvg0.44 ms
RMSE 15.63
nanosvg render of gradient-filter
nanosvg0.68 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)47.91 ms
reference
novasvg render of filter-primitives
novasvg3.39 ms
RMSE 2.41
resvg render of filter-primitives
resvg12.89 ms
RMSE 2.07
lunasvg render of filter-primitives
lunasvg0.03 ms
RMSE 9.07
cairosvg render of filter-primitives
cairosvg2.82 ms
RMSE 36.92
thorvg render of filter-primitives
thorvg0.26 ms
RMSE 38.92
nanosvg render of filter-primitives
nanosvg0.30 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.32 ms
reference
novasvg render of css-use-symbol
novasvg0.25 ms
RMSE 1.54
resvg render of css-use-symbol
resvg0.40 ms
RMSE 26.32
lunasvg render of css-use-symbol
lunasvg0.13 ms
RMSE 26.36
cairosvg render of css-use-symbol
cairosvg4.63 ms
RMSE 26.35
thorvg render of css-use-symbol
thorvg0.12 ms
RMSE 26.33
nanosvg render of css-use-symbol
nanosvg0.33 ms
RMSE 69.54

base64-image (320×160px)

embedded raster <image>

Chromium (ground truth) render of base64-image
Chromium (ground truth)67.94 ms
reference
novasvg render of base64-image
novasvg0.76 ms
RMSE 24.61
resvg render of base64-image
resvg1.97 ms
RMSE 18.98
lunasvg render of base64-image
lunasvg0.77 ms
RMSE 24.67
cairosvg render of base64-image
cairosvg4.68 ms
RMSE 28.86
thorvg render of base64-image
thorvg0.06 ms
RMSE 93.30
nanosvg render of base64-image
nanosvg0.63 ms
RMSE 93.30

mermaid-flowchart (273×320px)

<foreignObject> text, CSS classDef fills

Chromium (ground truth) render of mermaid-flowchart
Chromium (ground truth)88.77 ms
reference
novasvg render of mermaid-flowchart
novasvg1.30 ms
RMSE 11.72
resvg render of mermaid-flowchart
resvg1.17 ms
RMSE 23.90
lunasvg render of mermaid-flowchart
lunasvg0.64 ms
RMSE 25.25
cairosvg render of mermaid-flowchart
cairosvg27.13 ms
RMSE 25.32
thorvg render of mermaid-flowchart
thorvg0.44 ms
RMSE 39.77
nanosvg render of mermaid-flowchart
nanosvg1.26 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)109.53 ms
reference
novasvg render of embedded-font
novasvg12.61 ms
RMSE 37.41
resvg render of embedded-font
resvg2.27 ms
RMSE 39.28
lunasvg render of embedded-font
lunasvg2.96 ms
RMSE 44.29
cairosvg render of embedded-font
cairosvg126.57 ms
RMSE 45.96
thorvg render of embedded-font
thorvg0.29 ms
RMSE 39.28
nanosvg render of embedded-font
nanosvg1.21 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)85.00 ms
reference
novasvg render of embedded-font-distinctive
novasvg10.41 ms
RMSE 55.83
resvg render of embedded-font-distinctive
resvg1.77 ms
RMSE 48.42
lunasvg render of embedded-font-distinctive
lunasvg4.11 ms
RMSE 58.28
cairosvg render of embedded-font-distinctive
cairosvg110.27 ms
RMSE 58.52
thorvg render of embedded-font-distinctive
thorvg0.23 ms
RMSE 48.42
nanosvg render of embedded-font-distinctive
nanosvg1.79 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)50.85 ms
reference
novasvg render of mermaid-01-venn
novasvg1.13 ms
RMSE 6.99
resvg render of mermaid-01-venn
resvg0.79 ms
RMSE 16.28
lunasvg render of mermaid-01-venn
lunasvg0.83 ms
RMSE 198.51
cairosvg render of mermaid-01-venn
cairosvg16.63 ms
RMSE 198.39
thorvg render of mermaid-01-venn
thorvg0.37 ms
RMSE 198.80
nanosvg render of mermaid-01-venn
nanosvg1.31 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.72 ms
reference
novasvg render of mermaid-02-flowchart
novasvg2.16 ms
RMSE 4.99
resvg render of mermaid-02-flowchart
resvg2.00 ms
RMSE 8.57
lunasvg render of mermaid-02-flowchart
lunasvg1.19 ms
RMSE 201.84
cairosvg render of mermaid-02-flowchart
cairosvg32.79 ms
RMSE 202.10
thorvg render of mermaid-02-flowchart
thorvg0.67 ms
RMSE 231.28
nanosvg render of mermaid-02-flowchart
nanosvg1.81 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)65.24 ms
reference
novasvg render of mermaid-03-block
novasvg0.88 ms
RMSE 3.77
resvg render of mermaid-03-block
resvg0.88 ms
RMSE 8.48
lunasvg render of mermaid-03-block
lunasvg0.45 ms
RMSE 203.35
cairosvg render of mermaid-03-block
cairosvg19.67 ms
RMSE 203.35
thorvg render of mermaid-03-block
thorvg0.23 ms
RMSE 235.74
nanosvg render of mermaid-03-block
nanosvg1.35 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)71.09 ms
reference
novasvg render of mermaid-04-simple-flowchart
novasvg1.66 ms
RMSE 17.03
resvg render of mermaid-04-simple-flowchart
resvg1.47 ms
RMSE 24.29
lunasvg render of mermaid-04-simple-flowchart
lunasvg0.59 ms
RMSE 24.59
cairosvg render of mermaid-04-simple-flowchart
cairosvg31.80 ms
RMSE 24.64
thorvg render of mermaid-04-simple-flowchart
thorvg0.46 ms
RMSE 103.14
nanosvg render of mermaid-04-simple-flowchart
nanosvg1.58 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)46.05 ms
reference
novasvg render of mermaid-05-data-flow
novasvg1.99 ms
RMSE 20.95
resvg render of mermaid-05-data-flow
resvg1.63 ms
RMSE 28.19
lunasvg render of mermaid-05-data-flow
lunasvg1.39 ms
RMSE 19.02
cairosvg render of mermaid-05-data-flow
cairosvg27.66 ms
RMSE 19.42
thorvg render of mermaid-05-data-flow
thorvg0.62 ms
RMSE 115.38
nanosvg render of mermaid-05-data-flow
nanosvg1.40 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)66.27 ms
reference
novasvg render of mermaid-06-simple-sequence
novasvg1.05 ms
RMSE 11.37
resvg render of mermaid-06-simple-sequence
resvg2.11 ms
RMSE 19.77
lunasvg render of mermaid-06-simple-sequence
lunasvg0.86 ms
RMSE 17.82
cairosvg render of mermaid-06-simple-sequence
cairosvg21.77 ms
RMSE 19.40
thorvg render of mermaid-06-simple-sequence
thorvg0.25 ms
RMSE 24.96
nanosvg render of mermaid-06-simple-sequence
nanosvg1.27 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)53.50 ms
reference
novasvg render of mermaid-07-simple-state
novasvg1.58 ms
RMSE 23.09
resvg render of mermaid-07-simple-state
resvg2.14 ms
RMSE 54.13
lunasvg render of mermaid-07-simple-state
lunasvg0.79 ms
RMSE 54.05
cairosvg render of mermaid-07-simple-state
cairosvg28.03 ms
RMSE 54.15
thorvg render of mermaid-07-simple-state
thorvg0.56 ms
RMSE 69.62
nanosvg render of mermaid-07-simple-state
nanosvg1.39 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)66.06 ms
reference
novasvg render of mermaid-08-simple-mindmap
novasvg1.72 ms
RMSE 14.06
resvg render of mermaid-08-simple-mindmap
resvg4.02 ms
RMSE 13.36
lunasvg render of mermaid-08-simple-mindmap
lunasvg0.90 ms
RMSE 14.68
cairosvg render of mermaid-08-simple-mindmap
cairosvg70.09 ms
RMSE 66.61
thorvg render of mermaid-08-simple-mindmap
thorvg0.67 ms
RMSE 68.43
nanosvg render of mermaid-08-simple-mindmap
nanosvg2.41 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)70.13 ms
reference
novasvg render of mermaid-09-complex-sequence
novasvg1.86 ms
RMSE 12.50
resvg render of mermaid-09-complex-sequence
resvg1.85 ms
RMSE 17.03
lunasvg render of mermaid-09-complex-sequence
lunasvg1.68 ms
RMSE 17.35
cairosvg render of mermaid-09-complex-sequence
cairosvg32.70 ms
RMSE 41.80
thorvg render of mermaid-09-complex-sequence
thorvg0.67 ms
RMSE 37.85
nanosvg render of mermaid-09-complex-sequence
nanosvg2.13 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)67.93 ms
reference
novasvg render of mermaid-10-complex-erd
novasvg2.03 ms
RMSE 23.99
resvg render of mermaid-10-complex-erd
resvg2.51 ms
RMSE 27.65
lunasvg render of mermaid-10-complex-erd
lunasvg1.54 ms
RMSE 29.44
cairosvg render of mermaid-10-complex-erd
cairosvg42.32 ms
RMSE 146.83
thorvg render of mermaid-10-complex-erd
thorvg1.22 ms
RMSE 31.97
nanosvg render of mermaid-10-complex-erd
nanosvg2.85 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)69.34 ms
reference
novasvg render of mermaid-11-flowchart-multiline-entities
novasvg2.36 ms
RMSE 14.34
resvg render of mermaid-11-flowchart-multiline-entities
resvg2.87 ms
RMSE 16.99
lunasvg render of mermaid-11-flowchart-multiline-entities
lunasvg2.40 ms
RMSE 18.26
cairosvg render of mermaid-11-flowchart-multiline-entities
cairosvg40.48 ms
RMSE 17.67
thorvg render of mermaid-11-flowchart-multiline-entities
thorvg0.96 ms
RMSE 86.42
nanosvg render of mermaid-11-flowchart-multiline-entities
nanosvg1.52 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)57.62 ms
reference
novasvg render of mermaid-12-flowchart-subgraphs
novasvg1.28 ms
RMSE 16.44
resvg render of mermaid-12-flowchart-subgraphs
resvg2.34 ms
RMSE 16.18
lunasvg render of mermaid-12-flowchart-subgraphs
lunasvg0.63 ms
RMSE 44.03
cairosvg render of mermaid-12-flowchart-subgraphs
cairosvg30.37 ms
RMSE 11.72
thorvg render of mermaid-12-flowchart-subgraphs
thorvg0.36 ms
RMSE 149.67
nanosvg render of mermaid-12-flowchart-subgraphs
nanosvg0.77 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)51.38 ms
reference
novasvg render of mermaid-13-flowchart-long-label
novasvg3.35 ms
RMSE 32.76
resvg render of mermaid-13-flowchart-long-label
resvg1.94 ms
RMSE 30.09
lunasvg render of mermaid-13-flowchart-long-label
lunasvg0.59 ms
RMSE 25.82
cairosvg render of mermaid-13-flowchart-long-label
cairosvg21.32 ms
RMSE 25.82
thorvg render of mermaid-13-flowchart-long-label
thorvg0.31 ms
RMSE 163.36
nanosvg render of mermaid-13-flowchart-long-label
nanosvg1.11 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)67.62 ms
reference
novasvg render of mermaid-14-class-diagram
novasvg2.00 ms
RMSE 29.14
resvg render of mermaid-14-class-diagram
resvg3.84 ms
RMSE 28.49
lunasvg render of mermaid-14-class-diagram
lunasvg1.23 ms
RMSE 29.46
cairosvg render of mermaid-14-class-diagram
cairosvg34.95 ms
RMSE 29.63
thorvg render of mermaid-14-class-diagram
thorvg0.63 ms
RMSE 30.89
nanosvg render of mermaid-14-class-diagram
nanosvg1.14 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)66.24 ms
reference
novasvg render of mermaid-15-pie-chart
novasvg1.34 ms
RMSE 3.65
resvg render of mermaid-15-pie-chart
resvg2.43 ms
RMSE 11.41
lunasvg render of mermaid-15-pie-chart
lunasvg1.29 ms
RMSE 10.87
cairosvg render of mermaid-15-pie-chart
cairosvg16.87 ms
RMSE 50.31
thorvg render of mermaid-15-pie-chart
thorvg0.19 ms
RMSE 29.01
nanosvg render of mermaid-15-pie-chart
nanosvg1.11 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)63.75 ms
reference
novasvg render of mermaid-16-gantt
novasvg1.88 ms
RMSE 19.85
resvg render of mermaid-16-gantt
resvg2.48 ms
RMSE 22.24
lunasvg render of mermaid-16-gantt
lunasvg1.57 ms
RMSE 20.20
cairosvg render of mermaid-16-gantt
cairosvg30.78 ms
RMSE 20.20
thorvg render of mermaid-16-gantt
thorvg0.29 ms
RMSE 143.40
nanosvg render of mermaid-16-gantt
nanosvg0.55 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)68.98 ms
reference
novasvg render of mermaid-17-journey
novasvg2.83 ms
RMSE 55.06
resvg render of mermaid-17-journey
resvg2.29 ms
RMSE 39.94
lunasvg render of mermaid-17-journey
lunasvg1.52 ms
RMSE 55.15
cairosvg render of mermaid-17-journey
cairosvg22.42 ms
RMSE 13.83
thorvg render of mermaid-17-journey
thorvg0.65 ms
RMSE 60.34
nanosvg render of mermaid-17-journey
nanosvg1.62 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)65.64 ms
reference
novasvg render of mermaid-18-timeline
novasvg2.28 ms
RMSE 14.25
resvg render of mermaid-18-timeline
resvg2.45 ms
RMSE 10.59
lunasvg render of mermaid-18-timeline
lunasvg0.92 ms
RMSE 15.10
cairosvg render of mermaid-18-timeline
cairosvg44.24 ms
RMSE 77.11
thorvg render of mermaid-18-timeline
thorvg0.29 ms
RMSE 77.58
nanosvg render of mermaid-18-timeline
nanosvg0.72 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)51.05 ms
reference
novasvg render of mermaid-19-sequence-notes-activation
novasvg2.11 ms
RMSE 10.75
resvg render of mermaid-19-sequence-notes-activation
resvg1.38 ms
RMSE 14.57
lunasvg render of mermaid-19-sequence-notes-activation
lunasvg1.29 ms
RMSE 15.29
cairosvg render of mermaid-19-sequence-notes-activation
cairosvg35.04 ms
RMSE 16.91
thorvg render of mermaid-19-sequence-notes-activation
thorvg0.42 ms
RMSE 21.89
nanosvg render of mermaid-19-sequence-notes-activation
nanosvg1.06 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)48.17 ms
reference
novasvg render of mermaid-20-state-composite
novasvg1.84 ms
RMSE 17.88
resvg render of mermaid-20-state-composite
resvg2.03 ms
RMSE 30.51
lunasvg render of mermaid-20-state-composite
lunasvg1.48 ms
RMSE 30.31
cairosvg render of mermaid-20-state-composite
cairosvg36.56 ms
RMSE 30.25
thorvg render of mermaid-20-state-composite
thorvg0.60 ms
RMSE 164.88
nanosvg render of mermaid-20-state-composite
nanosvg1.40 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)51.02 ms
reference
novasvg render of mermaid-21-flowchart-shapes-styles
novasvg3.04 ms
RMSE 19.80
resvg render of mermaid-21-flowchart-shapes-styles
resvg2.58 ms
RMSE 23.54
lunasvg render of mermaid-21-flowchart-shapes-styles
lunasvg2.43 ms
RMSE 42.16
cairosvg render of mermaid-21-flowchart-shapes-styles
cairosvg51.41 ms
RMSE 23.74
thorvg render of mermaid-21-flowchart-shapes-styles
thorvg0.96 ms
RMSE 66.63
nanosvg render of mermaid-21-flowchart-shapes-styles
nanosvg1.88 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)67.60 ms
reference
novasvg render of mermaid-22-gitgraph
novasvg1.94 ms
RMSE 11.62
resvg render of mermaid-22-gitgraph
resvg2.19 ms
RMSE 18.15
lunasvg render of mermaid-22-gitgraph
lunasvg1.84 ms
RMSE 16.51
cairosvg render of mermaid-22-gitgraph
cairosvg31.66 ms
RMSE 46.90
thorvg render of mermaid-22-gitgraph
thorvg0.32 ms
RMSE 70.72
nanosvg render of mermaid-22-gitgraph
nanosvg1.46 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)69.58 ms
reference
novasvg render of mermaid-23-quadrant-chart
novasvg1.78 ms
RMSE 11.10
resvg render of mermaid-23-quadrant-chart
resvg0.93 ms
RMSE 19.78
lunasvg render of mermaid-23-quadrant-chart
lunasvg1.71 ms
RMSE 21.32
cairosvg render of mermaid-23-quadrant-chart
cairosvg25.51 ms
RMSE 24.45
thorvg render of mermaid-23-quadrant-chart
thorvg0.28 ms
RMSE 19.80
nanosvg render of mermaid-23-quadrant-chart
nanosvg1.42 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)62.89 ms
reference
novasvg render of mermaid-24-xychart
novasvg1.06 ms
RMSE 8.54
resvg render of mermaid-24-xychart
resvg1.09 ms
RMSE 15.18
lunasvg render of mermaid-24-xychart
lunasvg1.02 ms
RMSE 13.86
cairosvg render of mermaid-24-xychart
cairosvg26.62 ms
RMSE 12.49
thorvg render of mermaid-24-xychart
thorvg0.40 ms
RMSE 15.31
nanosvg render of mermaid-24-xychart
nanosvg1.53 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)77.00 ms
reference
novasvg render of mermaid-25-sankey
novasvg4.84 ms
RMSE 12.37
resvg render of mermaid-25-sankey
resvg2.39 ms
RMSE 16.30
lunasvg render of mermaid-25-sankey
lunasvg1.50 ms
RMSE 15.62
cairosvg render of mermaid-25-sankey
cairosvg26.07 ms
RMSE 12.93
thorvg render of mermaid-25-sankey
thorvg1.45 ms
RMSE 73.44
nanosvg render of mermaid-25-sankey
nanosvg1.44 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)62.16 ms
reference
novasvg render of mermaid-26-block
novasvg1.44 ms
RMSE 21.34
resvg render of mermaid-26-block
resvg1.47 ms
RMSE 18.26
lunasvg render of mermaid-26-block
lunasvg0.75 ms
RMSE 19.76
cairosvg render of mermaid-26-block
cairosvg23.36 ms
RMSE 19.76
thorvg render of mermaid-26-block
thorvg0.29 ms
RMSE 161.15
nanosvg render of mermaid-26-block
nanosvg1.61 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)93.05 ms
reference
novasvg render of mermaid-27-c4-context
novasvg3.27 ms
RMSE 13.20
resvg render of mermaid-27-c4-context
resvg1.39 ms
RMSE 21.15
lunasvg render of mermaid-27-c4-context
lunasvg2.60 ms
RMSE 13.25
cairosvg render of mermaid-27-c4-context
cairosvg43.52 ms
RMSE 13.43
thorvg render of mermaid-27-c4-context
thorvg0.80 ms
RMSE 13.48
nanosvg render of mermaid-27-c4-context
nanosvg1.23 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)69.15 ms
reference
novasvg render of mermaid-28-requirement
novasvg2.42 ms
RMSE 24.92
resvg render of mermaid-28-requirement
resvg1.48 ms
RMSE 33.38
lunasvg render of mermaid-28-requirement
lunasvg0.57 ms
RMSE 34.99
cairosvg render of mermaid-28-requirement
cairosvg33.15 ms
RMSE 34.46
thorvg render of mermaid-28-requirement
thorvg0.39 ms
RMSE 35.91
nanosvg render of mermaid-28-requirement
nanosvg1.00 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)48.53 ms
reference
novasvg render of mermaid-29-kanban
novasvg3.37 ms
RMSE 29.34
resvg render of mermaid-29-kanban
resvg3.83 ms
RMSE 24.67
lunasvg render of mermaid-29-kanban
lunasvg1.14 ms
RMSE 28.69
cairosvg render of mermaid-29-kanban
cairosvg61.83 ms
RMSE 77.71
thorvg render of mermaid-29-kanban
thorvg0.37 ms
RMSE 151.54
nanosvg render of mermaid-29-kanban
nanosvg1.82 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)51.55 ms
reference
novasvg render of mermaid-30-architecture
novasvg1.85 ms
RMSE 16.31
resvg render of mermaid-30-architecture
resvg1.91 ms
RMSE 8.60
lunasvg render of mermaid-30-architecture
lunasvg1.65 ms
RMSE 17.57
cairosvg render of mermaid-30-architecture
cairosvg28.68 ms
RMSE 22.85
thorvg render of mermaid-30-architecture
thorvg0.70 ms
RMSE 106.80
nanosvg render of mermaid-30-architecture
nanosvg1.97 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)47.97 ms
reference
novasvg render of mermaid-31-packet
novasvg1.11 ms
RMSE 5.35
resvg render of mermaid-31-packet
resvg0.83 ms
RMSE 12.94
lunasvg render of mermaid-31-packet
lunasvg0.90 ms
RMSE 7.69
cairosvg render of mermaid-31-packet
cairosvg26.14 ms
RMSE 7.26
thorvg render of mermaid-31-packet
thorvg0.26 ms
RMSE 155.08
nanosvg render of mermaid-31-packet
nanosvg0.77 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)59.41 ms
reference
novasvg render of mermaid-32-radar
novasvg1.92 ms
RMSE 7.41
resvg render of mermaid-32-radar
resvg2.77 ms
RMSE 7.41
lunasvg render of mermaid-32-radar
lunasvg1.94 ms
RMSE 8.06
cairosvg render of mermaid-32-radar
cairosvg23.68 ms
RMSE 114.97
thorvg render of mermaid-32-radar
thorvg0.41 ms
RMSE 142.58
nanosvg render of mermaid-32-radar
nanosvg3.78 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)56.55 ms
reference
novasvg render of mermaid-33-treemap
novasvg1.14 ms
RMSE 7.21
resvg render of mermaid-33-treemap
resvg1.02 ms
RMSE 16.29
lunasvg render of mermaid-33-treemap
lunasvg0.60 ms
RMSE 29.10
cairosvg render of mermaid-33-treemap
cairosvg19.23 ms
RMSE 159.09
thorvg render of mermaid-33-treemap
thorvg0.28 ms
RMSE 16.70
nanosvg render of mermaid-33-treemap
nanosvg1.40 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)51.66 ms
reference
novasvg render of mermaid-34-venn
novasvg0.87 ms
RMSE 11.15
resvg render of mermaid-34-venn
resvg0.92 ms
RMSE 15.62
lunasvg render of mermaid-34-venn
lunasvg0.76 ms
RMSE 17.41
cairosvg render of mermaid-34-venn
cairosvg20.59 ms
RMSE 19.94
thorvg render of mermaid-34-venn
thorvg0.31 ms
RMSE 17.41
nanosvg render of mermaid-34-venn
nanosvg0.90 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)69.63 ms
reference
novasvg render of mermaid-35-ishikawa
novasvg1.76 ms
RMSE 9.95
resvg render of mermaid-35-ishikawa
resvg1.40 ms
RMSE 18.38
lunasvg render of mermaid-35-ishikawa
lunasvg1.45 ms
RMSE 18.08
cairosvg render of mermaid-35-ishikawa
cairosvg42.55 ms
RMSE 21.54
thorvg render of mermaid-35-ishikawa
thorvg0.28 ms
RMSE 48.69
nanosvg render of mermaid-35-ishikawa
nanosvg0.76 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)81.85 ms
reference
novasvg render of mermaid-36-wardley
novasvg0.80 ms
RMSE 5.19
resvg render of mermaid-36-wardley
resvg0.78 ms
RMSE 4.77
lunasvg render of mermaid-36-wardley
lunasvg0.77 ms
RMSE 5.20
cairosvg render of mermaid-36-wardley
cairosvg19.53 ms
RMSE 5.25
thorvg render of mermaid-36-wardley
thorvg0.38 ms
RMSE 4.97
nanosvg render of mermaid-36-wardley
nanosvg1.49 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)65.10 ms
reference
novasvg render of mermaid-37-state-fork-choice
novasvg2.46 ms
RMSE 13.23
resvg render of mermaid-37-state-fork-choice
resvg2.64 ms
RMSE 17.19
lunasvg render of mermaid-37-state-fork-choice
lunasvg1.58 ms
RMSE 18.98
cairosvg render of mermaid-37-state-fork-choice
cairosvg47.02 ms
RMSE 19.08
thorvg render of mermaid-37-state-fork-choice
thorvg0.71 ms
RMSE 129.16
nanosvg render of mermaid-37-state-fork-choice
nanosvg2.11 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)83.24 ms
reference
novasvg render of mermaid-38-sequence-control
novasvg3.78 ms
RMSE 17.39
resvg render of mermaid-38-sequence-control
resvg3.31 ms
RMSE 20.54
lunasvg render of mermaid-38-sequence-control
lunasvg3.11 ms
RMSE 17.80
cairosvg render of mermaid-38-sequence-control
cairosvg56.09 ms
RMSE 37.09
thorvg render of mermaid-38-sequence-control
thorvg0.78 ms
RMSE 35.95
nanosvg render of mermaid-38-sequence-control
nanosvg3.57 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)64.74 ms
reference
novasvg render of mermaid-39-gantt-advanced
novasvg1.69 ms
RMSE 21.93
resvg render of mermaid-39-gantt-advanced
resvg1.92 ms
RMSE 27.09
lunasvg render of mermaid-39-gantt-advanced
lunasvg1.36 ms
RMSE 21.33
cairosvg render of mermaid-39-gantt-advanced
cairosvg36.27 ms
RMSE 20.95
thorvg render of mermaid-39-gantt-advanced
thorvg0.42 ms
RMSE 162.56
nanosvg render of mermaid-39-gantt-advanced
nanosvg1.00 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)70.77 ms
reference
novasvg render of mermaid-40-erd-relations
novasvg2.60 ms
RMSE 13.27
resvg render of mermaid-40-erd-relations
resvg2.97 ms
RMSE 18.22
lunasvg render of mermaid-40-erd-relations
lunasvg1.44 ms
RMSE 18.95
cairosvg render of mermaid-40-erd-relations
cairosvg51.60 ms
RMSE 90.43
thorvg render of mermaid-40-erd-relations
thorvg0.96 ms
RMSE 42.56
nanosvg render of mermaid-40-erd-relations
nanosvg1.85 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)70.08 ms
reference
novasvg render of mermaid-41-class-advanced
novasvg4.51 ms
RMSE 28.22
resvg render of mermaid-41-class-advanced
resvg2.40 ms
RMSE 29.19
lunasvg render of mermaid-41-class-advanced
lunasvg1.07 ms
RMSE 35.81
cairosvg render of mermaid-41-class-advanced
cairosvg46.14 ms
RMSE 31.17
thorvg render of mermaid-41-class-advanced
thorvg0.56 ms
RMSE 32.09
nanosvg render of mermaid-41-class-advanced
nanosvg0.97 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)62.96 ms
reference
novasvg render of mermaid-42-mindmap-shapes
novasvg3.30 ms
RMSE 16.44
resvg render of mermaid-42-mindmap-shapes
resvg4.49 ms
RMSE 18.66
lunasvg render of mermaid-42-mindmap-shapes
lunasvg1.39 ms
RMSE 16.71
cairosvg render of mermaid-42-mindmap-shapes
cairosvg75.28 ms
RMSE 84.69
thorvg render of mermaid-42-mindmap-shapes
thorvg0.71 ms
RMSE 85.65
nanosvg render of mermaid-42-mindmap-shapes
nanosvg2.30 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)66.05 ms
reference
novasvg render of mermaid-43-timeline-sections
novasvg1.84 ms
RMSE 18.13
resvg render of mermaid-43-timeline-sections
resvg2.89 ms
RMSE 12.97
lunasvg render of mermaid-43-timeline-sections
lunasvg1.32 ms
RMSE 18.54
cairosvg render of mermaid-43-timeline-sections
cairosvg55.95 ms
RMSE 90.62
thorvg render of mermaid-43-timeline-sections
thorvg0.44 ms
RMSE 91.29
nanosvg render of mermaid-43-timeline-sections
nanosvg0.89 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)52.89 ms
reference
novasvg render of mermaid-44-pie-basic
novasvg1.47 ms
RMSE 5.47
resvg render of mermaid-44-pie-basic
resvg1.97 ms
RMSE 11.75
lunasvg render of mermaid-44-pie-basic
lunasvg1.26 ms
RMSE 11.37
cairosvg render of mermaid-44-pie-basic
cairosvg18.52 ms
RMSE 37.63
thorvg render of mermaid-44-pie-basic
thorvg0.24 ms
RMSE 31.44
nanosvg render of mermaid-44-pie-basic
nanosvg1.33 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)61.48 ms
reference
novasvg render of mermaid-45-flowchart-markdown-labels
novasvg1.44 ms
RMSE 18.67
resvg render of mermaid-45-flowchart-markdown-labels
resvg1.10 ms
RMSE 30.35
lunasvg render of mermaid-45-flowchart-markdown-labels
lunasvg0.53 ms
RMSE 25.39
cairosvg render of mermaid-45-flowchart-markdown-labels
cairosvg27.03 ms
RMSE 23.80
thorvg render of mermaid-45-flowchart-markdown-labels
thorvg0.25 ms
RMSE 131.55
nanosvg render of mermaid-45-flowchart-markdown-labels
nanosvg0.67 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)52.10 ms
reference
novasvg render of mermaid-46-sequence-actors-misc
novasvg1.65 ms
RMSE 7.57
resvg render of mermaid-46-sequence-actors-misc
resvg1.68 ms
RMSE 8.09
lunasvg render of mermaid-46-sequence-actors-misc
lunasvg1.47 ms
RMSE 9.08
cairosvg render of mermaid-46-sequence-actors-misc
cairosvg32.69 ms
RMSE 12.03
thorvg render of mermaid-46-sequence-actors-misc
thorvg0.47 ms
RMSE 47.07
nanosvg render of mermaid-46-sequence-actors-misc
nanosvg0.96 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)48.61 ms
reference
novasvg render of mermaid-47-flowchart-br-bold-label
novasvg0.71 ms
RMSE 15.24
resvg render of mermaid-47-flowchart-br-bold-label
resvg0.93 ms
RMSE 27.70
lunasvg render of mermaid-47-flowchart-br-bold-label
lunasvg0.29 ms
RMSE 27.73
cairosvg render of mermaid-47-flowchart-br-bold-label
cairosvg20.32 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.40 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)48.79 ms
reference
novasvg render of mermaid-48-flowchart-bold-italic-runs
novasvg1.40 ms
RMSE 16.97
resvg render of mermaid-48-flowchart-bold-italic-runs
resvg1.01 ms
RMSE 23.65
lunasvg render of mermaid-48-flowchart-bold-italic-runs
lunasvg0.40 ms
RMSE 23.01
cairosvg render of mermaid-48-flowchart-bold-italic-runs
cairosvg21.38 ms
RMSE 21.99
thorvg render of mermaid-48-flowchart-bold-italic-runs
thorvg0.21 ms
RMSE 152.20
nanosvg render of mermaid-48-flowchart-bold-italic-runs
nanosvg0.46 ms
RMSE 37.22