I am missing auto-complete in QGIS. From other answers I understand that you need to snap around the hole and you can't just let QGIS fill the hole, is that correct? It's bothersome when it's a lot of verticies.

I am used to the function from ArcView 3.2 before after

  • 1
    You can enable tracing after enabling the advanced digitization toolbar - at least it seems like you're searching for this.
    – Erik
    Jun 21, 2021 at 8:50
  • 2
    Here the documentation for tracing, as mentioned by @Erik: docs.qgis.org/3.16/en/docs/user_manual/working_with_vector/…
    – Babel
    Jun 21, 2021 at 9:01
  • Enable snapping and in the snapping options turn on topological editing. (Snapping is on, and topological editing are on when they are grayed, which may seem counterintuitive because in other contexts graying typically means the option is not available.) It should work like the auto complete tool in ArcGIS.
    – John
    Jun 21, 2021 at 13:46

2 Answers 2


Since QGIS 3.20, you can use the newly introduced Streaming digitizing mode. In combination with tracing (as mentioned in the comment by @Erik), this allows for a very neat and easy way to create polygons covering the holes, without clicking for vertices.

During digitizing, simply click R to toggle from normal to streaming digitizing mode. Than just draw freehand (move the mouse, without clicking) around the holes. Only once right-click to finish your polygon.

If you cover the whole extent of your polygons like this, all holes will be covered in one step. You will get one multipart-polygon that fills exactly all the holes. To get single-part polygons, select it, run Menu Vector / Geometry Tools / Multipart to singleparts and check the box next to Selected features only.

Drawing freehand polygons with streaming digitizin mode activated (1) and tracing activated (2). In red you see the mouse movement - this will create the polygon from which overlaps with the existing polygons will be extracted - you will only getg new polygons where the holes were:

enter image description here

Result: polygon fill color is set to transparent, so you see that there is no overlap (only at the upper left for demonstration purpose, created in the initial polygons):

enter image description here


A solution for many holes to fill at once:

  1. Draw a new polygon covering all holes completely. Let's call this layer fill.

  2. Run Menu Vector / Geoprocessing Tools / Difference, set fill as Input layer and the original polygons as Overlay layer.

  3. Run menu Menu Vector / Geometry Tools / Multipart to singleparts.

  4. Delete the parts that fall outside the holes.

Screenshot 1, original polygons in blue, fill polygon hashed in red: enter image description here

Screenshot 2, showing the result of step 3, hashed in orange. The part outside the holes is selected (yellow) and can be deleted. You remain with the polyons that fill the holes: enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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