I have a shapefile with two polygons in it. I would like to be able to generate the intersecting area between the two polygons.

Please note, I have tried using the intersect tool, however this does not seem to work as the polygons are in the same shapefile.

How do I do this in QGIS? I am using QGIS 3.12.2.

  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.


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.

  • Interesting approach. However, when I Edit > Paste Features As > Temporary Scratch Layer, the new layer has no geometry and its attribute table is empty. The subsequent clip thus fails. I'm using 3.14.16.
    – Stu Smith
    Sep 22 '20 at 15:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.