Command Palette

Search for a command to run...

Page Inspect

https://d2lang.com/
Internal Links
6
External Links
4
Images
34
Headings
4

Page Content

Title:Home | D2 Documentation
Description:D2 is a modern DSL that turns text to diagrams.
HTML Size:559 KB
Markdown Size:4 KB
Fetched At:August 22, 2025

Page Structure

h1D2: Declarative Diagramming
h1Feature highlights
h1More features
h1Get involved

Markdown Content

Home | D2 Documentation

Skip to main content

TourBlogExamplesReleases

Playground

Search

# D2: Declarative Diagramming

A modern language that turns text to diagrams

Explore docs

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 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.

MarkdownInclude longform explanations with Markdown.

clouddisksidintPKblocksidintPKdiskintFKblobAWS S3 Vancouver

TablesShow structured data like SQL tables.

# More features

Local CLIRobust CLI with watch mode. Completely offline workflow.

Most major OS'sMacOS, Linux, and Windows. D2 is included in many popular package managers like Homebrew and Winget.

VSCode and VimOfficial editor support for VSCode and Vim, with more coming soon.

Online playgroundCreate and share diagrams quickly by going to our hosted Playground.

ContainersFirst-class support for containers (grouping shapes in other shapes).

Images and IconsImport any image or icon online into your diagram

Multiple layout enginesChoose from 3 layout engines that uniquely handle different types of diagrams.

Use any fontTo customize the font, simply pass in your own .ttf files.

ImportsModularize your diagrams like your code. Split models from views or dice it any way you want.

VariablesReuse values like colors, labels, and anything else for clean diagram code.

GlobsAll the power of wildcard globs you're already familiar with.

AutoformatDon't sweat style decisions like indentations and spacing, D2 has a built-in autoformatter.

Language APIProgrammatically create diagrams by calling D2's language API.

Interactive tooltips and linksHover over shapes to learn more, or click through to another page.

Class shapeUML Class diagrams are fully supported

Sequence diagramsSequence diagrams are created by setting shape: sequence\_diagram

Adaptive dark modeDiagrams adjust color schemes to fit user preferences automatically, anywhere on the web.

ExtensionsExplore official and community developed plugins and extensions

ExportsOn the CLI, you may export .d2 into SVG, PNG, PDF. More coming soon!

Cheat 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

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

Created by |© 2025 Terrastruct, Inc.

TourBlogExamplesReleases

Playground