CINXE.COM
Dart - Dart API docs
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no"> <meta name="description" content="Dart API docs, for the Dart programming language."> <title>Dart - Dart API docs</title> <link rel="canonical" href="https://api.dart.dev/"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet"> <link rel="stylesheet" href="static-assets/github.css?v1"> <link rel="stylesheet" href="static-assets/styles.css?v1"> <link rel="icon" href="static-assets/favicon.png?v1"> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-VVQ8908SJ5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-VVQ8908SJ5'); </script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@400&family=Google+Sans:wght@500&display=swap" as="style"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@400&family=Google+Sans:wght@500&display=swap"> <link rel="stylesheet" href="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css"> </head> <body data-base-href="" data-using-base-href="false" class="light-theme"> <div id="overlay-under-drawer"></div> <header id="title"> <span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span> <ol class="breadcrumbs gt-separated dark hidden-xs"> <li><a href="https://github.com/dart-lang/sdk">Dart SDK</a></li> </ol> <div class="self-name">Dart</div> <form class="search navbar-right" role="search"> <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search..."> </form> <div class="toggle" id="theme-button" title="Toggle brightness"> <label for="theme"> <input type="checkbox" id="theme" value="light-theme"> <span id="dark-theme-button" class="material-symbols-outlined"> dark_mode </span> <span id="light-theme-button" class="material-symbols-outlined"> light_mode </span> </label> </div> </header> <main> <div id="dartdoc-main-content" class="main-content"> <section class="desc markdown"> <h1 id="welcome">Welcome!</h1> <p>Welcome to the Dart API reference documentation, covering the <a href="https://dart.dev/guides/libraries">Dart core libraries</a>. These include:</p> <ul> <li><a href="dart-core/dart-core-library.html">dart:core</a>: Core functionality such as strings, numbers, collections, errors, dates, and URIs.</li> <li><a href="dart-io/dart-io-library.html">dart:io</a>: I/O for non-web apps.</li> <li><a href="dart-async/dart-async-library.html">dart:async</a>: Functionality for asynchronous programming with futures, streams, and zones.</li> </ul> <p>You'll also find reference documentation covering Dart's various platform interoperability options, such as:</p> <ul> <li><a href="dart-js_interop/dart-js_interop-library.html">dart:js_interop</a>: Library including a sound type hierarchy and helper functions for interoperability with JavaScript.</li> <li><a href="https://pub.dev/documentation/web">package:web</a>: DOM manipulation for web apps.</li> <li><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a>: Foreign function interfaces for interoperability with the C language.</li> </ul> <p>The core libraries - except for <code>dart:core</code> - must be imported before they're available for use:</p> <pre class="language-dart"><code class="language-dart">import 'dart:math'; </code></pre> <p>Additionally, you can find Dart packages at <a href="https://pub.dev">pub.dev</a>.</p> <h2 id="language-docs">Language docs</h2> <p>The main site for learning and using Dart is <a href="https://dart.dev">dart.dev</a>. Check out these pages:</p> <ul> <li><a href="https://dart.dev/overview">Dart overview</a></li> <li><a href="https://dart.dev/language">Dart language documentation</a></li> <li><a href="https://dart.dev/libraries">Library tour</a></li> <li><a href="https://dart.dev/tutorials">Tutorials</a></li> </ul> <p>This API reference is generated from the SDK source at <a href="https://github.com/dart-lang/sdk">dart-lang/sdk</a>. If you'd like to give feedback on or edit this documentation, see <a href="https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md">Contributing</a>.</p> </section> <section class="summary"> <h2>Libraries</h2> <dl> <h3>Core</h3> <dt id="dart:async"> <span class="name"><a href="dart-async/dart-async-library.html">dart:async</a></span> </dt> <dd>Support for asynchronous programming, with classes such as Future and Stream. </dd> <dt id="dart:collection"> <span class="name"><a href="dart-collection/dart-collection-library.html">dart:collection</a></span> </dt> <dd>Classes and utilities that supplement the collection support in dart:core. </dd> <dt id="dart:convert"> <span class="name"><a href="dart-convert/dart-convert-library.html">dart:convert</a></span> </dt> <dd>Encoders and decoders for converting between different data representations, including JSON and UTF-8. </dd> <dt id="dart:core"> <span class="name"><a href="dart-core/dart-core-library.html">dart:core</a></span> </dt> <dd>Built-in types, collections, and other core functionality for every Dart program. </dd> <dt id="dart:developer"> <span class="name"><a href="dart-developer/dart-developer-library.html">dart:developer</a></span> </dt> <dd>Interact with developer tools such as the debugger and inspector. </dd> <dt id="dart:math"> <span class="name"><a href="dart-math/dart-math-library.html">dart:math</a></span> </dt> <dd>Mathematical constants and functions, plus a random number generator. </dd> <dt id="dart:typed_data"> <span class="name"><a href="dart-typed_data/dart-typed_data-library.html">dart:typed_data</a></span> </dt> <dd>Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. </dd> <h3>VM</h3> <dt id="dart:ffi"> <span class="name"><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></span> </dt> <dd>Foreign Function Interface for interoperability with the C programming language. </dd> <dt id="dart:io"> <span class="name"><a href="dart-io/dart-io-library.html">dart:io</a></span> </dt> <dd>File, socket, HTTP, and other I/O support for non-web applications. </dd> <dt id="dart:isolate"> <span class="name"><a href="dart-isolate/dart-isolate-library.html">dart:isolate</a></span> </dt> <dd>Concurrent programming using <em>isolates</em>: independent workers that are similar to threads but don't share memory, communicating only via messages. </dd> <dt id="dart:mirrors"> <span class="name"><a href="dart-mirrors/dart-mirrors-library.html">dart:mirrors</a></span> </dt> <dd>Basic reflection in Dart, with support for introspection and dynamic invocation. </dd> <h3>Web</h3> <dt> <span class="name"> <a href="https://pub.dev/documentation/web/latest/" target="_blank"> package:web <span class="material-symbols-outlined">open_in_new</span> </a> </span> </dt> <dd>This package exposes browser APIs. It's intended to replace dart:html and similar Dart SDK libraries. It will support access to browser APIs from Dart code compiled to either JavaScript or WebAssembly.</dd> <dt id="dart:js_interop"> <span class="name"><a href="dart-js_interop/dart-js_interop-library.html">dart:js_interop</a></span> </dt> <dd>Interoperability, "interop" for short, with JavaScript and browser APIs. </dd> <dt id="dart:js_interop_unsafe"> <span class="name"><a href="dart-js_interop_unsafe/dart-js_interop_unsafe-library.html">dart:js_interop_unsafe</a></span> </dt> <dd>Utility methods to manipulate JavaScript objects dynamically. </dd> <h3>Web (Legacy)</h3> <dt> <span class="name"> <a href="https://pub.dev/documentation/js/latest/" target="_blank"> package:js <span class="material-symbols-outlined">open_in_new</span> </a> </span> </dt> <dd>Use this package when you want to call JavaScript APIs from Dart code, or vice versa.</dd> <dt id="dart:html"> <span class="name"><a href="dart-html/dart-html-library.html">dart:html</a></span> </dt> <dd>HTML elements and other resources for web-based applications that need to interact with the browser and the DOM (Document Object Model). </dd> <dt id="dart:indexed_db"> <span class="name"><a href="dart-indexed_db/dart-indexed_db-library.html">dart:indexed_db</a></span> </dt> <dd>A client-side key-value store with support for indexes. </dd> <dt id="dart:js"> <span class="name"><a href="dart-js/dart-js-library.html">dart:js</a></span> </dt> <dd>Low-level support for interoperating with JavaScript. </dd> <dt id="dart:js_util"> <span class="name"><a href="dart-js_util/dart-js_util-library.html">dart:js_util</a></span> </dt> <dd>Utility methods to manipulate <code>package:js</code> annotated JavaScript interop objects in cases where the name to call is not known at runtime. </dd> <dt id="dart:svg"> <span class="name"><a href="dart-svg/dart-svg-library.html">dart:svg</a></span> </dt> <dd>Scalable Vector Graphics: Two-dimensional vector graphics with support for events and animation. </dd> <dt id="dart:web_audio"> <span class="name"><a href="dart-web_audio/dart-web_audio-library.html">dart:web_audio</a></span> </dt> <dd>High-fidelity audio programming in the browser. </dd> <dt id="dart:web_gl"> <span class="name"><a href="dart-web_gl/dart-web_gl-library.html">dart:web_gl</a></span> </dt> <dd>3D programming in the browser. </dd> </dl> </section> </div> <!-- /.main-content --> <div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left"> <!-- The search input and breadcrumbs below are only responsively visible at low resolutions. --> <header id="header-search-sidebar" class="hidden-l"> <form class="search-sidebar" role="search"> <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search..."> </form> </header> <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav"> <li><a href="https://github.com/dart-lang/sdk">Dart SDK</a></li> </ol> <h5 class="hidden-xs"><span class="package-name">Dart</span> <span class="package-kind">SDK</span></h5> <ol> <li class="section-title">Libraries</li> <li class="section-subtitle">Core</li> <li class="section-subitem"><a href="dart-async/dart-async-library.html">dart:async</a></li> <li class="section-subitem"><a href="dart-collection/dart-collection-library.html">dart:collection</a></li> <li class="section-subitem"><a href="dart-convert/dart-convert-library.html">dart:convert</a></li> <li class="section-subitem"><a href="dart-core/dart-core-library.html">dart:core</a></li> <li class="section-subitem"><a href="dart-developer/dart-developer-library.html">dart:developer</a></li> <li class="section-subitem"><a href="dart-math/dart-math-library.html">dart:math</a></li> <li class="section-subitem"><a href="dart-typed_data/dart-typed_data-library.html">dart:typed_data</a></li> <li class="section-subtitle">VM</li> <li class="section-subitem"><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></li> <li class="section-subitem"><a href="dart-io/dart-io-library.html">dart:io</a></li> <li class="section-subitem"><a href="dart-isolate/dart-isolate-library.html">dart:isolate</a></li> <li class="section-subitem"><a href="dart-mirrors/dart-mirrors-library.html">dart:mirrors</a></li> <li class="section-subtitle">Web</li> <li class="section-subitem"> <a href="https://pub.dev/documentation/web/latest/" target="_blank"> package:web <span class="material-symbols-outlined">open_in_new</span> </a> </li> <li class="section-subitem"><a href="dart-js_interop/dart-js_interop-library.html">dart:js_interop</a></li> <li class="section-subitem"><a href="dart-js_interop_unsafe/dart-js_interop_unsafe-library.html">dart:js_interop_unsafe</a></li> <li class="section-subtitle">Web (Legacy)</li> <li class="section-subitem"> <a href="https://pub.dev/documentation/js/latest/" target="_blank"> package:js <span class="material-symbols-outlined">open_in_new</span> </a> </li> <li class="section-subitem"><a href="dart-html/dart-html-library.html">dart:html</a></li> <li class="section-subitem"><a href="dart-indexed_db/dart-indexed_db-library.html">dart:indexed_db</a></li> <li class="section-subitem"><a href="dart-js/dart-js-library.html">dart:js</a></li> <li class="section-subitem"><a href="dart-js_util/dart-js_util-library.html">dart:js_util</a></li> <li class="section-subitem"><a href="dart-svg/dart-svg-library.html">dart:svg</a></li> <li class="section-subitem"><a href="dart-web_audio/dart-web_audio-library.html">dart:web_audio</a></li> <li class="section-subitem"><a href="dart-web_gl/dart-web_gl-library.html">dart:web_gl</a></li> </ol> </div> <div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right"> </div> </main> <footer> <span class="no-break"> Dart 3.5.4 </span> <span class="glue-footer"> <span class="no-break"> | <a href="https://dart.dev/terms" title="Terms of use">Terms</a> </span> <span class="no-break"> | <a href="https://policies.google.com/privacy" target="_blank" rel="noopener" title="Privacy policy" class="no-automatic-external">Privacy</a> </span> <span class="no-break"> | <a href="https://dart.dev/security" title="Security philosophy and practices">Security</a> </span> <div class="copyright" style="font-size: 0.9em; color: darkgrey; margin-top: 0.5em;"> Except as otherwise noted, this site is licensed under a <a style="color: darkgrey;" href="https://creativecommons.org/licenses/by/4.0/"> Creative Commons Attribution 4.0 International License</a> and code samples are licensed under the <a style="color: darkgrey;" href="https://opensource.org/licenses/BSD-3-Clause" class="no-automatic-external"> 3-Clause BSD License</a> </div> </span> </footer> <script src="static-assets/highlight.pack.js?v1"></script> <script src="static-assets/docs.dart.js"></script> <button aria-hidden="true" class="glue-footer__link glue-cookie-notification-bar-control"> Cookies management controls </button> <script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2B"> </script> </body> </html>