Table of Contents

August 13, 2025 ยท View on GitHub

D2 Playground

An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.

ci daily discord twitter license

Notice: This is not the repository for the D2 language. That can be found here.

Table of Contents

FAQ

What is this written in?

Vanilla HTML, CSS, and Javascript.

How does it work?

d2.js serves every request for dagre and elk layouts all within the frontend client. To render tala layouts, a request is made to an API (since it's not supported by d2.js).

Can I run it locally?

Yes. Just clone and follow the instructions in the Development section below.

Development

Run ./ci/dev.sh.

Prerequisites

Contributing

Contributions are welcome!

Dependencies

External dependencies are kept to a minimum. Currently they are:

  1. Monaco Editor for text editing features.
  2. Panzoom for SVG navigation.

Both are not ideal. Monaco is unnecessarily heavy and Panzoom lacks scrolling. The plan is to replace these one day.

If you're a contributor, please do not add any dependencies without discussing first.