본문으로 건너뛰기
Decorative circlesD2 logo

D2: Declarative Diagramming

A modern language that turns text to diagrams

Create beautiful diagrams in minutes. Simple syntax. Endlessly customizable. D2 is the fastest and easiest way to get a mental model from your head onto the screen, then make edits with your team.
NETWORKUSERAPI SERVERLOGSCELL TOWERONLINE PORTALDATA PROCESSORSATELLITESTRANSMITTERUISTORAGE SENDSENDSENDPHONE LOGSMAKE CALL ACCESSDISPLAYPERSIST

Feature highlights

Production-ready themes
Production-ready themesThemes by professional designers, each unique. Effortlessly ready for blogs, wikis, and presentations.
PreprocessingMulti-GPUTrainingEvalInferenceOrchestratorData WarehouseProcessing PipelineNote: we can replace the orchestrator with Kubernetes when we run out of things to doFull workingpipelinePrimarySecondary
Sketch modeOur take on a beautiful, hand-drawn aesthetic.
john wickhenchman 1henchman 2big boss john wickhenchman 1henchman 2big boss shoots, misses john wickhenchman 1henchman 2big boss shoots, missesshoots, hits john wickhenchman 1henchman 2big boss shoots, missesshoots, hitsshoots, misses john wickhenchman 1henchman 2big boss shoots, missesshoots, hitsshoots, missesshoots, hits john wickhenchman 1henchman 2big boss shoots, missesshoots, hitsshoots, missesshoots, hitsinjures john wickhenchman 1henchman 2big boss shoots, missesshoots, hitsshoots, missesshoots, hitsinjuresshoots, hits
AnimationsD2 is the only language that can produce animated diagrams from text.
plankton will steal
LaTeXPerfect for academic use and research papers.
好笑的猫咪跳舞, 在月亮下欢唱。 它踩在小青蛙头上, 嘴里嚼着苹果香。웃기는 고양이 날다, 달빛 아래 춤을 추다. 개구리 머리 밟다, 입 속 사과 향기 즐기다.
Any languageMake diagrams in English, Chinese, French, or even emojis, D2 supports almost all languages.
declare function getSmallPet(): Fish | Bird; const works = (a > 1|| (b < 2)declare function getSmallPet(): Fish | Bird; const works = (a > 1) || (b < 2)awsSession := From(c.Request.Context()) client := s3.New(awsSession) ctx, cancelFn := context.WithTimeout(c.Request.Context(), AWS_TIMEOUT) defer cancelFn()awsSession := From(c.Request.Context()) client := s3.New(awsSession) ctx, cancelFn := context.WithTimeout(c.Request.Context(), AWS_TIMEOUT) defer cancelFn()
Code snippetsMade for software diagrams. Syntax highlighted code right in the diagram.
Markdown
MarkdownInclude longform explanations with Markdown.
clouddisksidintPKblocksidintPKdiskintFKblobAWS S3 Vancouver
TablesShow structured data like SQL tables.

More features

Local CLI iconLocal CLIRobust CLI with watch mode. Completely offline workflow.
Most major OS's iconMost major OS'sMacOS, Linux, and Windows. D2 is included in many popular package managers like Homebrew and Winget.
VSCode and Vim iconVSCode and VimOfficial editor support for VSCode and Vim, with more coming soon.
Online playground iconOnline playgroundCreate and share diagrams quickly by going to our hosted Playground.
Containers iconContainersFirst-class support for containers (grouping shapes in other shapes).
Images and Icons iconImages and IconsImport any image or icon online into your diagram
Multiple layout engines iconMultiple layout enginesChoose from 3 layout engines that uniquely handle different types of diagrams.
Use any font iconUse any fontTo customize the font, simply pass in your own .ttf files.
Imports iconImportsModularize your diagrams like your code. Split models from views or dice it any way you want.
Variables iconVariablesReuse values like colors, labels, and anything else for clean diagram code.
Globs iconGlobsAll the power of wildcard globs you're already familiar with.
Autoformat iconAutoformatDon't sweat style decisions like indentations and spacing, D2 has a built-in autoformatter.
Language API iconLanguage APIProgrammatically create diagrams by calling D2's language API.
Interactive tooltips and links iconInteractive tooltips and linksHover over shapes to learn more, or click through to another page.
Class shape iconClass shapeUML Class diagrams are fully supported
Sequence diagrams iconSequence diagramsSequence diagrams are created by setting shape: sequence_diagram
Adaptive dark mode iconAdaptive dark modeDiagrams adjust color schemes to fit user preferences automatically, anywhere on the web.
Extensions iconExtensionsExplore official and community developed plugins and extensions
Exports iconExportsOn the CLI, you may export .d2 into SVG, PNG, PDF. More coming soon!
Cheat sheet iconCheat sheetDownload our handy one-pager D2 syntax cheat sheet

Get involved

Chat on DiscordHangout, talk about diagrams, get help, give feedback and see early previews of what's coming next.Go to Discord
Chat on Discord icon
Check out our blogTechnical blog posts from the authors of D2 on a variety of topics from feature deep dives to how things were built.Go to blog
Check out our blog icon