Universal diagram format converter - Mermaid, Draw.io, Excalidraw, PlantUML, DOT, D2, Structurizr, BPMN, GraphML, Lucidchart
npm install @whitebite/diagram-converterbash
npm install @whitebite/diagram-converter
`
$3
`typescript
import { convert } from '@whitebite/diagram-converter';
// Convert Mermaid to Draw.io
const result = convert(mermaidCode, {
from: 'mermaid',
to: 'drawio',
});
console.log(result.output);
`
$3
| Format | Parse | Generate |
|--------|:-----:|:--------:|
| Mermaid | ✅ | ✅ |
| Draw.io | ✅ | ✅ |
| Excalidraw | ✅ | ✅ |
| PlantUML | ✅ | ✅ |
| DOT (Graphviz) | ✅ | ✅ |
| SVG | — | ✅ |
| PNG | — | ✅ |
$3
#### convert(source, options)
Main conversion function.
`typescript
import { convert } from '@whitebite/diagram-converter';
const result = convert(source, {
from: 'mermaid', // Input format
to: 'drawio', // Output format
autoLayout: true, // Apply automatic layout (optional)
});
// result.output - converted diagram code
// result.diagram - intermediate representation (IR)
// result.warnings - conversion warnings (if any)
`
#### Individual Parsers
`typescript
import { parseMermaid, parseDrawio, parsePlantUML } from '@whitebite/diagram-converter/parsers';
const diagram = parseMermaid(
);
`
#### Individual Generators
`typescript
import { generateMermaid, generateDrawio, generateExcalidraw } from '@whitebite/diagram-converter/generators';
const mermaidCode = generateMermaid(diagram);
const drawioXml = generateDrawio(diagram);
`
$3
- Documentation migration — convert diagrams when switching tools
- CI/CD pipelines — auto-generate diagrams in multiple formats
- Editor plugins — add conversion capabilities to your IDE
- Web applications — build diagram tools with format flexibility
$3
MIT © WhiteBite
---
Русский
Универсальная библиотека для конвертации диаграмм. Преобразование между Mermaid, Draw.io, Excalidraw, PlantUML, DOT (Graphviz) и другими форматами.
$3
- Веб-конвертер — Онлайн-инструмент для конвертации диаграмм
- Diagram Board — Интерактивный холст для создания диаграмм
$3
`bash
npm install @whitebite/diagram-converter
`
$3
`typescript
import { convert } from '@whitebite/diagram-converter';
// Конвертация Mermaid в Draw.io
const result = convert(mermaidCode, {
from: 'mermaid',
to: 'drawio',
});
console.log(result.output);
`
$3
| Формат | Парсинг | Генерация |
|--------|:-------:|:---------:|
| Mermaid | ✅ | ✅ |
| Draw.io | ✅ | ✅ |
| Excalidraw | ✅ | ✅ |
| PlantUML | ✅ | ✅ |
| DOT (Graphviz) | ✅ | ✅ |
| SVG | — | ✅ |
| PNG | — | ✅ |
$3
#### convert(source, options)
Основная функция конвертации.
`typescript
import { convert } from '@whitebite/diagram-converter';
const result = convert(source, {
from: 'mermaid', // Входной формат
to: 'drawio', // Выходной формат
autoLayout: true, // Применить авто-раскладку (опционально)
});
// result.output - код сконвертированной диаграммы
// result.diagram - промежуточное представление (IR)
// result.warnings - предупреждения конвертации (если есть)
`
#### Отдельные парсеры
`typescript
import { parseMermaid, parseDrawio, parsePlantUML } from '@whitebite/diagram-converter/parsers';
const diagram = parseMermaid(
);
`
#### Отдельные генераторы
`typescript
import { generateMermaid, generateDrawio, generateExcalidraw } from '@whitebite/diagram-converter/generators';
const mermaidCode = generateMermaid(diagram);
const drawioXml = generateDrawio(diagram);
``