# Diagramming compared head to head > 99 head-to-head comparisons of diagramming APIs and diagram-as-code for AI agents, grouped by the job each pair shares, with benchmark scores for both sides. - Canonical: https://www.anchorterminal.com/compare/diagramming/ - Markdown: https://www.anchorterminal.com/compare/diagramming/index.md (~3,350 tokens) - Slim: https://www.anchorterminal.com/compare/diagramming/index.min.md (~3,280 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/diagramming/index.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-09 - Ranked table: https://www.anchorterminal.com/categories/diagramming.md - Shortlist and picks by need: https://www.anchorterminal.com/best/diagramming/index.md ## Ranked 1. [PlantUML](https://www.anchorterminal.com/tools/plantuml.md) B 66.9 2. [D2](https://www.anchorterminal.com/tools/d2.md) B 65.3 3. [Miro API + MCP](https://www.anchorterminal.com/tools/miro.md) B 65 4. [draw.io + MCP](https://www.anchorterminal.com/tools/drawio.md) B 62.2 5. [tldraw SDK + MCP](https://www.anchorterminal.com/tools/tldraw.md) C 60.7 6. [Lucid API + MCP](https://www.anchorterminal.com/tools/lucid.md) C 60.6 7. [Diagrams.so API + MCP](https://www.anchorterminal.com/tools/diagrams-so.md) C 60 8. [Structurizr + MCP](https://www.anchorterminal.com/tools/structurizr.md) C 59.9 9. [Kroki](https://www.anchorterminal.com/tools/kroki.md) C 59.2 10. [Excalidraw](https://www.anchorterminal.com/tools/excalidraw.md) C 54.5 11. [Whimsical MCP](https://www.anchorterminal.com/tools/whimsical.md) D 52.6 12. [Mural MCP](https://www.anchorterminal.com/tools/mural-mcp.md) E 41.9 13. [Eraser API + MCP](https://www.anchorterminal.com/tools/eraser.md) E 38.6 14. [Cloudviz API](https://www.anchorterminal.com/tools/cloudviz.md) F 37.7 15. [Mermaid Chart MCP](https://www.anchorterminal.com/tools/mermaid-chart.md) F 31.4 ## Diagram creation - [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md): F 37.7 vs B 65.3 - [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md): F 37.7 vs C 60 - [Cloudviz API vs draw.io + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-drawio.md): F 37.7 vs B 62.2 - [Cloudviz API vs Eraser API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-eraser.md): F 37.7 vs E 38.6 - [Cloudviz API vs Excalidraw](https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw.md): F 37.7 vs C 54.5 - [Cloudviz API vs Kroki](https://www.anchorterminal.com/compare/cloudviz-vs-kroki.md): F 37.7 vs C 59.2 - [Cloudviz API vs Lucid API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-lucid.md): F 37.7 vs C 60.6 - [Cloudviz API vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/cloudviz-vs-mermaid-chart.md): F 37.7 vs F 31.4 - [Cloudviz API vs Mural MCP](https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp.md): F 37.7 vs E 41.9 - [Cloudviz API vs PlantUML](https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.md): F 37.7 vs B 66.9 - [Cloudviz API vs Structurizr + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.md): F 37.7 vs C 59.9 - [Cloudviz API vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-tldraw.md): F 37.7 vs C 60.7 - [Cloudviz API vs Whimsical MCP](https://www.anchorterminal.com/compare/cloudviz-vs-whimsical.md): F 37.7 vs D 52.6 - [D2 vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/d2-vs-diagrams-so.md): B 65.3 vs C 60 - [D2 vs Mural MCP](https://www.anchorterminal.com/compare/d2-vs-mural-mcp.md): B 65.3 vs E 41.9 - [D2 vs Whimsical MCP](https://www.anchorterminal.com/compare/d2-vs-whimsical.md): B 65.3 vs D 52.6 - [Diagrams.so API + MCP vs draw.io + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-drawio.md): C 60 vs B 62.2 - [Diagrams.so API + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.md): C 60 vs E 38.6 - [Diagrams.so API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.md): C 60 vs C 54.5 - [Diagrams.so API + MCP vs Kroki](https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.md): C 60 vs C 59.2 - [Diagrams.so API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-lucid.md): C 60 vs C 60.6 - [Diagrams.so API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart.md): C 60 vs F 31.4 - [Diagrams.so API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.md): C 60 vs E 41.9 - [Diagrams.so API + MCP vs PlantUML](https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md): C 60 vs B 66.9 - [Diagrams.so API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md): C 60 vs C 59.9 - [Diagrams.so API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.md): C 60 vs C 60.7 - [Diagrams.so API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical.md): C 60 vs D 52.6 - [draw.io + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/drawio-vs-eraser.md): B 62.2 vs E 38.6 - [draw.io + MCP vs Excalidraw](https://www.anchorterminal.com/compare/drawio-vs-excalidraw.md): B 62.2 vs C 54.5 - [draw.io + MCP vs Kroki](https://www.anchorterminal.com/compare/drawio-vs-kroki.md): B 62.2 vs C 59.2 - [draw.io + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/drawio-vs-lucid.md): B 62.2 vs C 60.6 - [draw.io + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/drawio-vs-mermaid-chart.md): B 62.2 vs F 31.4 - [draw.io + MCP vs Mural MCP](https://www.anchorterminal.com/compare/drawio-vs-mural-mcp.md): B 62.2 vs E 41.9 - [draw.io + MCP vs PlantUML](https://www.anchorterminal.com/compare/drawio-vs-plantuml.md): B 62.2 vs B 66.9 - [draw.io + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/drawio-vs-structurizr.md): B 62.2 vs C 59.9 - [draw.io + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/drawio-vs-tldraw.md): B 62.2 vs C 60.7 - [draw.io + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/drawio-vs-whimsical.md): B 62.2 vs D 52.6 - [Eraser API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/eraser-vs-excalidraw.md): E 38.6 vs C 54.5 - [Eraser API + MCP vs Kroki](https://www.anchorterminal.com/compare/eraser-vs-kroki.md): E 38.6 vs C 59.2 - [Eraser API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/eraser-vs-lucid.md): E 38.6 vs C 60.6 - [Eraser API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/eraser-vs-mermaid-chart.md): E 38.6 vs F 31.4 - [Eraser API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/eraser-vs-mural-mcp.md): E 38.6 vs E 41.9 - [Eraser API + MCP vs PlantUML](https://www.anchorterminal.com/compare/eraser-vs-plantuml.md): E 38.6 vs B 66.9 - [Eraser API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/eraser-vs-structurizr.md): E 38.6 vs C 59.9 - [Eraser API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/eraser-vs-tldraw.md): E 38.6 vs C 60.7 - [Eraser API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/eraser-vs-whimsical.md): E 38.6 vs D 52.6 - [Excalidraw vs Kroki](https://www.anchorterminal.com/compare/excalidraw-vs-kroki.md): C 54.5 vs C 59.2 - [Excalidraw vs Lucid API + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-lucid.md): C 54.5 vs C 60.6 - [Excalidraw vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart.md): C 54.5 vs F 31.4 - [Excalidraw vs Mural MCP](https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.md): C 54.5 vs E 41.9 - [Excalidraw vs PlantUML](https://www.anchorterminal.com/compare/excalidraw-vs-plantuml.md): C 54.5 vs B 66.9 - [Excalidraw vs Structurizr + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-structurizr.md): C 54.5 vs C 59.9 - [Excalidraw vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.md): C 54.5 vs C 60.7 - [Excalidraw vs Whimsical MCP](https://www.anchorterminal.com/compare/excalidraw-vs-whimsical.md): C 54.5 vs D 52.6 - [Kroki vs Mural MCP](https://www.anchorterminal.com/compare/kroki-vs-mural-mcp.md): C 59.2 vs E 41.9 - [Kroki vs Whimsical MCP](https://www.anchorterminal.com/compare/kroki-vs-whimsical.md): C 59.2 vs D 52.6 - [Lucid API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/lucid-vs-mermaid-chart.md): C 60.6 vs F 31.4 - [Lucid API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/lucid-vs-mural-mcp.md): C 60.6 vs E 41.9 - [Lucid API + MCP vs PlantUML](https://www.anchorterminal.com/compare/lucid-vs-plantuml.md): C 60.6 vs B 66.9 - [Lucid API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/lucid-vs-structurizr.md): C 60.6 vs C 59.9 - [Lucid API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/lucid-vs-tldraw.md): C 60.6 vs C 60.7 - [Lucid API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/lucid-vs-whimsical.md): C 60.6 vs D 52.6 - [Mermaid Chart MCP vs Mural MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-mural-mcp.md): F 31.4 vs E 41.9 - [Mermaid Chart MCP vs PlantUML](https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml.md): F 31.4 vs B 66.9 - [Mermaid Chart MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-structurizr.md): F 31.4 vs C 59.9 - [Mermaid Chart MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-tldraw.md): F 31.4 vs C 60.7 - [Mermaid Chart MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-whimsical.md): F 31.4 vs D 52.6 - [Mural MCP vs PlantUML](https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.md): E 41.9 vs B 66.9 - [Mural MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr.md): E 41.9 vs C 59.9 - [Mural MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-tldraw.md): E 41.9 vs C 60.7 - [Mural MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-whimsical.md): E 41.9 vs D 52.6 - [PlantUML vs Whimsical MCP](https://www.anchorterminal.com/compare/plantuml-vs-whimsical.md): B 66.9 vs D 52.6 - [Structurizr + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/structurizr-vs-tldraw.md): C 59.9 vs C 60.7 - [Structurizr + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/structurizr-vs-whimsical.md): C 59.9 vs D 52.6 - [tldraw SDK + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/tldraw-vs-whimsical.md): C 60.7 vs D 52.6 ## Design files - [Figma API + MCP vs Miro API + MCP](https://www.anchorterminal.com/compare/figma-mcp-vs-miro.md): B 66 vs B 65 - [Framer Server API vs Miro API + MCP](https://www.anchorterminal.com/compare/framer-vs-miro.md): D 52.6 vs B 65 - [Miro API + MCP vs pen.dev](https://www.anchorterminal.com/compare/miro-vs-pen-dev.md): B 65 vs D 47.6 - [Miro API + MCP vs Penpot API + MCP](https://www.anchorterminal.com/compare/miro-vs-penpot.md): B 65 vs E 43.5 - [Miro API + MCP vs Sketch](https://www.anchorterminal.com/compare/miro-vs-sketch.md): B 65 vs D 53.5 - [Miro API + MCP vs Subframe](https://www.anchorterminal.com/compare/miro-vs-subframe.md): B 65 vs E 39.7 - [Miro API + MCP vs Zeplin](https://www.anchorterminal.com/compare/miro-vs-zeplin.md): B 65 vs D 47.5 ## Diagrams as code - [D2 vs draw.io + MCP](https://www.anchorterminal.com/compare/d2-vs-drawio.md): B 65.3 vs B 62.2 - [D2 vs Eraser API + MCP](https://www.anchorterminal.com/compare/d2-vs-eraser.md): B 65.3 vs E 38.6 - [D2 vs Excalidraw](https://www.anchorterminal.com/compare/d2-vs-excalidraw.md): B 65.3 vs C 54.5 - [D2 vs Kroki](https://www.anchorterminal.com/compare/d2-vs-kroki.md): B 65.3 vs C 59.2 - [D2 vs Lucid API + MCP](https://www.anchorterminal.com/compare/d2-vs-lucid.md): B 65.3 vs C 60.6 - [D2 vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/d2-vs-mermaid-chart.md): B 65.3 vs F 31.4 - [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md): B 65.3 vs B 66.9 - [D2 vs Structurizr + MCP](https://www.anchorterminal.com/compare/d2-vs-structurizr.md): B 65.3 vs C 59.9 - [D2 vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/d2-vs-tldraw.md): B 65.3 vs C 60.7 - [Kroki vs Lucid API + MCP](https://www.anchorterminal.com/compare/kroki-vs-lucid.md): C 59.2 vs C 60.6 - [Kroki vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/kroki-vs-mermaid-chart.md): C 59.2 vs F 31.4 - [Kroki vs PlantUML](https://www.anchorterminal.com/compare/kroki-vs-plantuml.md): C 59.2 vs B 66.9 - [Kroki vs Structurizr + MCP](https://www.anchorterminal.com/compare/kroki-vs-structurizr.md): C 59.2 vs C 59.9 - [Kroki vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/kroki-vs-tldraw.md): C 59.2 vs C 60.7 - [PlantUML vs Structurizr + MCP](https://www.anchorterminal.com/compare/plantuml-vs-structurizr.md): B 66.9 vs C 59.9 - [PlantUML vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/plantuml-vs-tldraw.md): B 66.9 vs C 60.7 ## Design canvases - [Melius vs Miro API + MCP](https://www.anchorterminal.com/compare/melius-vs-miro.md): C 54.1 vs B 65