When you’re ready to create an app, get the SDK and tools for your app type. If you aren’t sure which tools you need, get the Flutter SDK.

App type Get started instructions Tool information
Flutter (mobile and more) Install Flutter Flutter tools
Web app (non-Flutter) Install the Dart SDK General-purpose tools and web tools
Server or command line Install the Dart SDK General-purpose tools and specialized tools

General-purpose tools

The following tools support the Dart language on all platforms.


DartPad Hello World DartPad is a great, no-download-required way to learn Dart syntax and to experiment with Dart language features. It supports Dart’s core libraries, except for VM libraries such as dart:io.

IDEs and editors

Dart plugins exist for these commonly used IDEs.

The following Dart plugins are also available, thanks to the Dart community.

A Language Server Protocol implementation is also available for LSP-capable editors that don’t have specific Dart extensions.

Command-line tools

The Dart SDK includes the following general-purpose tools:

A static analyzer that evaluates and reports any errors or warnings in your code. The Dart plugin for your IDE should make use of Dart’s analysis engine, but you can also run the analyzer from the command line.
A documentation generator. For examples of dartdoc’s output, see the API reference documentation published at and (for example, the path API reference).
An opinionated code formatter that follows the recommendations of the Dart style guide. IDEs that support Dart generally allow you to format the code within the IDE. Or you can run the formatter from the command line.
A package manager that makes it easy for you to install, use, and share Dart libraries, command-line tools, and other assets. Some Dart technologies, such as Flutter, may not support all of the pub commands. IDEs that support Dart generally have special support for pub, but you can also use it from the command line.

Some additional tools are available in packages. To install these tools, use the pub command, as described in each tool’s installation instructions. Here are the general-purpose tools you might want to install:

A build package that’s used behind-the-scenes by the webdev command.
A tool for migrating Dart source code and fixing common issues.


Dart DevTools
A suite of debugging and performance tools.

Tools for developing web apps

The following tools support developing web apps:

The original Dart-to-JavaScript compiler, with tree shaking. IDEs and the webdev CLI use dart2js when building web apps for deployment.
The Dart dev compiler, a modular Dart-to-JavaScript compiler. IDEs and the webdev CLI use dartdevc when running a development server.
A command-line interface (CLI) for Dart web app development, including building and serving web apps.

Tools for developing command-line apps and servers

The following tools support developing or running command-line apps and servers:

The standalone Dart VM, which you can use to execute Dart code. IDEs that support Dart, and some of the pub commands, use this command behind-the-scenes to execute Dart scripts. Note that you must configure your IDE with the location of the dart binary.
An ahead-of-time (AOT) compiler that compiles Dart code to native x64 machine code. The output is either a standalone executable (the default) or an AOT snapshot.
A Dart runtime that you can use to run AOT snapshots.