When you’re ready to create an app, get the SDK and tools for your app type.

App type Get started instructions Tool information
Mobile Install Flutter Flutter tools
Web 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.
Generates API reference documentation.
Formats your code, following 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.
Manages Dart packages, making 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 code generator.
A tool for migrating Dart source code and fixing common issues.

Tools for developing web apps

The following tools are especially for developing web apps:

A command line interface (CLI) for Dart web app development, including building and serving 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 build package that’s used by the webdev CLI. You can use it directly for testing or if you need more configurability than webdev provides.

Tools for developing command-line apps and servers

The following tools have special support for developing or running command line apps and servers:

Standalone Dart VM: dart
Executes 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.
AOT compiler and runtime: dart2aot, dartaotruntime
Support ahead-of-time compilation of Dart code to native x64 machine code.
Pub package manager: pub
Simplifies downloading and running scripts, with commands such as pub get, pub global activate, pub global run, and pub run.