An overview of ModelBuilder tools

ModelBuilder contains a collection of utility tools that support building flexible and powerful models.


Iterator tools enable batch processing and repeat a process or set of processes on a set of inputs.

Iterator toolsDescription


Iterates over a starting and ending value by a given value.

Iterate Datasets

Iterates over different types of datasets in a workspace.

Iterate Feature Classes

Iterates over feature classes in a workspace or feature dataset.

Iterate Feature Selection

Iterates over features in a feature class.

Iterate Field Values

Iterates each value in a field.

Iterate Fields

Iterates fields in a table.

Iterate Files

Iterates over files in a folder.

Iterate Layers

Iterates layers in a map.

Iterate Multivalue

Iterates over a list of values.

Iterate Rasters

Iterates over rasters in a workspace.

Iterate Row Selection

Iterates over rows in a table.

Iterate Tables

Iterates over tables in a workspace.

Iterate Time

Iterates over time in a date field.

Iterate Workspaces

Iterates over workspaces in a folder.


Iterates until a condition becomes true or until a condition comes false.


Utility tools include operations for extending the capabilities of a model.

Utility toolsDescription

Calculate Value

Returns a value based on a specified Python expression.

Collect Values

Collects output values from an iterator or converts a list of values into a single input with multiple values.

Get Field Value

Returns the value of the first row of a table for the specified field.

Parse Path

The Parse Path tool parses the input into its file, path, name, or extension. The output can be used as inline variable in the output name of other tools.

Select Data

The Select Data tool selects data in a parent data element such as a folder, geodatabase, feature dataset, or coverage.


Logical tools control the flow of processes in a model and enable if-then-else branching logic.

Logical toolsDescription

If Coordinate System Is

Evaluates the input data for the specified coordinate system.

If Data Exists

Evaluates whether the specified data exists.

If Data Type Is

Evaluates whether the input data matches the specified data type.

If Expression Is

Evaluates whether a given Python expression is True or False.

If Feature Type Is

Evaluates whether a feature class is of the specified feature type.

If Field Exists

Evaluates if the input data has the specified fields.

If Field Value Is

Evaluates if the values in an attribute field match a specified value, expression, or second field.

If Row Count Is

Evaluates the row count of the input data and checks whether it matches a specified value.

If Selection Exists

Checks whether the input data includes a selection and whether a certain number of records are selected.

If Spatial Relationship Is

Evaluates whether the inputs have a specified spatial relationship.

If Value Is

Evaluates an input value compared to a single value, a list of values, or a range of values using a defined comparison operator.

Merge Branch

Merges two or more logical branches into a single output.


Exits a model out of the iteration loop if the input values are set to true or set to false. For the set of input values, iteration will continue if all the inputs are true and stop if any one of the inputs is false. It is functionally similar to the While tool but is useful to stop a model if there is one While iterator in a model and no additional iterators can be added.

Related topics