Небольшой синхронный рендерер, преобразующий текст диаграмм Mermaid в SVG без runtime-зависимостей.
d2lang/d2
Текстовый язык для описания диаграмм и CLI, который компилирует файлы .d2 в SVG, PNG, GIF, PDF или PPTX.
Open source альтернатива:Lucidchart
Visio
- Звёзды
- 25,701
- Форки
- 767
- Открытые issues
- 536
- Последний коммит
- 10 дней назад
Что это?
D2 — это язык для описания диаграмм: вы задаёте узлы, связи, контейнеры и стили в обычном тексте, а CLI D2 преобразует результат в файл SVG, PNG, GIF, PDF или PPTX. В режиме watch результат перерисовывается, а предпросмотр в браузере перезагружается при каждом изменении исходного файла.
В проект входят три движка компоновки: Dagre (по умолчанию), ELK и TALA. Их можно выбирать с помощью флага, переменной окружения или настройки в исходном коде D2. Также поддерживаются отрисовка в стиле скетча и подписи LaTeX, а парсер сообщает о нескольких ошибках в повреждённом файле. Автоформаттер и подсветка синтаксиса помогают редактировать большие диаграммы и поддерживать их в порядке.
D2 также можно использовать в программах на Go как библиотеку. Расширения для VS Code, Vim и Obsidian, а также ряд плагинов сообщества для инструментов Markdown перечислены в связанных ресурсах проекта.
Ключевые возможности
- 01Преобразует текстовые скрипты .d2 в SVG, PNG, GIF, PDF или PPTX.
- 02Предоставляет режим watch, в котором предпросмотр в браузере автоматически обновляется при изменении файла.
- 03Включает движки компоновки Dagre, ELK и TALA, которые можно выбирать для каждой диаграммы.
- 04Парсер сообщает о нескольких ошибках; также доступны автоформаттер и подсветка синтаксиса.
- 05Можно использовать как библиотеку Go для программной генерации диаграмм.
Сценарии использования
- Документирование архитектуры ПО с хранением диаграмм рядом с кодом в системе контроля версий.
- Поддержание системных и сетевых диаграмм в актуальном состоянии в виде текста, который удобно сравнивать и проверять.
- Автоматическая генерация диаграмм из программ на Go или в конвейерах сборки документации.
- Создание диаграмм сущность–связь или блок-схем для сайтов с документацией на основе Markdown.
Быстрый старт
- 1
Установите D2 с помощью скрипта установки из README
- 2
Установите D2 через Go
go install github.com/d2lang/d2@latest - 3
Создайте входной файл и выполните его рендеринг с автоматической перезагрузкой
echo 'x -> y -> z' > in.d2 && d2 --watch in.d2 out.svg
Что важно знать
- Рекомендуемый способ установки — передать скрипт curl в sh; некоторые пользователи предпочитают избегать такого способа.
- При установке через Go страница man не устанавливается.
Темы
Частые вопросы
- Что такое d2?
- Текстовый язык для описания диаграмм и CLI, который компилирует файлы .d2 в SVG, PNG, GIF, PDF или PPTX. D2 — это язык для описания диаграмм: вы задаёте узлы, связи, контейнеры и стили в обычном тексте, а CLI D2 преобразует результат в файл SVG, PNG, GIF, PDF или PPTX. В режиме watch результат перерисовывается, а предпросмотр в браузере перезагружается при каждом изменении исходного файла.
- d2 можно использовать бесплатно? Какая у него лицензия?
- d2 распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- d2 всё ещё поддерживается?
- Активно поддерживается. Последний коммит в d2 — 11 окт. 2026 г..
- Для чего можно использовать d2?
- Документирование архитектуры ПО с хранением диаграмм рядом с кодом в системе контроля версий. Поддержание системных и сетевых диаграмм в актуальном состоянии в виде текста, который удобно сравнивать и проверять. Автоматическая генерация диаграмм из программ на Go или в конвейерах сборки документации. Создание диаграмм сущность–связь или блок-схем для сайтов с документацией на основе Markdown.
- Как установить d2?
- Установите D2 с помощью скрипта установки из README Установите D2 через Go: go install github.com/d2lang/d2@latest Создайте входной файл и выполните его рендеринг с автоматической перезагрузкой: echo 'x -> y -> z' > in.d2 && d2 --watch in.d2 out.svg
- Где скачать d2?
- Исходный код и инструкции по установке — на GitHub: https://github.com/d2lang/d2
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Навык для агентских инструментов, который создаёт редакционные диаграммы в одном автономном HTML-файле с SVG и поддерживает 45 типов диаграмм и оформление в стиле бренда.
Библиотека макросов модели C4 для PlantUML, позволяющая описывать диаграммы архитектуры ПО обычным текстом.
Веб-приложение на React и cytoscape.js, которое превращает текстовые планы в виде иерархического списка в блок-схемы и диаграммы.
Единый HTTP API для преобразования текстовых описаний диаграмм, например PlantUML, Mermaid, D2 и GraphViz, в SVG, PNG и другие изображения.
Навык для Claude и coding-агентов, который превращает короткую JSON-спецификацию в анимированные интерактивные диаграммы с экспортом в SVG, PNG, GIF или MP4.