Arcade is a portable, lightweight, and secure expression language used to create custom content in ArcGIS applications. Like other expression languages, it can perform mathematical calculations, format text, and evaluate logical statements. It also supports multi-statement expressions, variables, and flow control statements. Arcade is unique when compared to other expression and scripting languages because of its inclusion of feature and geometry data types.

Where to use Arcade

The Arcade language was designed for use solely within ArcGIS. You cannot use it to build apps. It can only be executed within the context of a designated profile.

Each profile's context depends on the API or app implementing Arcade. For example, to define an expression for a renderer in the ArcGIS Maps SDK for JavaScript, the expression must be defined in the valueExpression property of a renderer.

Why Arcade is useful

Arcade is powerful because of its portability with other apps across the ArcGIS system. That means an Arcade expression written in one ArcGIS application can be consistently interpreted in other ArcGIS applications. For example, an expression defining popup content in ArcGIS Pro can be saved to a web map and evaluated with consistent results in a mobile application developed with ArcGIS Maps SDKs for Native Apps, or in a web app, such as ArcGIS Online, or any other app developed with the ArcGIS Maps SDK for JavaScript.

Arcade provides one consistent syntax that can run on desktop, web, and mobile devices. See the profiles page to learn about all the places Arcade may be used throughout the ArcGIS system.

Go to the next page to learn how to start writing Arcade today.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.