Intersecting area between two polygons in the same shapefile in QGIS

Select one polygon and copy it, then Edit > Paste Features As > Temporary Scratch Layer.

Select the other polygon in the original layer and go to Vector > Geoprocessing Tools > Clip, use the original layer as the Input layer (and check Selected features only) and use the new scratch layer as the Overlay layer to produce the intersecting area.

  1. Make a temporary copy of the Input layer by right-clicking it and select Duplicate Layer

  2. Select one of the Duplicate layer's polygons

  3. Select the other polygon in the Input layer

  4. Clip, using the Input layer and Duplicate layer. Make sure to check on the Selected Features Only option for both layers. Voila! The output contains only the overlap area.

  5. Optionally, run the Vector > Data Management Tools > Create Spatial Index tool with the Output layer.


The method I describe above works well when only two polygons overlap, where the overlaps can be easily identified. However, if there are multiple pairs of overlaps, my method could get cumbersome. Additionally, if three or more polygons overlap, my method will not work. For those situations, the Saga Polygon Self-Intersection tool mentioned by Taras is correct.