Use label classes

You can use label classes to restrict labels to certain features or to specify label fields, symbols, scale ranges, label priorities, and sets of label placement options for groups of labels. For example, for a roads layer, you can use a different text size to label road types based on a field classifying roads by importance. You can also create a query to label only cities with a population greater than 1 million.

  1. Ensure that List By Labeling is the active method of displaying the Contents pane. Click the List By Labeling tab List By Labeling.
  2. Select a feature layer or label class in the Contents pane, and open the Label Class pane.
  3. Rename the default label class by clicking the menu button Menu on the Class tab and choosing Rename label class. If you'll have more than one label class, click the menu button Menu again, choose Create label class, and type a name for your new label class.

    You can also remove label classes by choosing Remove label class.

  4. Select the label class from the Class drop-down menu and click the SQL Query tab SQL Query.
  5. Build the query expression that identifies the subset of features you want to label.
  6. Specify the text for the labels and how to display them.

    From the Labeling view of the Contents pane, you can reorder label classes by dragging them to the desired place, and you can select multiple label classes for efficient editing. You can duplicate label classes and copy and paste labeling properties between label classes by right-clicking the label class and choosing the appropriate options from the context menu.

Add label classes from symbology layers

You can also create label classes from existing symbology layers in the map. Adding label classes from symbology classes allows you to automatically make label classes for each of the symbology classes you have already defined for a layer. In this way, you can specify label properties for the features in each of the symbology classes you have already defined. For example, you can label cities with a large population in a larger font than those with a smaller population.

After you've created label classes from symbology classes, the label classes are not automatically updated if you change or edit the symbol classes in the Symbology pane. If you change the symbology classes and want to update your label classes to match the change, add the label classes again. When you are prompted, uncheck the option to append to current label classes. Note that overwriting the existing label classes means that the label properties you already defined for these classes are overwritten as well.

  1. Ensure that List By Labeling is the active method of displaying the Contents pane. Click the List By Labeling tab List By Labeling.
  2. Right-click the feature layer you want to create label classes for and select Create Label Classes From Symbology.
  3. Select the symbology classes you want to create label classes from and specify whether the new label classes are to be appended to the current label classes.
  4. Specify whether the Scale range and Color settings should be brought from the symbology classes and added to the new label classes.

    The color of the text symbol in a label class created in this way derives from the imported symbol. The color will be pulled from the color scheme target. Click the Color scheme options button Color scheme options to see the target for the color scheme. To access this color, the symbol must have a single color-unlocked symbol layer or multiple color-unlocked symbol layers that reference the same color. In any other case, the color of the new label class text symbol is black.

Set scale ranges for label classes

Some labels are most useful within a given scale range. For example, on a city map, a label class of all street names may be useful up to some minimum scale. As you zoom out beyond that scale, the labels become too crowded—or too small if there is a reference scale set—and you may prefer to display a label class that only shows major street names.

Setting a minimum scale for labels can improve the overall redraw performance of your map, making panning and zooming more responsive, as labels are only drawn within the scale range at which they're useful. You can set the minimum and maximum scales in the Visibility Range group on the Labeling tab or on the Visibility Range tab of the Label Class pane. If no scale is set, the labels have the same scale range as the feature layer.


If you set some symbol classes to turn off as others turn on, it's a good idea to set your map to draw up to and including the maximum scale in scale ranges to avoid drawing both classes at the interim scale. In the Contents pane, right-click a map and click Properties to open the Map Properties dialog box. On the General tab, ensure that Draw up to and including the maximum scale in scale ranges is not checked, which is the default. Maps created by importing .mxd files have this property checked by default. This property applies to all label classes in a map.