How to Count Mesh Islands in Blender Geometry Nodes

This guide explains how to determine the total number of disconnected mesh islands in a 3D model using Blender’s Geometry Nodes. You will learn which node to use, how to extract the total island count, and how to view or utilize this data within your procedural workflow.

Using the Mesh Island Node

Blender provides a built-in node specifically designed to analyze mesh connectivity.

  1. Open the Geometry Nodes workspace and assign a new Geometry Nodes modifier to your object.
  2. Press Shift + A, go to Mesh > Topology, and select the Mesh Island node.
  3. The node provides two main outputs:
    • Island Index: An integer representing the specific ID (starting from 0) of the island that a particular vertex, edge, or face belongs to.
    • Island Count: An integer representing the total number of separate mesh components in the geometry.

Reading and Visualizing the Count

Because the Island Count output is a field evaluated on the geometry's elements, every vertex or face outputs the exact same total island number. There are several ways to read or use this value:

1. View the Count in the Spreadsheet

To see the exact number in Blender’s UI:

  1. Add a Store Named Attribute node between the Group Input and Group Output.
  2. Set the data type to Integer and the domain to Point or Face.
  3. Name the attribute (e.g., TotalIslands).
  4. Connect the Island Count output of the Mesh Island node to the Value input of the Store Named Attribute node.
  5. Check the Spreadsheet editor; the TotalIslands column will display the total count.

2. Extract a Single Integer Value

If you need the island count as a single float or integer value (for logic, switch nodes, or math operations):

  1. Add an Attribute Statistic node (Shift + A > Geometry > Attribute Statistic).
  2. Set the Data Type to Integer and the Domain to Point.
  3. Connect your main geometry to the Geometry input of the Attribute Statistic node.
  4. Connect the Island Index output from the Mesh Island node to the Attribute input.
  5. The Max output from the Attribute Statistic node plus 1 (via a Math node set to Add) gives you the exact total island count as a single scalar value. Alternatively, pass the Island Count into the Attribute input and use the Mean or Max socket directly.

3. Display the Count as Text

To render or visually display the count on screen:

  1. Add a Value to String node and connect the Island Count output to it.
  2. Connect the string output to a String to Curves node to generate readable 3D text showing the island count dynamically.