Generate Excalidraw diagrams from Mermaid
881
stars
57
commits
TypeScript
primary language
Mar 24, 2026
updated
Convert mermaid diagrams to excalidraw
Install packages:
yarn
Start development playground:
yarn start
Build command:
yarn build
parseMermaidToExcalidraw(diagramDefinition: string, config?: MermaidConfig)
The diagramDefinition is the mermaid diagram definition.
and config is the mermaid config. You can use the config param when you want to pass some custom config to mermaid.
Currently mermaid-to-excalidraw only supports the :point_down: config params
{
/**
* Whether to start the diagram automatically when the page loads.
* @default false
*/
startOnLoad?: boolean;
/**
* The flowchart curve style.
* @default "linear"
*/
flowchart?: {
curve?: "linear" | "basis";
};
/**
* Theme variables
* @default { fontSize: "20px" }
*/
themeVariables?: {
fontSize?: string;
};
/**
* Maximum number of edges to be rendered.
* @default 500
*/
maxEdges?: number;
/**
* Maximum number of characters to be rendered.
* @default 50000
*/
maxTextSize?: number;
}
Example code:
import { parseMermaidToExcalidraw } from "@excalidraw/mermaid-to-excalidraw";
try {
const { elements, files } = await parseMermaidToExcalidraw(
diagramDefinition,
{
themeVariables: {
fontSize: "25px",
},
}
);
// Render elements and files on Excalidraw
} catch (e) {
// Parse error, displaying error message to users
}
Try out here.
yarn test:visual to run visual testsyarn test:visual:update to update visual testsyarn test:visual:dev to run visual test dev server (usually better to use this over the playground)Head over to the docs.
Head over to the docs.
TypeScript
91.1%
SCSS
4.6%
HTML
4.0%
Generate Excalidraw diagrams from Mermaid
881
stars
57
commits
TypeScript
primary language
Mar 24, 2026
updated
Convert mermaid diagrams to excalidraw
Install packages:
yarn
Start development playground:
yarn start
Build command:
yarn build
parseMermaidToExcalidraw(diagramDefinition: string, config?: MermaidConfig)
The diagramDefinition is the mermaid diagram definition.
and config is the mermaid config. You can use the config param when you want to pass some custom config to mermaid.
Currently mermaid-to-excalidraw only supports the :point_down: config params
{
/**
* Whether to start the diagram automatically when the page loads.
* @default false
*/
startOnLoad?: boolean;
/**
* The flowchart curve style.
* @default "linear"
*/
flowchart?: {
curve?: "linear" | "basis";
};
/**
* Theme variables
* @default { fontSize: "20px" }
*/
themeVariables?: {
fontSize?: string;
};
/**
* Maximum number of edges to be rendered.
* @default 500
*/
maxEdges?: number;
/**
* Maximum number of characters to be rendered.
* @default 50000
*/
maxTextSize?: number;
}
Example code:
import { parseMermaidToExcalidraw } from "@excalidraw/mermaid-to-excalidraw";
try {
const { elements, files } = await parseMermaidToExcalidraw(
diagramDefinition,
{
themeVariables: {
fontSize: "25px",
},
}
);
// Render elements and files on Excalidraw
} catch (e) {
// Parse error, displaying error message to users
}
Try out here.
yarn test:visual to run visual testsyarn test:visual:update to update visual testsyarn test:visual:dev to run visual test dev server (usually better to use this over the playground)Head over to the docs.
Head over to the docs.
TypeScript
91.1%
SCSS
4.6%
HTML
4.0%