Live render test: Pele vs Mermaid.js
Type or pick a diagram. Both renderers run in your browser; times are measured here, not copied from anyone's marketing page. Broken syntax shows the renderer's real error message.
The theme buttons only restyle Pele's pane. Its colors update live with no re-render, because Pele draws with CSS variables. Mermaid.js needs a full re-render to change theme. Libraries load from jsDelivr: pele@1 and mermaid@11.
Pele vs Mermaid.js, on paper
Every number below comes from pele.run and is the project's own claim. Independent benchmarks do not exist yet. The project is days old. Use the test above to check the speed claim on your hardware.
| Pele | Mermaid.js | |
|---|---|---|
| Bundle size (gzip) | 230 kB | 1.6 MB |
| Render time (claimed) | 0.05-0.3 ms | 6-82 ms |
| Direct dependencies | 0 | 23 |
| Small screens | Adapts the layout | Scales the diagram |
| Theming | CSS variables, no re-render | Theme configuration, re-render |
| Syntax support | Targets Mermaid 12.1.0 syntax; parsers tested against Mermaid's own parser specs plus differential fuzzing | |
| Look | Pele uses its own layout and visual style. Output looks like Pele, not like Mermaid.js. | |
Add Pele to your app
Install from npm:
npm install pele
Render a string to SVG:
import { render } from 'pele';
const { svg } = render(`flowchart LR
A[Mermaid text] --> B[SVG]`);
document.querySelector('#diagram').innerHTML = svg;
In a plain HTML page, no build step:
<script src="https://cdn.jsdelivr.net/npm/pele@1/dist/pele.global.js"></script>
<script>
for (const el of document.querySelectorAll('pre.mermaid'))
pele.mount(el, el.textContent);
</script>
Ship less code by loading only the diagram types you use:
import { register, render } from 'pele/core';
import flowchart from 'pele/diagrams/flowchart';
register(flowchart);
Or render lazily:
import { renderAsync } from 'pele/lazy';
const { svg } = await renderAsync(text);
Theming without re-rendering
Pele reads colors and fonts from CSS variables, so a theme change is a stylesheet change. The SVG stays as-is. Set these on the diagram or any parent element:
.pele {
--pele-bg: #fffcf0;
--pele-fg: #100f0f;
--pele-muted: #6f6e69;
--pele-line: #100f0f;
--pele-surface: #f2f0e5;
--pele-surface-alt: #e6e4d9;
--pele-border: #cecdc3;
--pele-accent: #205ea6;
--pele-font: sans-serif;
--pele-radius: 4px;
}
Charts get --pele-series-1 through --pele-series-8. Try the Light / Dark / Warm buttons in the test above. Pele's pane recolors instantly, with no second render.
What Pele is, in one minute
Obsidian built Pele for its own diagram needs: render Mermaid fast, and match the app's theme without extra work. The name comes from Pele, the Hawaiian goddess of volcanoes and fire. The repository (obsidianmd/pele) went public in early October 2026; Obsidian presented it on October 17. It hit Hacker News the same day and collected 558 points with 53 comments in 24 hours. Two weeks in: 190 commits, 13 releases, over 1,800 stars, MIT license.
Technically it is a from-scratch renderer. Same input syntax as Mermaid, but Pele does its own layout and draws its own style. Its parsers are tested against Mermaid's parser specifications and with differential fuzzing (feed both parsers random diagrams and compare). For untrusted input, Pele escapes diagram text, filters links and styles, and caps source and output size.
Worth knowing before you switch
- Output looks different. Same syntax, Pele's own visual style. Pixel parity with Mermaid.js is not the goal.
- Mermaid.js plugins don't carry over. Custom themes, ELK layouts, and third-party extensions stay behind.
- Not in the Obsidian app yet. Pele is the open-source library; Obsidian has not said when it ships inside the app itself.
- The speed numbers are vendor claims. 0.05-0.3 ms vs 6-82 ms comes from pele.run with no published test setup. Measure your own diagrams. Start with the test at the top of this page.
FAQ
What is Pele?
An open-source JavaScript library from Obsidian that turns Mermaid diagram text into SVG. No runtime dependencies, CSS-variable theming, supports every diagram type built into Mermaid 12.1.0. MIT-licensed at github.com/obsidianmd/pele.
How much faster is Pele than Mermaid.js, really?
The project reports 0.05-0.3 ms renders against 6-82 ms for Mermaid.js, up to 500×. Those are the project's own numbers with no published test setup. The live test at the top of this page times both renderers on your machine, so you can verify the claim yourself.
Is Pele open source?
Yes. MIT license, at github.com/obsidianmd/pele. Public since early October 2026, past 1,800 stars within two weeks.
Which diagram types does Pele support?
Every type built into Mermaid 12.1.0: flowcharts, sequence, class, state, ER, Gantt, pie, git graphs, mindmaps, timelines, and the rest. Its layout engine is its own; parsers are tested against Mermaid's specs and differential fuzzing.
Does Pele replace Mermaid.js?
For rendering, mostly: same input syntax, SVG output, far smaller bundle. The visual style is Pele's own, and Mermaid.js-specific plugins and custom themes do not carry over. Run your diagrams through the test above before switching.
Is Pele inside the Obsidian app yet?
Not that Obsidian has announced. Pele is the library; when it ships in the Obsidian desktop or mobile app is a separate decision the company has not dated publicly (checked October 19, 2026).
How does Pele theming work?
Set CSS variables like --pele-bg, --pele-fg, and --pele-line on the diagram or a parent element. Colors and fonts update live with no re-render. Charts use --pele-series-1 through --pele-series-8.
How do I install Pele?
npm install pele, then import { render } from 'pele'. In plain HTML, load https://cdn.jsdelivr.net/npm/pele@1/dist/pele.global.js and call pele.mount(el, text). Slimmer builds via pele/core plus per-diagram imports.
Sources
- pele.run, the official site: install, API, benchmark claims, theming variables
- github.com/obsidianmd/pele, the source code: MIT license, CDN and lazy-import docs
- LAXIMA AI Signal, the Hacker News thread: 558 points, 53 comments, posted October 17, 2026
- YouGoNews, a launch summary with benchmark caveats
- AI Minor, a launch summary from October 18, 2026
- mermaid.js.org, the incumbent renderer Pele is measured against
Numbers change fast on a two-week-old project. This page was last updated on October 19, 2026. Nothing here is affiliated with Obsidian.
Machine-readable summary: llms.txt
Ask an AI about this guide: