How to create inset of a polygon?

Not just visually but as a new polygon. For example - I have yellow polygon and need to create green one:

Looking for solution in QGIS.


  • 4
    So, you're asking how to create a negative buffer? – Erik Jul 3 at 7:58
  • @Erik Yes. And thanks for improving my terminology. My term "inset" was taken from Inkscape. – Martin Ždila Jul 3 at 8:18
  • 2
    That wasn't about improving your terminology, that also was the solution ;-) – Erik Jul 3 at 8:27
  • I am erasing PostGIS and gdal from your question because only qgis-tag was used. Moreover, with PostGIS and gdal tags it can be closed because of too wide scope, i.e. software usage. – Taras Jul 3 at 8:53

Additionally I may suggest using a SAGA's Buffer namely "Fixed Distance Buffer". Look for it in Processing Toolbox.

There you will have a possibility to create an 'Inner Buffer' i.e. a Negative Buffer.



| improve this answer | |

My problem was with the terminology and the correct word for "inset" is "negative buffer".

Then in QGIS: Vector / Geoprocessing tools / Buffer... and enter negative distance.

| improve this answer | |


For QGIS, using the virtual layer with the SQLite script in the form window -:

SELECT DISTINCT MakePolygon(InteriorRingN(geometry,1)) geom FROM <table_name>

you'll get the result you need...

| improve this answer | |

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.