Convert labels to annotation and store overflow labels in a separate annotation feature class

Last Published: April 25, 2020


In ArcMap when converting labels to annotation some unplaced labels may appear in the overflow window as overflow labels. Instructions provided describe how to convert labels to geodatabase annotation and have placed labels converted into one annotation feature class, and unplaced labels converted into another annotation feature class.

This is useful when storing unplaced annotation in the geodatabase for use in other maps.


  1. Turn on labels for the layer in ArcMap.
  2. Make sure that overlapping labels are not being placed:
    Right-click on the layer. Click Properties > Labels > Label Placement Options > Conflict Detection > Check off 'Place Overlapping Labels'.
  3. Right-click on the layer and select Convert Labels to Annotation. Store the converted annotation in a geodatabase annotation feature class. For 9.0, uncheck 'Convert unplaced labels to unplaced annotation'. Name the new feature class 'Placed Anno'. Click OK.
    [O-Image] PlaceWithOverflow
  4. In the Table of Contents, turn off the new 'Placed Anno' layer.
  5. Turn on labels again for the layer.
  6. Check 'Place Overlapping Labels' for the layer.
    [O-Image] PlaceOverlappingLabels
  7. Right-click on the layer. Select Convert Labels to Annotation. For 8.x, uncheck the box 'Display overlapping labels in the overflow window'. Name the new feature class 'Unplaced Anno'. Click OK.
  8. The feature class 'Unplaced Anno' has all the converted annotation, both placed and unplaced. Use a layer join to remove the placed annotation from this feature class, leaving only the unplaced annotation.
  9. Right-click on the 'Unplaced Anno' layer. Click Joins and Relates > Join.
  10. Select FeatureId for the join field. Choose Placed Annotation for the table to join to this layer. Choose FeatureId for the second join field. Click OK.
    [O-Image] PlacedUnplacedJoin
    When converting labels to geodatabase annotation, the FeatureId field for the annotation is populated with the ID of the feature that was being labeled. This holds true for both standard and feature-linked annotation. Because of this, we can use FeatureId to join annotation from these two layers.

  11. Right-click on 'Unplaced Anno'. Click 'Open attribute table'.
  12. Sort the table based on the second FeatureId field. This is the FeatureId from the 'Placed Anno' table.
    [O-Image] SortJoin
  13. Hold down the Shift key and use the mouse to select the rows for which FeatureId equals <Null>.
  14. In the attribute table, right-click on Options > Switch Selection. Close the table window.
    [O-Image] SelectNULLSwitchSelection.gif
  15. Start editing. Type the Delete key.
    [O-Image] StartEditing
  16. Make sure that both annotation layers are visible. You should now see only placed annotation in the 'Placed Anno' layer and unplaced annotation in the 'Unplaced Anno' layer.
    "Unplaced Anno" layer

    [O-Image] UnplacedLabelLayer

    "Placed Anno" and "Unplaced Anno" layers.

    [O-Image] PlacedAndUnplaced
  17. Save the edits and use these geodatabase annotation feature classes in any map.

Article ID:000005721

  • ArcMap 9 x
  • ArcMap 8 x

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Related Information

Discover more on this topic