Skip to content
glyphcss

glyphcss vs beautiful-mermaid vs mermaid-ascii

This compares @glyphcss/diagrams and @glyphcss/charts with beautiful-mermaid and mermaid-ascii. Competitor entries describe their public READMEs, checked on 23 October 2026. An empty cell means the README does not establish that feature, not that it is unsupported. Family support does not imply every Mermaid feature is reproduced.

       ┌─────────────┐   ╭─────────────╮  yes  ┌──────────────┐         
       │ Submit cart │───▶ ◆ In stock? │───────▶ Take payment │         
       └─────────────┘   ╰─────────────╯       └──────────────┘         
                                │                     │                 
                             no │                     └────────┐        
                                │                              │        
                         ┌──────▼───────┐    ┌───────────────┐ │        
                         │ Notify buyer │────▶ Join waitlist │ │        
                         └──────────────┘    └───────────────┘ │        
                                                               │        
             ┌─────────────────────────────────────────────────┘        
             │                                                          
       ┌─────▼──────┐   ┌─────────────┐    ┌──────────────┐             
       │ Pack order │───▶ Ship parcel │────▶ Send receipt │             
       └────────────┘   └─────────────┘    └──────────────┘             
Code
import { renderGlyphDiagram } from "@glyphcss/diagrams";

const { text } = await renderGlyphDiagram(`
flowchart LR
 Cart[Submit cart] --> Stock{In stock?}
 Stock -->|yes| Pay[Take payment]
 Pay --> Pack[Pack order]
 Pack --> Ship[Ship parcel]
 Ship --> Receipt[Send receipt]
 Stock -->|no| Notify[Notify buyer]
 Notify --> Wait[Join waitlist]
`, {
  target: "chat",
  width: 72,
  height: 23,
  overflow: "expand"
});
console.log(text);
Featureglyphcssbeautiful-mermaidmermaid-ascii
Diagram familiesFlowchart, sequence, state, class, ER, mindmap, gitGraph, block, architecture, requirement, C4; JSON graphs, sequences, and lanesFlowchart, state, sequence, class, ERGraph/flowchart, sequence, ER
ChartsLine, area, bar, scatter, pie/donut, heatmap, Sankey, funnel, treemap; Mermaid charts and schedulesXY bars, lines, combinations; ASCII and SVG
Text charsetsascii, box, blocks, braille; diagram borders remain whole-cellASCII or Unicode box drawing; XY bars also use blocksASCII or Unicode box drawing
Width fittingCell budgets, label wrapping, orientation fitting, diagram pagination; skill checks output fitGraph-only --max-width N or auto; retries compact spacing and warns if still too wide
Agent skillOne glyphcss-diagrams skill for charts and diagrams
RuntimeJavaScript/TypeScript; Node.js for CLI, browser for embedsTypeScript, no DOM dependencyGo; prebuilt CLI binaries
OutputPlain/ANSI text or escaped HTML spans for a <pre>SVG plus ASCII/Unicode, ANSI/HTML color modesTerminal text; HTTP rendering server
LicenseMITMIT

Glyphcss entries follow the diagrams README, charts README, and skill README. For beautiful-mermaid, see its features, ASCII chart support, and API reference. For mermaid-ascii, see usage and width fitting and supported types.

  • Use Glyphcss when you need chat-sized text, diagram panels, chart types beyond XY plots, or the bundled agent skill. Check render notes for adaptations; Mermaid styling and interactions are inert.
  • Use beautiful-mermaid when SVG, theme switching, or Shiki theme integration matters. Its README also documents synchronous rendering and interactive SVG chart tooltips. Charts are available there too.
  • Use mermaid-ascii when a prebuilt Go CLI or its HTTP server fits your workflow. Its README documents sequence frames and ER attribute tables as well as flowcharts.

Try the diagrams workbench, explore charts, or install the agent skill.