Post

This is Pele, my new rendering library for diagrams and charts, compatible with the latest Mermaid syntax. - 100-500× faster than mermaid.js - 6× smaller bundle - No dependencies - Easy to theme - Responsive to device width - Open source (MIT) Try it at pele.run

198 reposts1.3K likes

For CI, deterministic font metrics may matter as much as speed; otherwise diagrams shift across machines.

Looks amazing. Added it to Roost. This will add a new medium of communication. Probably can replace a lot of charts, etc. that requires file upload (and it is still WIP).

Vlad@vmois.dev

Multiplayer family agent platform a.k.a Claude Work but only for my peeps on our terms* *Cloudflare platform terms and conditions apply; AI inference provider terms and conditions apply

This week I swapped mermaid.js for this. It took about an hour, mostly ripping out the async loader mermaid.js needed to download shitty dependencies. Thanks to the CSS variables, themes can now use outside-RGB colours and it renders about 10x faster. Excellent work!

Mermaid flowcharts default to dagre for layout, so a faster renderer has to match its node placement too. Syntax compatibility is the hard promise: subgraph edge cases and classDef quirks break a drop-in swap.

Very, very cool. The svg approach also makes exporting the diagrams very simple. Rendering them with mermaid in a delivery pipeline is a pain as I had to install chromium first.

No. It can render server-side or other environments too. Pele converts Mermaid syntax to an SVG.

At home, replacing mermaid-js in caic: " median placeholder-to-SVG time fell from 286.5 ms to 94.2 ms across five cold runs—about 67% faster for this sample. Compressed page assets fell from 687 KB to 224 KB. "

If there's no genAI being used, just remove the red flags from the .gitignore - there's no reason for them and it pollutes the file. The only other explanation that comes to mind is that genAI usage is being hidden, which is just dishonest.

you're right, I should add the more formats to the .gitignore to be complete, and I also updated the contribution guide accordingly

Benchmark methodology missing: which diagram types, complexity, rendering target (SVG/Canvas), and Mermaid version? 100–500× is implausible without specifics.

100-500× is a wide spread — is that cold parse, layout, or full SVG paint? Mermaid's cost is mostly dagre layout plus DOM thrash, so which did you replace?

What benchmark backs the 100–500× claim? Mermaid’s bottleneck is usually layout, not DOM rendering—does Pele skip layout entirely?

Neat! I'm close to considering myself mermaid syntax native speaker 😅 Love to see a fresh implementation with new integration opportunities

The rendering speed is impressive, but 230 KB gzip is still a noticeable cost on a content page. Have you considered build-time SVG generation, with client-side rendering only for diagrams that need responsive relayout? Curious how you see that trade-off.

the server-side svg output is the underrated part. docs sites can render diagrams at build time instead of shipping mermaid's runtime to every reader.

I'm doing a thing that is using mermaidjs, but I will definitely consider switching to Pele. So fast!

Cool! I just downloaded obsidian for the first time after seeing this, but I'm very new to everything. Where do I type "npm install pele" to use this? Or how do I load it from a CDN?

In pursuit of making Obsidian insanely fast and cohesively designed, I always found the Mermaid library to be too big, too slow, and too hard to theme. Pele will be the new renderer in the next version of Obsidian, but you can start using it now! github.com/obsidianmd/p...

Pele [ˈpɛlɛ] is of course named after the goddess of volcanoes and fire. Many thanks to @kumavis.me for kindly donating the NPM package name!

I once donated someone an npm package & they were incredibly grateful. I once asked someone else for a dead npm package and was rejected 😞