{"slug": "mermaid", "name": "Mermaid", "category": "other", "category_name": "Other software", "description": "JavaScript tool that renders diagrams and charts from Markdown-like text definitions.", "recommenders": 7, "commenters": 22, "warners": 5, "score": 4.105, "rising": -0.96, "first": "2025-11-04", "latest": "2026-10-18", "why": "Commenters use it to keep diagrams as code inside Markdown documentation, partly because it renders natively on GitHub with little setup, and often have LLMs or coding agents write it for them.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 7, "neutral": 8, "compare": 2, "warn": 5}, "spark": [0, 0, 1, 0, 3, 0, 0, 1, 1, 1, 0, 0], "listed": true, "loved": ["LLM-friendly", "Markdown docs"], "caveat": "Ugly rendering", "short_quote": "I love Mermaid and Markdown as a combination for documentation.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://mermaid.js.org", "pricing": "open source", "aliases": ["Mermaid"], "verdict": [{"text": "Commenters use it to keep diagrams as code inside Markdown documentation", "cites": [{"id": 748960352, "item_id": 46810022, "url": "https://news.ycombinator.com/item?id=46810022", "by": "Lio", "date": "2026-01-29", "stance": "recommend", "quote": "I love Mermaid and Markdown as a combination for documentation.", "excerpt": "I love Mermaid and Markdown as a combination for documentation. I wonder if we can get the ASCII render to run inside Vim/NeoVim?", "context": "", "use_case": "documentation diagrams", "switched_from": "", "story": "Beautiful Mermaid"}, {"id": 789518497, "item_id": 49344906, "url": "https://news.ycombinator.com/item?id=49344906", "by": "cdieck88", "date": "2026-08-18", "stance": "neutral", "quote": "I use Mermaid sometimes in my blog posts.", "excerpt": "Nice one! I use Mermaid sometimes in my blog posts. Whenever I make a small change, I have to run `astro build` to see the result in the generated HTML. With your editor, the whole process should be much faster.", "context": "", "use_case": "diagrams in blog posts", "switched_from": "", "story": "Show HN: Visimer \u2013 open-source visual editor for Mermaid diagrams"}, {"id": 788271041, "item_id": 49266940, "url": "https://news.ycombinator.com/item?id=49266940", "by": "hankbond", "date": "2026-08-11", "stance": "neutral", "quote": "we mostly render mermaid in confluence documents with a macro that renders it from the source in the document", "excerpt": "I have a bunch of bad layouts so I'll give it a shot, but there's no way my org would pay 120 a year per seat for this. I don't think for any price it would get through procurement to be honest. Also we mostly render mermaid in confluence documents with a macro that renders it from the source in the document. Not sure how that would relate to this pricing/auth model. Not trying to throw any shade or dissuade you from", "context": "works at an org using Confluence", "use_case": "rendering diagrams in docs", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}]}, {"text": ", partly because it renders natively on GitHub with little setup,", "cites": [{"id": 798005984, "item_id": 49875374, "url": "https://news.ycombinator.com/item?id=49875374", "by": "tonnydourado", "date": "2026-09-28", "stance": "neutral", "quote": "mermaid requires a lot less explanation or help with setup.", "excerpt": "I kinda agree, and I mostly switched to mermaid because of availability. Plantuml is much more annoying to setup, and doesn't render natively on GitHub (last I checked, anyway), so if I writing anything more collaborative, mermaid requires a lot less explanation or help with setup. And for me, one mediocre tool that works everywhere for everything beats a better tool that requires me to context switch too often, so I", "context": "", "use_case": "collaborative diagrams", "switched_from": "PlantUML", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}]}, {"text": " and often have LLMs or coding agents write it for them.", "cites": [{"id": 776294818, "item_id": 48518426, "url": "https://news.ycombinator.com/item?id=48518426", "by": "sadschnitzel", "date": "2026-06-13", "stance": "recommend", "quote": "diagrams-as-code ideas like Mermaid, all of which LLMs seem to \"get\" well", "excerpt": "I love the simplicity of this OKF spec, but I'm not sure everything can be represented well in \"just Markdown\". I've recently become intrigued by representing concepts so that AI can co-contribute effectively and token-efficiently (typically: find a good way to represent something as semi-structured sequential text), but also without compromising the human lens on the representation. We couldn't accept a downgrade of", "context": "data engineer", "use_case": "diagrams as code", "switched_from": "", "story": "Google proposes Open Knowledge Format based on Markdown"}, {"id": 758247201, "item_id": 47390450, "url": "https://news.ycombinator.com/item?id=47390450", "by": "x3n0ph3n3", "date": "2026-03-15", "stance": "recommend", "quote": "I've had it create diagrams with both the mermaid syntax and AWSDAC (Diagram-as-Code).", "excerpt": "I use Cursor and have been pretty happy with the Plan -> Revise -> Build -> Correct flow. I don't write everything with it, but the planning step does help me clarify my thoughts at times. One of the things that has helped the most is all the documentation I wrote inside the repository before I started using AI. It was intended for consumption by other engineers, but I think Cursor has consumed it more than any human", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "Ask HN: How is AI-assisted coding going for you professionally?"}, {"id": 784484864, "item_id": 49030304, "url": "https://news.ycombinator.com/item?id=49030304", "by": "mimo84", "date": "2026-07-23", "stance": "neutral", "quote": "convert any diagrams that I might have to mermaidjs style", "excerpt": "I have been using LLMs for this and they excel and understanding my very poor calligraphy. All I do I take photos of the pages I wrote by hand, and then ask the LLM to convert those notes to markdown and convert any diagrams that I might have to mermaidjs style, and worked wonders for me.", "context": "", "use_case": "diagrams from handwritten notes", "switched_from": "", "story": "Writing by Hand is Good for your Brain"}, {"id": 785310918, "item_id": 49081932, "url": "https://news.ycombinator.com/item?id=49081932", "by": "jumpalongjim", "date": "2026-07-28", "stance": "recommend", "quote": "Mermaid when I want my code architecture to be explained", "excerpt": "I no longer write code. In fact I develop in languages I'm not very familiar with. I use Claude Code, Grok Build and Pi as AI coding agents. I use Linear for issue / task management. I use Github for CI, building on multiple platforms and CD. I use Neovim when I want to read code, and Mermaid when I want my code architecture to be explained.", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "So what is your programming setup? Hype is making fundamentals confusing"}]}, {"text": " The most common complaint is ugly default rendering and weak layouts", "cites": [{"id": 765299104, "item_id": 47831194, "url": "https://news.ycombinator.com/item?id=47831194", "by": "ascorbic", "date": "2026-04-20", "stance": "warn", "quote": "I find Mermaid diagram rendering is quite ugly by default.", "excerpt": "I find Mermaid diagram rendering is quite ugly by default. I've gotten much better-looking results by asking it to just generate SVGs. As a bonus it can do animations too. e.g. see slide 3 here, which I first tried with Mermaid and then switched to SVG when I couldn't get the rendering to look good: https://talks.mk.gg/2026/atmosphereconf/", "context": "", "use_case": "diagram generation", "switched_from": "Mermaid", "story": "Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)"}, {"id": 797764705, "item_id": 49860294, "url": "https://news.ycombinator.com/item?id=49860294", "by": "kinduff", "date": "2026-09-26", "stance": "neutral", "quote": "I've always struggled with the presentation", "excerpt": "I love it, and I wish it was part of Mermaid. I've always struggled with the presentation and agents tend to hack or just straight use SVG lol", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}, {"id": 788286945, "item_id": 49267934, "url": "https://news.ycombinator.com/item?id=49267934", "by": "horacemorace", "date": "2026-08-11", "stance": "warn", "quote": "after they removed ELK from the base. Dagre just doesn\u2019t work for me.", "excerpt": "I\u2019ve switched to D2 from mermaid after they removed ELK from the base. Dagre just doesn\u2019t work for me. I wish there were better options.", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}]}, {"text": ", with others citing a heavy renderer, CVEs and an unwelcome push to monetize.", "cites": [{"id": 802270481, "item_id": 50141905, "url": "https://news.ycombinator.com/item?id=50141905", "by": "bilibali", "date": "2026-10-18", "stance": "warn", "quote": "I used mermaidjs for this but it is very heavy for this purpose", "excerpt": "Thank you very much for this! I use a build script for my static website that renders markdown files into HTML files and swaps out any mermaid codeblocks with rendered SVGs. I used mermaidjs for this but it is very heavy for this purpose (needs an entire chromium instance for the rendering). This seemed like a perfect fit for my use case and I already swapped it in. I noticed that the layouts were not 1 to 1, but to ", "context": "builds a static website", "use_case": "rendering diagrams to SVG", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}, {"id": 802219696, "item_id": 50138731, "url": "https://news.ycombinator.com/item?id=50138731", "by": "blazarquasar", "date": "2026-10-18", "stance": "warn", "quote": "has a questionable safety record (see CVEs)", "excerpt": "To quote another reply regarding mermaid by @kepano: > Mermaid.js has transitioned to \"mermaid.ai\" and is losing its original vision. Take a look at their new site. > The latest version of Mermaid (12.1) ships with yet another layout engine (three now), and has a questionable safety record (see CVEs). In Obsidian 1.13 we had to introduce a new toggle/warning because of potential unsafe Mermaid diagrams. https://x.com", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}, {"id": 782941792, "item_id": 48933862, "url": "https://news.ycombinator.com/item?id=48933862", "by": "bearjaws", "date": "2026-07-16", "stance": "warn", "quote": "Trying to monetize Mermaid was disgusting", "excerpt": "Thank you for creating an alternative to the toxic mermaid renderer on their website. Trying to monetize Mermaid was disgusting and honestly rings to me like trying to monetize Markdown.", "context": "", "use_case": "diagram rendering", "switched_from": "", "story": "Grok Build Is OSS"}]}], "praise": [{"label": "LLM-friendly", "summary": "Commenters routinely have LLMs and coding agents generate Mermaid diagrams, including from handwritten notes.", "quotes": [{"id": 776294818, "item_id": 48518426, "url": "https://news.ycombinator.com/item?id=48518426", "by": "sadschnitzel", "date": "2026-06-13", "stance": "recommend", "quote": "diagrams-as-code ideas like Mermaid, all of which LLMs seem to \"get\" well", "excerpt": "I love the simplicity of this OKF spec, but I'm not sure everything can be represented well in \"just Markdown\". I've recently become intrigued by representing concepts so that AI can co-contribute effectively and token-efficiently (typically: find a good way to represent something as semi-structured sequential text), but also without compromising the human lens on the representation. We couldn't accept a downgrade of", "context": "data engineer", "use_case": "diagrams as code", "switched_from": "", "story": "Google proposes Open Knowledge Format based on Markdown"}, {"id": 784484864, "item_id": 49030304, "url": "https://news.ycombinator.com/item?id=49030304", "by": "mimo84", "date": "2026-07-23", "stance": "neutral", "quote": "convert any diagrams that I might have to mermaidjs style", "excerpt": "I have been using LLMs for this and they excel and understanding my very poor calligraphy. All I do I take photos of the pages I wrote by hand, and then ask the LLM to convert those notes to markdown and convert any diagrams that I might have to mermaidjs style, and worked wonders for me.", "context": "", "use_case": "diagrams from handwritten notes", "switched_from": "", "story": "Writing by Hand is Good for your Brain"}, {"id": 758247201, "item_id": 47390450, "url": "https://news.ycombinator.com/item?id=47390450", "by": "x3n0ph3n3", "date": "2026-03-15", "stance": "recommend", "quote": "I've had it create diagrams with both the mermaid syntax and AWSDAC (Diagram-as-Code).", "excerpt": "I use Cursor and have been pretty happy with the Plan -> Revise -> Build -> Correct flow. I don't write everything with it, but the planning step does help me clarify my thoughts at times. One of the things that has helped the most is all the documentation I wrote inside the repository before I started using AI. It was intended for consumption by other engineers, but I think Cursor has consumed it more than any human", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "Ask HN: How is AI-assisted coding going for you professionally?"}]}, {"label": "Markdown docs", "summary": "Pairs well with Markdown for documentation, blog posts and Confluence pages.", "quotes": [{"id": 748960352, "item_id": 46810022, "url": "https://news.ycombinator.com/item?id=46810022", "by": "Lio", "date": "2026-01-29", "stance": "recommend", "quote": "I love Mermaid and Markdown as a combination for documentation.", "excerpt": "I love Mermaid and Markdown as a combination for documentation. I wonder if we can get the ASCII render to run inside Vim/NeoVim?", "context": "", "use_case": "documentation diagrams", "switched_from": "", "story": "Beautiful Mermaid"}, {"id": 789518497, "item_id": 49344906, "url": "https://news.ycombinator.com/item?id=49344906", "by": "cdieck88", "date": "2026-08-18", "stance": "neutral", "quote": "I use Mermaid sometimes in my blog posts.", "excerpt": "Nice one! I use Mermaid sometimes in my blog posts. Whenever I make a small change, I have to run `astro build` to see the result in the generated HTML. With your editor, the whole process should be much faster.", "context": "", "use_case": "diagrams in blog posts", "switched_from": "", "story": "Show HN: Visimer \u2013 open-source visual editor for Mermaid diagrams"}, {"id": 788271041, "item_id": 49266940, "url": "https://news.ycombinator.com/item?id=49266940", "by": "hankbond", "date": "2026-08-11", "stance": "neutral", "quote": "we mostly render mermaid in confluence documents with a macro that renders it from the source in the document", "excerpt": "I have a bunch of bad layouts so I'll give it a shot, but there's no way my org would pay 120 a year per seat for this. I don't think for any price it would get through procurement to be honest. Also we mostly render mermaid in confluence documents with a macro that renders it from the source in the document. Not sure how that would relate to this pricing/auth model. Not trying to throw any shade or dissuade you from", "context": "works at an org using Confluence", "use_case": "rendering diagrams in docs", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}]}, {"label": "Available everywhere", "summary": "Simple syntax that renders on GitHub and needs less setup than PlantUML.", "quotes": [{"id": 798005984, "item_id": 49875374, "url": "https://news.ycombinator.com/item?id=49875374", "by": "tonnydourado", "date": "2026-09-28", "stance": "neutral", "quote": "mermaid requires a lot less explanation or help with setup.", "excerpt": "I kinda agree, and I mostly switched to mermaid because of availability. Plantuml is much more annoying to setup, and doesn't render natively on GitHub (last I checked, anyway), so if I writing anything more collaborative, mermaid requires a lot less explanation or help with setup. And for me, one mediocre tool that works everywhere for everything beats a better tool that requires me to context switch too often, so I", "context": "", "use_case": "collaborative diagrams", "switched_from": "PlantUML", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}, {"id": 732942320, "item_id": 45808895, "url": "https://news.ycombinator.com/item?id=45808895", "by": "robot-wrangler", "date": "2025-11-04", "stance": "neutral", "quote": "mermaid is very simple", "excerpt": "Generating and displaying diagrams in mermaid, svg, or css has become one of my go-to tests for reasoning. This seems fair because while SVG is admittedly syntactically difficult and maybe not emphasized in training, CSS is certainly a popular output target, and mermaid is very simple. It seems like SOTA should be able to draw and modify things that it \"understands\". I'm much more interested in stuff like Venn diagra", "context": "", "use_case": "diagram generation tests for AI", "switched_from": "", "story": "Visual Features Across Modalities: SVG and ASCII Art Cross-Modal Understanding"}]}, {"label": "Architecture diagrams", "summary": "Used to explain code architecture and to maintain attack trees during security reviews.", "quotes": [{"id": 785310918, "item_id": 49081932, "url": "https://news.ycombinator.com/item?id=49081932", "by": "jumpalongjim", "date": "2026-07-28", "stance": "recommend", "quote": "Mermaid when I want my code architecture to be explained", "excerpt": "I no longer write code. In fact I develop in languages I'm not very familiar with. I use Claude Code, Grok Build and Pi as AI coding agents. I use Linear for issue / task management. I use Github for CI, building on multiple platforms and CD. I use Neovim when I want to read code, and Mermaid when I want my code architecture to be explained.", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "So what is your programming setup? Hype is making fundamentals confusing"}, {"id": 791948000, "item_id": 49496750, "url": "https://news.ycombinator.com/item?id=49496750", "by": "aiman_alsari", "date": "2026-08-30", "stance": "recommend", "quote": "I've been using mermaid to create attack trees", "excerpt": "Yeah I do something similar. I've been using mermaid to create attack trees and as we explore the codebase for vulnerabilities we keep the tree up to date. This is how I used to do it before LLMs too, it's just way faster now", "context": "Security-minded code explorer", "use_case": "attack trees for vulnerability research", "switched_from": "", "story": "I accidentally turned LLM memory into program analysis"}]}], "caveats": [{"label": "Ugly rendering", "summary": "Default output looks poor, and some users fall back to hand-made SVG instead.", "quotes": [{"id": 765299104, "item_id": 47831194, "url": "https://news.ycombinator.com/item?id=47831194", "by": "ascorbic", "date": "2026-04-20", "stance": "warn", "quote": "I find Mermaid diagram rendering is quite ugly by default.", "excerpt": "I find Mermaid diagram rendering is quite ugly by default. I've gotten much better-looking results by asking it to just generate SVGs. As a bonus it can do animations too. e.g. see slide 3 here, which I first tried with Mermaid and then switched to SVG when I couldn't get the rendering to look good: https://talks.mk.gg/2026/atmosphereconf/", "context": "", "use_case": "diagram generation", "switched_from": "Mermaid", "story": "Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)"}, {"id": 797764705, "item_id": 49860294, "url": "https://news.ycombinator.com/item?id=49860294", "by": "kinduff", "date": "2026-09-26", "stance": "neutral", "quote": "I've always struggled with the presentation", "excerpt": "I love it, and I wish it was part of Mermaid. I've always struggled with the presentation and agents tend to hack or just straight use SVG lol", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}]}, {"label": "Layout engines", "summary": "One user switched to D2 after ELK was removed from the base package and Dagre layouts fell short.", "quotes": [{"id": 788286945, "item_id": 49267934, "url": "https://news.ycombinator.com/item?id=49267934", "by": "horacemorace", "date": "2026-08-11", "stance": "warn", "quote": "after they removed ELK from the base. Dagre just doesn\u2019t work for me.", "excerpt": "I\u2019ve switched to D2 from mermaid after they removed ELK from the base. Dagre just doesn\u2019t work for me. I wish there were better options.", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}]}, {"label": "Heavy renderer", "summary": "Server-side rendering to SVG needs a full Chromium instance.", "quotes": [{"id": 802270481, "item_id": 50141905, "url": "https://news.ycombinator.com/item?id=50141905", "by": "bilibali", "date": "2026-10-18", "stance": "warn", "quote": "I used mermaidjs for this but it is very heavy for this purpose", "excerpt": "Thank you very much for this! I use a build script for my static website that renders markdown files into HTML files and swaps out any mermaid codeblocks with rendered SVGs. I used mermaidjs for this but it is very heavy for this purpose (needs an entire chromium instance for the rendering). This seemed like a perfect fit for my use case and I already swapped it in. I noticed that the layouts were not 1 to 1, but to ", "context": "builds a static website", "use_case": "rendering diagrams to SVG", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}]}, {"label": "Security", "summary": "Commenters point to CVEs and an Obsidian warning about potentially unsafe diagrams.", "quotes": [{"id": 802219696, "item_id": 50138731, "url": "https://news.ycombinator.com/item?id=50138731", "by": "blazarquasar", "date": "2026-10-18", "stance": "warn", "quote": "has a questionable safety record (see CVEs)", "excerpt": "To quote another reply regarding mermaid by @kepano: > Mermaid.js has transitioned to \"mermaid.ai\" and is losing its original vision. Take a look at their new site. > The latest version of Mermaid (12.1) ships with yet another layout engine (three now), and has a questionable safety record (see CVEs). In Obsidian 1.13 we had to introduce a new toggle/warning because of potential unsafe Mermaid diagrams. https://x.com", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}]}, {"label": "Monetization", "summary": "Some dislike the move toward a commercial mermaid.ai offering.", "quotes": [{"id": 782941792, "item_id": 48933862, "url": "https://news.ycombinator.com/item?id=48933862", "by": "bearjaws", "date": "2026-07-16", "stance": "warn", "quote": "Trying to monetize Mermaid was disgusting", "excerpt": "Thank you for creating an alternative to the toxic mermaid renderer on their website. Trying to monetize Mermaid was disgusting and honestly rings to me like trying to monetize Markdown.", "context": "", "use_case": "diagram rendering", "switched_from": "", "story": "Grok Build Is OSS"}, {"id": 802219696, "item_id": 50138731, "url": "https://news.ycombinator.com/item?id=50138731", "by": "blazarquasar", "date": "2026-10-18", "stance": "warn", "quote": "has a questionable safety record (see CVEs)", "excerpt": "To quote another reply regarding mermaid by @kepano: > Mermaid.js has transitioned to \"mermaid.ai\" and is losing its original vision. Take a look at their new site. > The latest version of Mermaid (12.1) ships with yet another layout engine (three now), and has a questionable safety record (see CVEs). In Obsidian 1.13 we had to introduce a new toggle/warning because of potential unsafe Mermaid diagrams. https://x.com", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}]}, {"label": "Agent output", "summary": "Some users struggle to get AI agents to produce good Mermaid diagrams.", "quotes": [{"id": 781464928, "item_id": 48841558, "url": "https://news.ycombinator.com/item?id=48841558", "by": "jameswhitford", "date": "2026-07-08", "stance": "neutral", "quote": "I love mermaid but have struggled to get my agents to be any good at it.", "excerpt": "This is awesome! I love mermaid but have struggled to get my agents to be any good at it. Maybe I just need to context engineer a little better", "context": "", "use_case": "diagrams with agents", "switched_from": "", "story": "Show HN: Agent Draw: An agent draws while you talk, built on TLDraw"}, {"id": 797764705, "item_id": 49860294, "url": "https://news.ycombinator.com/item?id=49860294", "by": "kinduff", "date": "2026-09-26", "stance": "neutral", "quote": "I've always struggled with the presentation", "excerpt": "I love it, and I wish it was part of Mermaid. I've always struggled with the presentation and agents tend to hack or just straight use SVG lol", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}]}], "who": [{"by": "aiman_alsari", "context": "Security-minded code explorer", "url": "https://news.ycombinator.com/item?id=49496750", "date": "2026-08-30"}, {"by": "hankbond", "context": "works at an org using Confluence", "url": "https://news.ycombinator.com/item?id=49266940", "date": "2026-08-11"}, {"by": "sadschnitzel", "context": "data engineer", "url": "https://news.ycombinator.com/item?id=48518426", "date": "2026-06-13"}], "tags": ["for documentation", "for AI-assisted workflows", "for GitHub collaboration", "for static sites and blogs", "for threat modeling"], "use_cases": ["diagrams", "architecture diagrams", "rendering diagrams to svg", "collaborative diagrams", "diagrams for plans", "attack trees for vulnerability research"], "compared": [{"slug": "d2", "name": "D2", "co": 5, "switched_from": 0, "switched_to": 2}, {"slug": "pele", "name": "Pele", "co": 3, "switched_from": 0, "switched_to": 1}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50132193", "title": "Pele \u2013 Mermaid diagrams as themeable SVG", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49858513", "title": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49196657", "title": "Show HN: Line9 - a Mermaid rendering engine with its own layout", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49833867", "title": "Show HN: Whiteboard (YC W26) \u2013 An open-source IDE for thoughtful software design", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49485416", "title": "I accidentally turned LLM memory into program analysis", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49335470", "title": "Show HN: Visimer \u2013 open-source visual editor for Mermaid diagrams", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {"recommend": 3}, "2026-04": {"warn": 1, "compare": 1}, "2026-05": {}, "2026-06": {"recommend": 1, "neutral": 1}, "2026-07": {"neutral": 2, "warn": 1, "recommend": 1}, "2026-08": {"neutral": 2, "warn": 1, "recommend": 1}, "2026-09": {"compare": 1, "neutral": 2}, "2026-10": {"warn": 2}}, "quotes": [{"id": 802270481, "item_id": 50141905, "url": "https://news.ycombinator.com/item?id=50141905", "by": "bilibali", "date": "2026-10-18", "stance": "warn", "quote": "I used mermaidjs for this but it is very heavy for this purpose", "excerpt": "Thank you very much for this! I use a build script for my static website that renders markdown files into HTML files and swaps out any mermaid codeblocks with rendered SVGs. I used mermaidjs for this but it is very heavy for this purpose (needs an entire chromium instance for the rendering). This seemed like a perfect fit for my use case and I already swapped it in. I noticed that the layouts were not 1 to 1, but to ", "context": "builds a static website", "use_case": "rendering diagrams to SVG", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}, {"id": 802219696, "item_id": 50138731, "url": "https://news.ycombinator.com/item?id=50138731", "by": "blazarquasar", "date": "2026-10-18", "stance": "warn", "quote": "has a questionable safety record (see CVEs)", "excerpt": "To quote another reply regarding mermaid by @kepano: > Mermaid.js has transitioned to \"mermaid.ai\" and is losing its original vision. Take a look at their new site. > The latest version of Mermaid (12.1) ships with yet another layout engine (three now), and has a questionable safety record (see CVEs). In Obsidian 1.13 we had to introduce a new toggle/warning because of potential unsafe Mermaid diagrams. https://x.com", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Pele \u2013 Mermaid diagrams as themeable SVG"}, {"id": 798005984, "item_id": 49875374, "url": "https://news.ycombinator.com/item?id=49875374", "by": "tonnydourado", "date": "2026-09-28", "stance": "neutral", "quote": "mermaid requires a lot less explanation or help with setup.", "excerpt": "I kinda agree, and I mostly switched to mermaid because of availability. Plantuml is much more annoying to setup, and doesn't render natively on GitHub (last I checked, anyway), so if I writing anything more collaborative, mermaid requires a lot less explanation or help with setup. And for me, one mediocre tool that works everywhere for everything beats a better tool that requires me to context switch too often, so I", "context": "", "use_case": "collaborative diagrams", "switched_from": "PlantUML", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}, {"id": 797764705, "item_id": 49860294, "url": "https://news.ycombinator.com/item?id=49860294", "by": "kinduff", "date": "2026-09-26", "stance": "neutral", "quote": "I've always struggled with the presentation", "excerpt": "I love it, and I wish it was part of Mermaid. I've always struggled with the presentation and agents tend to hack or just straight use SVG lol", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Reladraw \u2013 A diagram language where you decide where to place things"}, {"id": 797355425, "item_id": 49834714, "url": "https://news.ycombinator.com/item?id=49834714", "by": "2001zhaozhao", "date": "2026-09-24", "stance": "compare", "quote": "some simple custom Mermaid format, which the agent can write as artifact files", "excerpt": "This is definitely getting at least some things right about how we work with agents today, specifically that we often work at the architecture level, and we need a better alternative to the current Plan Mode offered by coding agents to efficiently architect software at a high level, which is more visual and offers better back-and-forth incrementation with the agent than simply \"reject final plan with X message\". From", "context": "", "use_case": "diagrams for plans", "switched_from": "", "story": "Show HN: Whiteboard (YC W26) \u2013 An open-source IDE for thoughtful software design"}, {"id": 791948000, "item_id": 49496750, "url": "https://news.ycombinator.com/item?id=49496750", "by": "aiman_alsari", "date": "2026-08-30", "stance": "recommend", "quote": "I've been using mermaid to create attack trees", "excerpt": "Yeah I do something similar. I've been using mermaid to create attack trees and as we explore the codebase for vulnerabilities we keep the tree up to date. This is how I used to do it before LLMs too, it's just way faster now", "context": "Security-minded code explorer", "use_case": "attack trees for vulnerability research", "switched_from": "", "story": "I accidentally turned LLM memory into program analysis"}, {"id": 789518497, "item_id": 49344906, "url": "https://news.ycombinator.com/item?id=49344906", "by": "cdieck88", "date": "2026-08-18", "stance": "neutral", "quote": "I use Mermaid sometimes in my blog posts.", "excerpt": "Nice one! I use Mermaid sometimes in my blog posts. Whenever I make a small change, I have to run `astro build` to see the result in the generated HTML. With your editor, the whole process should be much faster.", "context": "", "use_case": "diagrams in blog posts", "switched_from": "", "story": "Show HN: Visimer \u2013 open-source visual editor for Mermaid diagrams"}, {"id": 788286945, "item_id": 49267934, "url": "https://news.ycombinator.com/item?id=49267934", "by": "horacemorace", "date": "2026-08-11", "stance": "warn", "quote": "after they removed ELK from the base. Dagre just doesn\u2019t work for me.", "excerpt": "I\u2019ve switched to D2 from mermaid after they removed ELK from the base. Dagre just doesn\u2019t work for me. I wish there were better options.", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}, {"id": 788271041, "item_id": 49266940, "url": "https://news.ycombinator.com/item?id=49266940", "by": "hankbond", "date": "2026-08-11", "stance": "neutral", "quote": "we mostly render mermaid in confluence documents with a macro that renders it from the source in the document", "excerpt": "I have a bunch of bad layouts so I'll give it a shot, but there's no way my org would pay 120 a year per seat for this. I don't think for any price it would get through procurement to be honest. Also we mostly render mermaid in confluence documents with a macro that renders it from the source in the document. Not sure how that would relate to this pricing/auth model. Not trying to throw any shade or dissuade you from", "context": "works at an org using Confluence", "use_case": "rendering diagrams in docs", "switched_from": "", "story": "Show HN: Line9 - a Mermaid rendering engine with its own layout"}, {"id": 785310918, "item_id": 49081932, "url": "https://news.ycombinator.com/item?id=49081932", "by": "jumpalongjim", "date": "2026-07-28", "stance": "recommend", "quote": "Mermaid when I want my code architecture to be explained", "excerpt": "I no longer write code. In fact I develop in languages I'm not very familiar with. I use Claude Code, Grok Build and Pi as AI coding agents. I use Linear for issue / task management. I use Github for CI, building on multiple platforms and CD. I use Neovim when I want to read code, and Mermaid when I want my code architecture to be explained.", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "So what is your programming setup? Hype is making fundamentals confusing"}, {"id": 784484864, "item_id": 49030304, "url": "https://news.ycombinator.com/item?id=49030304", "by": "mimo84", "date": "2026-07-23", "stance": "neutral", "quote": "convert any diagrams that I might have to mermaidjs style", "excerpt": "I have been using LLMs for this and they excel and understanding my very poor calligraphy. All I do I take photos of the pages I wrote by hand, and then ask the LLM to convert those notes to markdown and convert any diagrams that I might have to mermaidjs style, and worked wonders for me.", "context": "", "use_case": "diagrams from handwritten notes", "switched_from": "", "story": "Writing by Hand is Good for your Brain"}, {"id": 782941792, "item_id": 48933862, "url": "https://news.ycombinator.com/item?id=48933862", "by": "bearjaws", "date": "2026-07-16", "stance": "warn", "quote": "Trying to monetize Mermaid was disgusting", "excerpt": "Thank you for creating an alternative to the toxic mermaid renderer on their website. Trying to monetize Mermaid was disgusting and honestly rings to me like trying to monetize Markdown.", "context": "", "use_case": "diagram rendering", "switched_from": "", "story": "Grok Build Is OSS"}, {"id": 781464928, "item_id": 48841558, "url": "https://news.ycombinator.com/item?id=48841558", "by": "jameswhitford", "date": "2026-07-08", "stance": "neutral", "quote": "I love mermaid but have struggled to get my agents to be any good at it.", "excerpt": "This is awesome! I love mermaid but have struggled to get my agents to be any good at it. Maybe I just need to context engineer a little better", "context": "", "use_case": "diagrams with agents", "switched_from": "", "story": "Show HN: Agent Draw: An agent draws while you talk, built on TLDraw"}, {"id": 778948370, "item_id": 48684273, "url": "https://news.ycombinator.com/item?id=48684273", "by": "nitin7", "date": "2026-06-26", "stance": "neutral", "quote": "I use a few such as excalidraw/mermaid etc.", "excerpt": "This is interesting and a promising start. I gave this a shot. I'd love to see support for Bases and obsidian plugins that are typescript/open source anyway - I use a few such as excalidraw/mermaid etc. I also want to use my local model. When collaborating on Notion, we had to pop into Google docs for comments, suggestions and history. I see this as important even when working with AI on something.", "context": "", "use_case": "diagramming plugin", "switched_from": "", "story": "Show HN: OpenKnowledge \u2013 open-source alternative to Obsidian/Notion"}, {"id": 776294818, "item_id": 48518426, "url": "https://news.ycombinator.com/item?id=48518426", "by": "sadschnitzel", "date": "2026-06-13", "stance": "recommend", "quote": "diagrams-as-code ideas like Mermaid, all of which LLMs seem to \"get\" well", "excerpt": "I love the simplicity of this OKF spec, but I'm not sure everything can be represented well in \"just Markdown\". I've recently become intrigued by representing concepts so that AI can co-contribute effectively and token-efficiently (typically: find a good way to represent something as semi-structured sequential text), but also without compromising the human lens on the representation. We couldn't accept a downgrade of", "context": "data engineer", "use_case": "diagrams as code", "switched_from": "", "story": "Google proposes Open Knowledge Format based on Markdown"}, {"id": 765682193, "item_id": 47855137, "url": "https://news.ycombinator.com/item?id=47855137", "by": "recsv-heredoc", "date": "2026-04-21", "stance": "compare", "quote": "might be great as a library or a lightweight alternative to Mermaid", "excerpt": "I tried to find them on GitHub. Doesn't seem to be FOSS/OSS either. Does address a real use-case - might be great as a library or a lightweight alternative to Mermaid. As SaaS it's a very hard sell.", "context": "", "use_case": "diagramming", "switched_from": "", "story": "Zindex \u2013 Diagram Infrastructure for Agents"}, {"id": 765299104, "item_id": 47831194, "url": "https://news.ycombinator.com/item?id=47831194", "by": "ascorbic", "date": "2026-04-20", "stance": "warn", "quote": "I find Mermaid diagram rendering is quite ugly by default.", "excerpt": "I find Mermaid diagram rendering is quite ugly by default. I've gotten much better-looking results by asking it to just generate SVGs. As a bonus it can do animations too. e.g. see slide 3 here, which I first tried with Mermaid and then switched to SVG when I couldn't get the rendering to look good: https://talks.mk.gg/2026/atmosphereconf/", "context": "", "use_case": "diagram generation", "switched_from": "Mermaid", "story": "Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)"}, {"id": 759454436, "item_id": 47465902, "url": "https://news.ycombinator.com/item?id=47465902", "by": "DarrenDev", "date": "2026-03-21", "stance": "recommend", "quote": "using ChatGPT for diagrams made me pay for Mermaid.", "excerpt": "Canva - I used it for simple designs but ChatGPT is better Grammarly - ChatGPT and Claude are way better, and much more customizable. If I were a human editor I'd be very worried. On the flip side, using ChatGPT for diagrams made me pay for Mermaid. It might only be a one year subscription.", "context": "", "use_case": "diagrams", "switched_from": "", "story": "Ask HN: Have you cancelled any software subscriptions because AI replaced them?"}, {"id": 758247201, "item_id": 47390450, "url": "https://news.ycombinator.com/item?id=47390450", "by": "x3n0ph3n3", "date": "2026-03-15", "stance": "recommend", "quote": "I've had it create diagrams with both the mermaid syntax and AWSDAC (Diagram-as-Code).", "excerpt": "I use Cursor and have been pretty happy with the Plan -> Revise -> Build -> Correct flow. I don't write everything with it, but the planning step does help me clarify my thoughts at times. One of the things that has helped the most is all the documentation I wrote inside the repository before I started using AI. It was intended for consumption by other engineers, but I think Cursor has consumed it more than any human", "context": "", "use_case": "architecture diagrams", "switched_from": "", "story": "Ask HN: How is AI-assisted coding going for you professionally?"}, {"id": 756306097, "item_id": 47269131, "url": "https://news.ycombinator.com/item?id=47269131", "by": "halfcat", "date": "2026-03-05", "stance": "recommend", "quote": "I love Streamlit and mermaid", "excerpt": "The idea that people are going to YOLO changes to DNS and Postgres migrations gives me such anxiety, knowing the pain people are in for when they \u201cpoint Claude at it, one prompt, and done\u201d, then their business is dead in the water for a week or two while every executive is trying to micromanage the recovery. I love Streamlit and mermaid, but if these are the shining examples this isn\u2019t a good sign. These have hard ce", "context": "", "use_case": "diagrams", "switched_from": "", "story": "As AI Turns Prevalent, UI Becomes Irrelevant"}, {"id": 748960352, "item_id": 46810022, "url": "https://news.ycombinator.com/item?id=46810022", "by": "Lio", "date": "2026-01-29", "stance": "recommend", "quote": "I love Mermaid and Markdown as a combination for documentation.", "excerpt": "I love Mermaid and Markdown as a combination for documentation. I wonder if we can get the ASCII render to run inside Vim/NeoVim?", "context": "", "use_case": "documentation diagrams", "switched_from": "", "story": "Beautiful Mermaid"}, {"id": 732942320, "item_id": 45808895, "url": "https://news.ycombinator.com/item?id=45808895", "by": "robot-wrangler", "date": "2025-11-04", "stance": "neutral", "quote": "mermaid is very simple", "excerpt": "Generating and displaying diagrams in mermaid, svg, or css has become one of my go-to tests for reasoning. This seems fair because while SVG is admittedly syntactically difficult and maybe not emphasized in training, CSS is certainly a popular output target, and mermaid is very simple. It seems like SOTA should be able to draw and modify things that it \"understands\". I'm much more interested in stuff like Venn diagra", "context": "", "use_case": "diagram generation tests for AI", "switched_from": "", "story": "Visual Features Across Modalities: SVG and ASCII Art Cross-Modal Understanding"}]}