The language is richer and all diagram types are implemented consistently in the same language in a way that can be composed, as opposed to being a collection of unrelated DSLs.
The improved visual appearance is clear from inspecting example diagrams, I believe.
d2 produces real svgs but I've found them to have a hard time displaying in other svg editors. The d2 folks talk about that somewhere and they have some fixes for it.
I reached the same conclusion after comparing diagram-as-code tools — D2 feels cleaner and more expressive than Mermaid.
I’ve been working on an AI diagramming tool built around D2: https://aidiagrammaker.com/
You describe a system in plain English, and it generates architecture diagrams, flowcharts, and sequence diagrams in D2.
Edits can be made either directly in the D2 code or via a context-aware editor.
Oh, finally, something that supports actual hierarchical state diagrams (that isn't Graphviz, no offense)... Mermaid's "You cannot define transitions between internal states belonging to different composite states" [1] has driven me up a wall for years.
Author here - thanks for all the support (and bug reports)!
I built pretty.fish with the belief that Mermaid diagrams don’t have to look like they’re from the 80s and to avoid squinting at Mermaid diagrams that coding agents create in tiny windows.
Having them on canvas also makes it easier to keep a track of, and even visualize agent steps as and when they are are being taken (if you connect an MCP you get a pretty nice view of agent building its knowledge graph for eg for a problem).
Didn’t expect it to take off like this—there are still rough edges (pan/zoom, mobile), but I’m working on smoothing those out soon.
- How do you pan? Two finger sliding on the trackpad just zooms.
- Why does the diagram you're working on doesn't use all the remaining space? I picked one example and it's on a small-ish box with controls that don't seem to do anything and half of it is out the screen on the bottom
Ohh... the scroll metaphor... it's annoying. A bunch of tabs would have been better or even a one at a time with a tree somewhere.
There's too much fighting with layout where a plain interface would be better, something closer to https://mermaid.live/
The first thing I tried to do is resize that rectangle in the default diagram... and the resize handles do not affect the height, only the width. What is this "better" than?
How is this one better? I thought this was going to be a visual editor where you click and edit on the diagram itself. I don't seem to be able to do that here.
I actually like Mermaid’s text-based approach a lot and wouldn’t want to replace it with a visual editor.
Where I do see room for improvement is the rendering quality. A lot of diagrams end up looking a bit rough, especially with arrow routing and layout, which can feel somewhat arbitrary.
Better layout/rendering would probably add more value (for me at least) than improving the editing experience.
- Write Mermaid diagrams with a live preview.
- Arrange multiple diagrams on an infinite canvas.
- Group diagrams into multi-page projects.
- Better themes
How does the agent session thing work? Server-side you proxy requests to client via websockets or something? How does the agent see the client-side data?
https://d2lang.com/ is a nicer language than Mermaid with much nicer visual appearance. It would be great if it became more widely supported.
What makes it nicer?
Take a look at https://d2lang.com/examples/dagre/ and https://d2lang.com/tour/intro/
The language is richer and all diagram types are implemented consistently in the same language in a way that can be composed, as opposed to being a collection of unrelated DSLs.
The improved visual appearance is clear from inspecting example diagrams, I believe.
Does it produce real svgs as opposed to foreign object html in svg mess that mermaid compilers produce?
d2 produces real svgs but I've found them to have a hard time displaying in other svg editors. The d2 folks talk about that somewhere and they have some fixes for it.
I reached the same conclusion after comparing diagram-as-code tools — D2 feels cleaner and more expressive than Mermaid.
I’ve been working on an AI diagramming tool built around D2: https://aidiagrammaker.com/ You describe a system in plain English, and it generates architecture diagrams, flowcharts, and sequence diagrams in D2.
Edits can be made either directly in the D2 code or via a context-aware editor.
I agree that it's nicer and more powerful, but it's a little concerning it hasn't had any commits in the past 6 months: https://github.com/terrastruct/d2/commits/master/
Maybe it doesn't need constant fixing? Are there many issues in the tracker?
I think the founder/lead developer, Alexander Wang, works at OpenAI now.
Plus, according to this comment on an issue, folks in their discord say it's not being actively maintained.
https://github.com/terrastruct/d2/issues/2735#issuecomment-4...
Never imagined Scale.ai CEO was D2Lang creator nor that he joined his room-mate at OpenAI (giggle).
Thanks for sharing
Scale AI is a different Alex. Their first names are spelled slightly different. Alexandr vs Alexander
Oh, finally, something that supports actual hierarchical state diagrams (that isn't Graphviz, no offense)... Mermaid's "You cannot define transitions between internal states belonging to different composite states" [1] has driven me up a wall for years.
shouldn't be that hard!
[1] https://mermaid.ai/open-source/syntax/stateDiagram.html#comp...
How good is the LLM at creating d2? What if any skills/material can folks recommend? (Follow-up: D2-mcp has a cheat sheet, https://github.com/h0rv/d2-mcp/blob/main/d2/CHEATSHEET.md)
And, does GitHub support it? (Follow up: alas not! Sadness. Please add!)
Has anyone here used https://pikchr.org/ from the creator of SQLite?
Thanks for sharing! I haven’t looked into that before but looks neat.
Author here - thanks for all the support (and bug reports)!
I built pretty.fish with the belief that Mermaid diagrams don’t have to look like they’re from the 80s and to avoid squinting at Mermaid diagrams that coding agents create in tiny windows.
Having them on canvas also makes it easier to keep a track of, and even visualize agent steps as and when they are are being taken (if you connect an MCP you get a pretty nice view of agent building its knowledge graph for eg for a problem).
Didn’t expect it to take off like this—there are still rough edges (pan/zoom, mobile), but I’m working on smoothing those out soon.
It's pretty but I don't know about better.
- How do you pan? Two finger sliding on the trackpad just zooms.
- Why does the diagram you're working on doesn't use all the remaining space? I picked one example and it's on a small-ish box with controls that don't seem to do anything and half of it is out the screen on the bottom
Ohh... the scroll metaphor... it's annoying. A bunch of tabs would have been better or even a one at a time with a tree somewhere.
There's too much fighting with layout where a plain interface would be better, something closer to https://mermaid.live/
The first thing I tried to do is resize that rectangle in the default diagram... and the resize handles do not affect the height, only the width. What is this "better" than?
How is this one better? I thought this was going to be a visual editor where you click and edit on the diagram itself. I don't seem to be able to do that here.
I will grant this: that's a brilliant name and domain.
I actually like Mermaid’s text-based approach a lot and wouldn’t want to replace it with a visual editor.
Where I do see room for improvement is the rendering quality. A lot of diagrams end up looking a bit rough, especially with arrow routing and layout, which can feel somewhat arbitrary.
Better layout/rendering would probably add more value (for me at least) than improving the editing experience.
Interesting timing and similarity with something I built last month! :)
I built https://fishygram.com with a DSL you can copy and paste into ChatGPT to build diagrams for you.
You can take a look at the examples to see what it can do.
I'm always frustrated by how bad LLMs seem to be at making mermaid text without parsing errors all through it.
- Write Mermaid diagrams with a live preview. - Arrange multiple diagrams on an infinite canvas. - Group diagrams into multi-page projects. - Better themes
Make no mistakes.
How does the agent session thing work? Server-side you proxy requests to client via websockets or something? How does the agent see the client-side data?
I can't seem to change the colors of the pie chart, other than the predefined themes. But all of those are horrible for a pie chart.
Yeah, as far as I know, you need to define a customized theme to customize pie chart colors. You can prepend the chart with initialization logic like:
%%{init: {"theme": "base", "themeVariables": { "pie1": "#FF5733", "pie2": "#33FF57", "pie3": "#3357FF", "pieStrokeColor": "#000000", "pieStrokeWidth": 3, "pieOpacity": 0.8 }}}%%
This looks like it works on this site too.
To be fair, pie charts are horrible in general.